diff --git a/.circleci/config.yml b/.circleci/config.yml
index f88cbea571..bd68b8b4ff 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,9 +3,9 @@
# Note: YAML anchors allow an object to be re-used, reducing duplication.
# The ampersand declares an alias for an object, then later the `<<: *name`
# syntax dereferences it.
-# See http://blog.daemonl.com/2016/02/yaml.html
+# See https://blog.daemonl.com/2016/02/yaml.html
# To validate changes, use an online parser, eg.
-# http://yaml-online-parser.appspot.com/
+# https://yaml-online-parser.appspot.com/
# CircleCI configuration version
# Version 2.1 allows for extra config reuse features
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 30c3aca137..37fbe27875 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,5 +1,5 @@
{
- // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
+ // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42eeb27d5a..5681612248 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5313,7 +5313,7 @@ Note: 4.1.0-beta.0 release also contains all the changes present in the 4.0.1 re
### BREAKING CHANGES
-From 4.0.0 @angular/core uses a [`WeakMap`](https://github.com/angular/angular/commit/52b21275f4c2c26c46627f5648b41a33bb5c8283), a polyfill needs to be included for [browsers that do not support it natively](http://kangax.github.io/compat-table/es6/#test-WeakMap).
+From 4.0.0 @angular/core uses a [`WeakMap`](https://github.com/angular/angular/commit/52b21275f4c2c26c46627f5648b41a33bb5c8283), a polyfill needs to be included for [browsers that do not support it natively](https://kangax.github.io/compat-table/es6/#test-WeakMap).
# [4.0.0-rc.6](https://github.com/angular/angular/compare/4.0.0-rc.5...4.0.0-rc.6) (2017-03-23)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 61adf35b63..799fd7ac12 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -379,13 +379,13 @@ The following documents can help you sort out issues with GitHub accounts and mu
[angular-group]: https://groups.google.com/forum/#!forum/angular
[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
-[corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html
+[corporate-cla]: https://cla.developers.google.com/about/google-corporate
[dev-doc]: https://github.com/angular/angular/blob/master/docs/DEVELOPER.md
[github]: https://github.com/angular/angular
[discord]: https://discord.gg/angular
-[individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html
+[individual-cla]: https://cla.developers.google.com/about/google-individual
[js-style-guide]: https://google.github.io/styleguide/jsguide.html
-[jsfiddle]: http://jsfiddle.net
-[plunker]: http://plnkr.co/edit
-[runnable]: http://runnable.com
-[stackoverflow]: http://stackoverflow.com/questions/tagged/angular
+[jsfiddle]: https://jsfiddle.net/
+[plunker]: https://plnkr.co/edit
+[runnable]: https://runnable.com/
+[stackoverflow]: https://stackoverflow.com/questions/tagged/angular
diff --git a/LICENSE b/LICENSE
index 27bcfe6963..59e7cfddfb 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2010-2020 Google LLC. http://angular.io/license
+Copyright (c) 2010-2020 Google LLC. https://angular.io/license
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/aio/.gitignore b/aio/.gitignore
index 2eddfb3d9a..2686f9281a 100644
--- a/aio/.gitignore
+++ b/aio/.gitignore
@@ -1,4 +1,4 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
+# See https://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
diff --git a/aio/aio-builds-setup/docs/vm-setup--update-docker-container.md b/aio/aio-builds-setup/docs/vm-setup--update-docker-container.md
index e62dbb354f..e30758207a 100644
--- a/aio/aio-builds-setup/docs/vm-setup--update-docker-container.md
+++ b/aio/aio-builds-setup/docs/vm-setup--update-docker-container.md
@@ -59,4 +59,4 @@ log its output to `update-preview-server.log` (assuming the user has the necessa
Keep in mind that cron jobs run in non-interactive, non-login shells. This means that the execution
context might be different compared to when running the same commands from an interactive, login
shell. For example, `.bashrc` files are normally _not_ sourced automatically in cron jobs. See
-[here](http://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html) for more info.
+[here](https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html) for more info.
diff --git a/aio/content/examples/dependency-injection-in-action/src/app/minimal-logger.service.ts b/aio/content/examples/dependency-injection-in-action/src/app/minimal-logger.service.ts
index d87fa594d1..001dfda86e 100644
--- a/aio/content/examples/dependency-injection-in-action/src/app/minimal-logger.service.ts
+++ b/aio/content/examples/dependency-injection-in-action/src/app/minimal-logger.service.ts
@@ -18,5 +18,5 @@ export abstract class MinimalLogger {
// #enddocregion minimal-logger-transpiled
*/
-// See http://stackoverflow.com/questions/43154832/unexpected-token-export-in-angular-app-with-systemjs-and-typescript/
+// See https://stackoverflow.com/questions/43154832/unexpected-token-export-in-angular-app-with-systemjs-and-typescript/
export const _ = 0;
diff --git a/aio/content/examples/property-binding/src/app/app.component.html b/aio/content/examples/property-binding/src/app/app.component.html
index 4e88175854..f9b22a6765 100644
--- a/aio/content/examples/property-binding/src/app/app.component.html
+++ b/aio/content/examples/property-binding/src/app/app.component.html
@@ -77,7 +77,7 @@
"" is the property bound evil title.
diff --git a/aio/content/examples/template-syntax/src/app/app.component.html b/aio/content/examples/template-syntax/src/app/app.component.html
index ca61c00896..9098fbc26e 100644
--- a/aio/content/examples/template-syntax/src/app/app.component.html
+++ b/aio/content/examples/template-syntax/src/app/app.component.html
@@ -131,8 +131,8 @@
New Mental Model
-
-
+
+
Mental Model
@@ -273,7 +273,7 @@ button
"{{evilTitle}}" is the interpolated evil title.
"" is the property bound evil title.
diff --git a/aio/content/examples/template-syntax/src/app/app.component.ts b/aio/content/examples/template-syntax/src/app/app.component.ts
index d39e240895..ab20277906 100644
--- a/aio/content/examples/template-syntax/src/app/app.component.ts
+++ b/aio/content/examples/template-syntax/src/app/app.component.ts
@@ -95,11 +95,11 @@ export class AppComponent implements AfterViewInit, OnInit {
heroIdIncrement = 1;
- // heroImageUrl = 'http://www.wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
- // Public Domain terms of use: http://www.wpclipart.com/terms.html
+ // heroImageUrl = 'https://wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
+ // Public Domain terms of use: https://wpclipart.com/terms.html
heroImageUrl = 'assets/images/hero.png';
- // villainImageUrl = 'http://www.clker.com/cliparts/u/s/y/L/x/9/villain-man-hi.png'
- // Public Domain terms of use http://www.clker.com/disclaimer.html
+ // villainImageUrl = 'https://www.clker.com/cliparts/u/s/y/L/x/9/villain-man-hi.png'
+ // Public Domain terms of use https://www.clker.com/disclaimer.html
villainImageUrl = 'assets/images/villain.png';
iconUrl = 'assets/images/ng-logo.png';
diff --git a/aio/content/examples/template-syntax/src/app/hero-detail.component.ts b/aio/content/examples/template-syntax/src/app/hero-detail.component.ts
index a4e28a47a2..4764274491 100644
--- a/aio/content/examples/template-syntax/src/app/hero-detail.component.ts
+++ b/aio/content/examples/template-syntax/src/app/hero-detail.component.ts
@@ -30,8 +30,8 @@ import { Hero } from './hero';
// #enddocregion input-output-2
export class HeroDetailComponent {
hero: Hero = new Hero(-1, '', 'Zzzzzzzz'); // default sleeping hero
- // heroImageUrl = 'http://www.wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
- // Public Domain terms of use: http://www.wpclipart.com/terms.html
+ // heroImageUrl = 'https://wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
+ // Public Domain terms of use: https://wpclipart.com/terms.html
heroImageUrl = 'assets/images/hero.png';
lineThrough = '';
@Input() prefix = '';
diff --git a/aio/content/examples/template-syntax/src/app/hero.ts b/aio/content/examples/template-syntax/src/app/hero.ts
index 612c1035cb..add9b335bd 100644
--- a/aio/content/examples/template-syntax/src/app/hero.ts
+++ b/aio/content/examples/template-syntax/src/app/hero.ts
@@ -7,10 +7,10 @@ export class Hero {
'Hercules',
'happy',
new Date(1970, 1, 25),
- 'http://www.imdb.com/title/tt0065832/',
+ 'https://www.imdb.com/title/tt0065832/',
325
),
- new Hero(1, 'Dr Nice', 'happy'),
+ new Hero(1, 'Dr Nice', 'happy'),
new Hero(2, 'Narco', 'sad' ),
new Hero(3, 'Windstorm', 'confused' ),
new Hero(4, 'Magneta')
diff --git a/aio/content/guide/angular-compiler-options.md b/aio/content/guide/angular-compiler-options.md
index fc4f964f54..c2878a70e2 100644
--- a/aio/content/guide/angular-compiler-options.md
+++ b/aio/content/guide/angular-compiler-options.md
@@ -64,7 +64,7 @@ Modifies how Angular-specific annotations are emitted to improve tree-shaking. N
### `annotateForClosureCompiler`
-When `true`, use [Tsickle](https://github.com/angular/tsickle) to annotate the emitted JavaScript with [JSDoc](http://usejsdoc.org/) comments needed by the
+When `true`, use [Tsickle](https://github.com/angular/tsickle) to annotate the emitted JavaScript with [JSDoc](https://jsdoc.app/) comments needed by the
[Closure Compiler](https://github.com/google/closure-compiler). Default is `false`.
### `disableExpressionLowering`
diff --git a/aio/content/guide/animations.md b/aio/content/guide/animations.md
index be57cf40d4..628851fd18 100644
--- a/aio/content/guide/animations.md
+++ b/aio/content/guide/animations.md
@@ -118,7 +118,7 @@ The second argument, `delay`, has the same syntax as `duration`. For example:
* Wait for 100ms and then run for 200ms: `'0.2s 100ms'`
-The third argument, `easing`, controls how the animation [accelerates and decelerates](http://easings.net/) during its runtime. For example, `ease-in` causes the animation to begin slowly, and to pick up speed as it progresses.
+The third argument, `easing`, controls how the animation [accelerates and decelerates](https://easings.net/) during its runtime. For example, `ease-in` causes the animation to begin slowly, and to pick up speed as it progresses.
* Wait for 100ms, run for 200ms. Use a deceleration curve to start out fast and slowly decelerate to a resting point: `'0.2s 100ms ease-out'`
@@ -327,5 +327,5 @@ You may also be interested in the following:
-Check out this full animation [demo](http://animationsftw.in/#/) with accompanying [presentation](https://www.youtube.com/watch?v=JhNo3Wvj6UQ&feature=youtu.be&t=2h47m53s), shown at the AngularConnect conference in November 2017.
+Check out this [presentation](https://www.youtube.com/watch?v=rnTK9meY5us), shown at the AngularConnect conference in November 2017, and the accompanying [source code](https://github.com/matsko/animationsftw.in).
diff --git a/aio/content/guide/architecture-components.md b/aio/content/guide/architecture-components.md
index df3de2d587..cbe9221411 100644
--- a/aio/content/guide/architecture-components.md
+++ b/aio/content/guide/architecture-components.md
@@ -12,7 +12,7 @@ The class interacts with the view through an API of properties and methods.
For example, `HeroListComponent` has a `heroes` property that holds an array of heroes.
Its `selectHero()` method sets a `selectedHero` property when the user clicks to choose a hero from that list.
-The component acquires the heroes from a service, which is a TypeScript [parameter property](http://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties) on the constructor.
+The component acquires the heroes from a service, which is a TypeScript [parameter property](https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties) on the constructor.
The service is provided to the component through the dependency injection system.
diff --git a/aio/content/guide/architecture-modules.md b/aio/content/guide/architecture-modules.md
index 0c0cab7d5d..5d417efa16 100644
--- a/aio/content/guide/architecture-modules.md
+++ b/aio/content/guide/architecture-modules.md
@@ -70,7 +70,7 @@ Other JavaScript modules use *import statements* to access public objects from o
## Angular libraries
diff --git a/aio/content/guide/browser-support.md b/aio/content/guide/browser-support.md
index 58bfcef471..a8d061525d 100644
--- a/aio/content/guide/browser-support.md
+++ b/aio/content/guide/browser-support.md
@@ -89,8 +89,8 @@ Angular supports most recent browsers. This includes the following specific vers
Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request,
-using
SauceLabs and
-
Browserstack.
+using [Sauce Labs](https://saucelabs.com/) and
+[BrowserStack](https://www.browserstack.com/).
@@ -130,7 +130,7 @@ This file incorporates the mandatory and many of the optional polyfills as JavaS
* If you need an _optional_ polyfill, you must install its npm package, then uncomment or create the corresponding import statement in the `src/polyfills.ts` configuration file.
-For example, if you need the optional [web animations polyfill](http://caniuse.com/#feat=web-animation), you could install it with `npm`, using the following command (or the `yarn` equivalent):
+For example, if you need the optional [web animations polyfill](https://caniuse.com/web-animation), you could install it with `npm`, using the following command (or the `yarn` equivalent):
# install the optional web animations polyfill
@@ -143,7 +143,7 @@ For many polyfills, you can simply un-comment the corresponding `import` stateme
/**
* Required to support Web Animations `@angular/platform-browser/animations`.
- * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
+ * Needed for: All but Chrome, Firefox and Opera. https://caniuse.com/web-animation
**/
import 'web-animations-js'; // Run `npm install --save web-animations-js`.
@@ -393,7 +393,7 @@ The following polyfills are used to test the framework itself. They are a good s
\* Figures are for minified and gzipped code,
-computed with the closure compiler.
+computed with the [closure compiler](https://closure-compiler.appspot.com/home).
{@a non-cli}
diff --git a/aio/content/guide/component-styles.md b/aio/content/guide/component-styles.md
index dc7b1b9f77..a81407b758 100644
--- a/aio/content/guide/component-styles.md
+++ b/aio/content/guide/component-styles.md
@@ -242,7 +242,7 @@ See the [CLI wiki](https://github.com/angular/angular-cli/wiki/stories-global-st
### Non-CSS style files
If you're building with the CLI,
-you can write style files in [sass](http://sass-lang.com/), [less](http://lesscss.org/), or [stylus](http://stylus-lang.com/) and specify those files in the `@Component.styleUrls` metadata with the appropriate extensions (`.scss`, `.less`, `.styl`) as in the following example:
+you can write style files in [sass](https://sass-lang.com/), [less](http://lesscss.org/), or [stylus](https://stylus-lang.com/) and specify those files in the `@Component.styleUrls` metadata with the appropriate extensions (`.scss`, `.less`, `.styl`) as in the following example:
@Component({
diff --git a/aio/content/guide/dependency-injection.md b/aio/content/guide/dependency-injection.md
index 0d21bb58be..38fbfc6afb 100644
--- a/aio/content/guide/dependency-injection.md
+++ b/aio/content/guide/dependency-injection.md
@@ -59,7 +59,7 @@ Having multiple classes in the same file can be confusing. We generally recommen
If you do combine a component and service in the same file,
it is important to define the service first, and then the component. If you define the component before the service, you get a run-time null reference error.
-It is possible to define the component first with the help of the `forwardRef()` method as explained in this [blog post](http://blog.thoughtram.io/angular/2015/09/03/forward-references-in-angular-2.html).
+It is possible to define the component first with the help of the `forwardRef()` method as explained in this [blog post](https://blog.thoughtram.io/angular/2015/09/03/forward-references-in-angular-2.html).
You can also use forward references to break circular dependencies.
See an example in the [DI Cookbook](guide/dependency-injection-in-action#forwardref).
diff --git a/aio/content/guide/deployment.md b/aio/content/guide/deployment.md
index f3e1432723..da93cf2faa 100644
--- a/aio/content/guide/deployment.md
+++ b/aio/content/guide/deployment.md
@@ -180,7 +180,7 @@ The following sections describe configurations for some of the most popular serv
The list is by no means exhaustive, but should provide you with a good starting point.
* [Apache](https://httpd.apache.org/): add a
-[rewrite rule](http://httpd.apache.org/docs/current/mod/mod_rewrite.html) to the `.htaccess` file as shown
+[rewrite rule](https://httpd.apache.org/docs/current/mod/mod_rewrite.html) to the `.htaccess` file as shown
(https://ngmilk.rocks/2015/03/09/angularjs-html5-mode-or-pretty-urls-on-apache-using-htaccess/):
@@ -194,7 +194,7 @@ The list is by no means exhaustive, but should provide you with a good starting
-* [Nginx](http://nginx.org/): use `try_files`, as described in
+* [Nginx](https://nginx.org/): use `try_files`, as described in
[Front Controller Pattern Web Apps](https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#front-controller-pattern-web-apps),
modified to serve `index.html`:
@@ -222,7 +222,7 @@ modified to serve `index.html`:
* [IIS](https://www.iis.net/): add a rewrite rule to `web.config`, similar to the one shown
-[here](http://stackoverflow.com/a/26152011/2116927):
+[here](https://stackoverflow.com/a/26152011):
<system.webServer>
@@ -276,7 +276,7 @@ Browsers forbid such requests unless the server permits them explicitly.
There isn't anything the client application can do about these errors.
The server must be configured to accept the application's requests.
Read about how to enable CORS for specific servers at
-enable-cors.org.
+enable-cors.org.
diff --git a/aio/content/guide/file-structure.md b/aio/content/guide/file-structure.md
index 35c7a446a5..9c866218af 100644
--- a/aio/content/guide/file-structure.md
+++ b/aio/content/guide/file-structure.md
@@ -35,7 +35,7 @@ The top level of the workspace contains workspace-wide configuration files, conf
| `.editorconfig` | Configuration for code editors. See [EditorConfig](https://editorconfig.org/). |
| `.gitignore` | Specifies intentionally untracked files that [Git](https://git-scm.com/) should ignore. |
| `README.md` | Introductory documentation for the root app. |
-| `angular.json` | CLI configuration defaults for all projects in the workspace, including configuration options for build, serve, and test tools that the CLI uses, such as [TSLint](https://palantir.github.io/tslint/), [Karma](https://karma-runner.github.io/), and [Protractor](http://www.protractortest.org/). For details, see [Angular Workspace Configuration](guide/workspace-config). |
+| `angular.json` | CLI configuration defaults for all projects in the workspace, including configuration options for build, serve, and test tools that the CLI uses, such as [TSLint](https://palantir.github.io/tslint/), [Karma](https://karma-runner.github.io/), and [Protractor](https://www.protractortest.org/). For details, see [Angular Workspace Configuration](guide/workspace-config). |
| `package.json` | Configures [npm package dependencies](guide/npm-packages) that are available to all projects in the workspace. See [npm documentation](https://docs.npmjs.com/files/package.json) for the specific format and contents of this file. |
| `package-lock.json` | Provides version information for all packages installed into `node_modules` by the npm client. See [npm documentation](https://docs.npmjs.com/files/package-lock.json) for details. If you use the yarn client, this file will be [yarn.lock](https://yarnpkg.com/lang/en/docs/yarn-lock/) instead. |
| `src/` | Source files for the root-level application project. |
diff --git a/aio/content/guide/forms.md b/aio/content/guide/forms.md
index 2ce25ce295..3f1a1da9c3 100644
--- a/aio/content/guide/forms.md
+++ b/aio/content/guide/forms.md
@@ -137,7 +137,7 @@ template using the `` tag.
The **Submit** button has some classes on it for styling.
At this point, the form layout is all plain HTML5, with no bindings or directives.
-6. The sample form uses some style classes from [Twitter Bootstrap](http://getbootstrap.com/css/): `container`, `form-group`, `form-control`, and `btn`.
+6. The sample form uses some style classes from [Twitter Bootstrap](https://getbootstrap.com/css/): `container`, `form-group`, `form-control`, and `btn`.
To use these styles, the app's style sheet imports the library.
diff --git a/aio/content/guide/glossary.md b/aio/content/guide/glossary.md
index 1b02daac23..e5f72ac6bc 100644
--- a/aio/content/guide/glossary.md
+++ b/aio/content/guide/glossary.md
@@ -643,7 +643,7 @@ A producer of multiple values, which it pushes to [subscribers](#subscriber). Us
Observables can deliver single or multiple values of any type to subscribers, either synchronously (as a function delivers a value to its caller) or on a schedule. A subscriber receives notification of new values as they are produced and notification of either normal completion or error completion.
-Angular uses a third-party library called [Reactive Extensions (RxJS)](http://reactivex.io/rxjs/).
+Angular uses a third-party library called [Reactive Extensions (RxJS)](https://rxjs.dev/).
To learn more, see [Observables](guide/observables).
@@ -987,7 +987,7 @@ code completion, refactoring, inline documentation, and intelligent search).
Many code editors and IDEs support TypeScript either natively or with plug-ins.
TypeScript is the preferred language for Angular development.
-Read more about TypeScript at [typescriptlang.org](http://www.typescriptlang.org/).
+Read more about TypeScript at [typescriptlang.org](https://www.typescriptlang.org/).
## TypeScript configuration file
diff --git a/aio/content/guide/i18n.md b/aio/content/guide/i18n.md
index bd313f1145..95aa0e9553 100644
--- a/aio/content/guide/i18n.md
+++ b/aio/content/guide/i18n.md
@@ -97,7 +97,7 @@ Refer to a locale using the Unicode *locale identifier* (ID), which specifies th
* For a list of language codes, see [ISO 639-2](https://www.loc.gov/standards/iso639-2/ "ISO 639-2 Registration Authority").
* IDs conform to the Unicode Common Locale Data Repository (CLDR).
For more information about Unicode locale identifiers, see the [CLDR core specification](http://cldr.unicode.org/core-spec#Unicode_Language_and_Locale_Identifiers "CLDR - Unicode Common Locale Data Repository").
-* CLDR and Angular base their identifiers on [BCP47 tags](http://www.rfc-editor.org/rfc/bcp/bcp47.txt "BCP47 Tags for Identifying Languages").
+* CLDR and Angular base their identifiers on [BCP47 tags](https://tools.ietf.org/html/bcp47 "BCP47 Tags for Identifying Languages").
diff --git a/aio/content/guide/ngmodule-faq.md b/aio/content/guide/ngmodule-faq.md
index d8ccf16490..d1fed5ba9b 100644
--- a/aio/content/guide/ngmodule-faq.md
+++ b/aio/content/guide/ngmodule-faq.md
@@ -599,7 +599,7 @@ For more information, see [Feature Modules](guide/feature-modules) and
In an Angular app, NgModules and JavaScript modules work together.
In modern JavaScript, every file is a module
-(see the [Modules](http://exploringjs.com/es6/ch_modules.html) page of the Exploring ES6 website).
+(see the [Modules](https://exploringjs.com/es6/ch_modules.html) page of the Exploring ES6 website).
Within each file you write an `export` statement to make parts of the module public.
An Angular NgModule is a class with the `@NgModule` decorator—JavaScript modules
diff --git a/aio/content/guide/ngmodule-vs-jsmodule.md b/aio/content/guide/ngmodule-vs-jsmodule.md
index 4d648e954f..acf5c72a73 100644
--- a/aio/content/guide/ngmodule-vs-jsmodule.md
+++ b/aio/content/guide/ngmodule-vs-jsmodule.md
@@ -11,7 +11,7 @@ JavaScript modules let you spread your work across multiple files.
To learn more about JavaScript modules, see [ES6 In Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/).
-For the module specification, see the [6th Edition of the ECMAScript standard](http://www.ecma-international.org/ecma-262/6.0/#sec-modules).
+For the module specification, see the [6th Edition of the ECMAScript standard](https://www.ecma-international.org/ecma-262/6.0/#sec-modules).
diff --git a/aio/content/guide/ngmodules.md b/aio/content/guide/ngmodules.md
index c51846ffd1..a577f4db9c 100644
--- a/aio/content/guide/ngmodules.md
+++ b/aio/content/guide/ngmodules.md
@@ -19,7 +19,7 @@ Modules are a great way to organize an application and extend it with capabiliti
Angular libraries are NgModules, such as `FormsModule`, `HttpClientModule`, and `RouterModule`.
Many third-party libraries are available as NgModules such as
Material Design,
-Ionic, and
+Ionic, and
AngularFire2.
NgModules consolidate components, directives, and pipes into
diff --git a/aio/content/guide/npm-packages.md b/aio/content/guide/npm-packages.md
index 0776381463..30956f268d 100644
--- a/aio/content/guide/npm-packages.md
+++ b/aio/content/guide/npm-packages.md
@@ -58,7 +58,7 @@ To add a new dependency, use the [`ng add`](cli/add) command.
### Angular packages
The following Angular packages are included as dependencies in the default `package.json` file for a new Angular workspace.
-For a complete list of Angular packages, see the [API reference](http://angular.io/api?type=package).
+For a complete list of Angular packages, see the [API reference](https://angular.io/api?type=package).
Package name | Description
---------------------------------------- | --------------------------------------------------
diff --git a/aio/content/guide/router-tutorial-toh.md b/aio/content/guide/router-tutorial-toh.md
index 110762effa..09a2a9d0e0 100644
--- a/aio/content/guide/router-tutorial-toh.md
+++ b/aio/content/guide/router-tutorial-toh.md
@@ -311,7 +311,7 @@ In this app, the router should select the route to the `HeroListComponent` only
Remember to restore the redirect to `pathMatch = 'full'`.
Learn more in Victor Savkin's
- [post on redirects](http://vsavkin.tumblr.com/post/146722301646/angular-router-empty-paths-componentless-routes).
+ [post on redirects](https://vsavkin.tumblr.com/post/146722301646/angular-router-empty-paths-componentless-routes).
@@ -1131,7 +1131,7 @@ This is matrix URL notation.
-Matrix URL notation is an idea first introduced in a [1996 proposal](http://www.w3.org/DesignIssues/MatrixURIs.html) by the founder of the web, Tim Berners-Lee.
+Matrix URL notation is an idea first introduced in a [1996 proposal](https://www.w3.org/DesignIssues/MatrixURIs.html) by the founder of the web, Tim Berners-Lee.
Although matrix notation never made it into the HTML standard, it is legal and it became popular among browser routing systems as a way to isolate parameters belonging to parent and child routes.
As such, the Router provides support for the matrix notation across browsers.
diff --git a/aio/content/guide/schematics-authoring.md b/aio/content/guide/schematics-authoring.md
index 8b1d9187b0..a7cd35b2ca 100644
--- a/aio/content/guide/schematics-authoring.md
+++ b/aio/content/guide/schematics-authoring.md
@@ -207,8 +207,8 @@ By using the long form, the schematic can provide more explicit formatting of th
{ "value": "css", "label": "CSS" },
{ "value": "scss", "label": "SCSS [ https://sass-lang.com/documentation/syntax#scss ]" },
{ "value": "sass", "label": "Sass [ https://sass-lang.com/documentation/syntax#the-indented-syntax ]" },
- { "value": "less", "label": "Less [ http://lesscss.org ]" },
- { "value": "styl", "label": "Stylus [ http://stylus-lang.com ]" }
+ { "value": "less", "label": "Less [ http://lesscss.org/ ]" },
+ { "value": "styl", "label": "Stylus [ https://stylus-lang.com/ ]" }
]
},
},
diff --git a/aio/content/guide/security.md b/aio/content/guide/security.md
index 3d4101f9ae..1d7127c5c1 100644
--- a/aio/content/guide/security.md
+++ b/aio/content/guide/security.md
@@ -141,9 +141,9 @@ as [described below](#bypass-security-apis).
Content Security Policy (CSP) is a defense-in-depth
technique to prevent XSS. To enable CSP, configure your web server to return an appropriate
-`Content-Security-Policy` HTTP header. Read more about content security policy at
-[An Introduction to Content Security Policy](http://www.html5rocks.com/en/tutorials/security/content-security-policy/)
-on the HTML5Rocks website.
+`Content-Security-Policy` HTTP header. Read more about content security policy at the
+[Web Fundamentals guide](https://developers.google.com/web/fundamentals/security/csp) on the
+Google Developers website.
{@a offline-template-compiler}
diff --git a/aio/content/guide/service-worker-intro.md b/aio/content/guide/service-worker-intro.md
index 5d328c33b3..289830b0ce 100644
--- a/aio/content/guide/service-worker-intro.md
+++ b/aio/content/guide/service-worker-intro.md
@@ -72,7 +72,7 @@ The rest of the articles in this section specifically address the Angular implem
For more information about service workers in general, see [Service Workers: an Introduction](https://developers.google.com/web/fundamentals/primers/service-workers/).
For more information about browser support, see the [browser support](https://developers.google.com/web/fundamentals/primers/service-workers/#browser_support) section of [Service Workers: an Introduction](https://developers.google.com/web/fundamentals/primers/service-workers/), Jake Archibald's [Is Serviceworker ready?](https://jakearchibald.github.io/isserviceworkerready/), and
-[Can I Use](http://caniuse.com/#feat=serviceworkers).
+[Can I Use](https://caniuse.com/serviceworkers).
For additional recommendations and examples, see:
diff --git a/aio/content/guide/setup-local.md b/aio/content/guide/setup-local.md
index da0131b392..3fcc8541ab 100644
--- a/aio/content/guide/setup-local.md
+++ b/aio/content/guide/setup-local.md
@@ -39,7 +39,7 @@ To install Angular on your local system, you need the following:
- For more information on installing Node.js, see [nodejs.org](http://nodejs.org "Nodejs.org").
+ For more information on installing Node.js, see [nodejs.org](https://nodejs.org "Nodejs.org").
If you are unsure what version of Node.js runs on your system, run `node -v` in a terminal window.
{@a npm}
diff --git a/aio/content/guide/styleguide.md b/aio/content/guide/styleguide.md
index 3fd658f13d..9064cfa7a7 100644
--- a/aio/content/guide/styleguide.md
+++ b/aio/content/guide/styleguide.md
@@ -1211,7 +1211,7 @@ The `name` string cannot use hyphens ("dash-case" or "kebab-case").
-**Why?** Provides pattern matching for [karma](http://karma-runner.github.io/) or other test runners.
+**Why?** Provides pattern matching for [karma](https://karma-runner.github.io/) or other test runners.
@@ -3926,9 +3926,9 @@ Useful tools and tips for Angular.
**Consider** using [snippets](https://atom.io/packages/angular-2-typescript-snippets) for [Atom](https://atom.io/) that follow these styles and guidelines.
-**Consider** using [snippets](https://github.com/orizens/sublime-angular2-snippets) for [Sublime Text](http://www.sublimetext.com/) that follow these styles and guidelines.
+**Consider** using [snippets](https://github.com/orizens/sublime-angular2-snippets) for [Sublime Text](https://www.sublimetext.com/) that follow these styles and guidelines.
-**Consider** using [snippets](https://github.com/mhartington/vim-angular2-snippets) for [Vim](http://www.vim.org/) that follow these styles and guidelines.
+**Consider** using [snippets](https://github.com/mhartington/vim-angular2-snippets) for [Vim](https://www.vim.org/) that follow these styles and guidelines.
diff --git a/aio/content/guide/template-expression-operators.md b/aio/content/guide/template-expression-operators.md
index ef58d02d66..ca392601d5 100644
--- a/aio/content/guide/template-expression-operators.md
+++ b/aio/content/guide/template-expression-operators.md
@@ -100,12 +100,12 @@ It works perfectly with long property paths such as `a?.b?.c?.d`.
## The non-null assertion operator ( `!` )
-As of Typescript 2.0, you can enforce [strict null checking](http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html "Strict null checking in TypeScript") with the `--strictNullChecks` flag. TypeScript then ensures that no variable is unintentionally `null` or `undefined`.
+As of Typescript 2.0, you can enforce [strict null checking](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html "Strict null checking in TypeScript") with the `--strictNullChecks` flag. TypeScript then ensures that no variable is unintentionally `null` or `undefined`.
In this mode, typed variables disallow `null` and `undefined` by default. The type checker throws an error if you leave a variable unassigned or try to assign `null` or `undefined` to a variable whose type disallows `null` and `undefined`.
The type checker also throws an error if it can't determine whether a variable will be `null` or `undefined` at runtime. You tell the type checker not to throw an error by applying the postfix
-[non-null assertion operator, !](http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator "Non-null assertion operator").
+[non-null assertion operator, !](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator "Non-null assertion operator").
The Angular non-null assertion operator, `!`, serves the same purpose in
an Angular template. For example, you can assert that `item` properties are also defined.
@@ -127,7 +127,7 @@ The non-null assertion operator, `!`, is optional with the exception that you mu
Sometimes a binding expression triggers a type error during [AOT compilation](guide/aot-compiler) and it is not possible or difficult to fully specify the type.
To silence the error, you can use the `$any()` cast function to cast
-the expression to the [`any` type](http://www.typescriptlang.org/docs/handbook/basic-types.html#any) as in the following example:
+the expression to the [`any` type](https://www.typescriptlang.org/docs/handbook/basic-types.html#any) as in the following example:
diff --git a/aio/content/guide/testing-components-scenarios.md b/aio/content/guide/testing-components-scenarios.md
index 28e40876a8..848beca92a 100644
--- a/aio/content/guide/testing-components-scenarios.md
+++ b/aio/content/guide/testing-components-scenarios.md
@@ -686,7 +686,7 @@ with overlapping sequences of values and errors.
**RxJS marble testing** is a great way to test observable scenarios,
both simple and complex.
-You've likely seen the [marble diagrams](http://rxmarbles.com/)
+You've likely seen the [marble diagrams](https://rxmarbles.com/)
that illustrate how observables work.
Marble testing uses a similar marble language to
specify the observable streams and expectations in your tests.
diff --git a/aio/content/guide/typescript-configuration.md b/aio/content/guide/typescript-configuration.md
index 8a0baf7f4c..fea069a18d 100644
--- a/aio/content/guide/typescript-configuration.md
+++ b/aio/content/guide/typescript-configuration.md
@@ -31,7 +31,7 @@ For more information, see the [Configuration inheritance with extends](https://w
-For more information TypeScript configuration files, see the official [TypeScript wiki](http://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
+For more information TypeScript configuration files, see the official [TypeScript wiki](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
For details about configuration inheritance, see the [Configuration inheritance with extends](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#configuration-inheritance-with-extends) section.
@@ -143,7 +143,7 @@ Fortunately, either their authors or community contributors have created separat
published them in well-known locations.
You can install these typings via `npm` using the
-[`@types/*` scoped package](http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html)
+[`@types/*` scoped package](https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html)
and Typescript, starting at 2.0, automatically recognizes them.
For instance, to install typings for `jasmine` you run `npm install @types/jasmine --save-dev`.
diff --git a/aio/content/guide/upgrade.md b/aio/content/guide/upgrade.md
index 3293f4eb12..64801c086b 100644
--- a/aio/content/guide/upgrade.md
+++ b/aio/content/guide/upgrade.md
@@ -80,7 +80,7 @@ doesn't work that well if you have to load all those files to the HTML page with
order. That's why it's a good idea to start using a *module loader*.
Using a module loader such as [SystemJS](https://github.com/systemjs/systemjs),
-[Webpack](http://webpack.github.io/), or [Browserify](http://browserify.org/)
+[Webpack](https://webpack.github.io/), or [Browserify](http://browserify.org/)
allows us to use the built-in module systems of TypeScript or ES2015.
You can use the `import` and `export` features that explicitly specify what code can
and will be shared between different parts of the application. For ES5 applications
diff --git a/aio/content/guide/view-encapsulation.md b/aio/content/guide/view-encapsulation.md
index b0e95d4eca..1f86e96054 100644
--- a/aio/content/guide/view-encapsulation.md
+++ b/aio/content/guide/view-encapsulation.md
@@ -27,8 +27,8 @@ To set the components encapsulation mode, use the `encapsulation` property in th
`ShadowDom` view encapsulation only works on browsers that have native support
-for shadow DOM (see [Shadow DOM v1](https://caniuse.com/#feat=shadowdomv1) on the
-[Can I use](http://caniuse.com) site). The support is still limited,
+for shadow DOM (see [Shadow DOM v1](https://caniuse.com/shadowdomv1) on the
+[Can I use](https://caniuse.com/) site). The support is still limited,
which is why `Emulated` view encapsulation is the default mode and recommended
in most cases.
diff --git a/aio/content/guide/visual-studio-2015.md b/aio/content/guide/visual-studio-2015.md
index 97020ac685..cf00369d79 100644
--- a/aio/content/guide/visual-studio-2015.md
+++ b/aio/content/guide/visual-studio-2015.md
@@ -30,7 +30,7 @@ Visual Studio 2015, follow these steps:
If you prefer a `File | New Project` experience and are using **ASP.NET Core**,
then consider the _experimental_
-ASP.NET Core + Angular template for Visual Studio 2015.
+ASP.NET Core + Angular template for Visual Studio 2015.
Note that the resulting code does not map to the docs. Adjust accordingly.
diff --git a/aio/content/guide/workspace-config.md b/aio/content/guide/workspace-config.md
index 3b95d6656f..d82bbf7923 100644
--- a/aio/content/guide/workspace-config.md
+++ b/aio/content/guide/workspace-config.md
@@ -196,7 +196,7 @@ Some additional options can only be set through the configuration file, either b
| OPTIONS PROPERTIES | DESCRIPTION |
| :------------------------- | :---------------------------- |
| `assets` | An object containing paths to static assets to add to the global context of the project. The default paths point to the project's icon file and its `assets` folder. See more in [Assets configuration](#asset-config) below. |
-| `styles` | An array of style files to add to the global context of the project. Angular CLI supports CSS imports and all major CSS preprocessors: [sass/scss](http://sass-lang.com/), [less](http://lesscss.org/), and [stylus](http://stylus-lang.com/). See more in [Styles and scripts configuration](#style-script-config) below. |
+| `styles` | An array of style files to add to the global context of the project. Angular CLI supports CSS imports and all major CSS preprocessors: [sass/scss](https://sass-lang.com/), [less](http://lesscss.org/), and [stylus](https://stylus-lang.com/). See more in [Styles and scripts configuration](#style-script-config) below. |
| `stylePreprocessorOptions` | An object containing option-value pairs to pass to style preprocessors. See more in [Styles and scripts configuration](#style-script-config) below. |
| `scripts` | An object containing JavaScript script files to add to the global context of the project. The scripts are loaded exactly as if you had added them in a `