parent
1a26f6da6e
commit
3e1e5a15ba
|
@ -3,9 +3,9 @@
|
||||||
# Note: YAML anchors allow an object to be re-used, reducing duplication.
|
# Note: YAML anchors allow an object to be re-used, reducing duplication.
|
||||||
# The ampersand declares an alias for an object, then later the `<<: *name`
|
# The ampersand declares an alias for an object, then later the `<<: *name`
|
||||||
# syntax dereferences it.
|
# 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.
|
# To validate changes, use an online parser, eg.
|
||||||
# http://yaml-online-parser.appspot.com/
|
# https://yaml-online-parser.appspot.com/
|
||||||
|
|
||||||
# CircleCI configuration version
|
# CircleCI configuration version
|
||||||
# Version 2.1 allows for extra config reuse features
|
# Version 2.1 allows for extra config reuse features
|
||||||
|
|
|
@ -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
|
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
|
||||||
|
|
||||||
// List of extensions which should be recommended for users of this workspace.
|
// List of extensions which should be recommended for users of this workspace.
|
||||||
|
|
|
@ -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
|
### 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).
|
||||||
|
|
||||||
<a name="4.0.0-rc.6"></a>
|
<a name="4.0.0-rc.6"></a>
|
||||||
# [4.0.0-rc.6](https://github.com/angular/angular/compare/4.0.0-rc.5...4.0.0-rc.6) (2017-03-23)
|
# [4.0.0-rc.6](https://github.com/angular/angular/compare/4.0.0-rc.5...4.0.0-rc.6) (2017-03-23)
|
||||||
|
|
|
@ -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
|
[angular-group]: https://groups.google.com/forum/#!forum/angular
|
||||||
[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
|
[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#
|
[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
|
[dev-doc]: https://github.com/angular/angular/blob/master/docs/DEVELOPER.md
|
||||||
[github]: https://github.com/angular/angular
|
[github]: https://github.com/angular/angular
|
||||||
[discord]: https://discord.gg/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
|
[js-style-guide]: https://google.github.io/styleguide/jsguide.html
|
||||||
[jsfiddle]: http://jsfiddle.net
|
[jsfiddle]: https://jsfiddle.net/
|
||||||
[plunker]: http://plnkr.co/edit
|
[plunker]: https://plnkr.co/edit
|
||||||
[runnable]: http://runnable.com
|
[runnable]: https://runnable.com/
|
||||||
[stackoverflow]: http://stackoverflow.com/questions/tagged/angular
|
[stackoverflow]: https://stackoverflow.com/questions/tagged/angular
|
||||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
The MIT License
|
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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -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
|
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
|
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
|
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.
|
||||||
|
|
|
@ -18,5 +18,5 @@ export abstract class MinimalLogger {
|
||||||
// #enddocregion minimal-logger-transpiled
|
// #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;
|
export const _ = 0;
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<!-- #docregion malicious-content -->
|
<!-- #docregion malicious-content -->
|
||||||
<!--
|
<!--
|
||||||
Angular generates a warning for the following line as it sanitizes them
|
Angular generates a warning for the following line as it sanitizes them
|
||||||
WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
|
WARNING: sanitizing HTML stripped some content (see https://g.co/ng/security#xss).
|
||||||
-->
|
-->
|
||||||
<p>"<span [innerHTML]="evilTitle"></span>" is the <i>property bound</i> evil title.</p>
|
<p>"<span [innerHTML]="evilTitle"></span>" is the <i>property bound</i> evil title.</p>
|
||||||
<!-- #enddocregion malicious-content -->
|
<!-- #enddocregion malicious-content -->
|
||||||
|
|
|
@ -131,8 +131,8 @@
|
||||||
<!-- New Mental Model -->
|
<!-- New Mental Model -->
|
||||||
<hr><h2 id="mental-model">New Mental Model</h2>
|
<hr><h2 id="mental-model">New Mental Model</h2>
|
||||||
|
|
||||||
<!--<img src="http://www.wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png">-->
|
<!--<img src="https://wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png">-->
|
||||||
<!-- Public Domain terms of use: http://www.wpclipart.com/terms.html -->
|
<!-- Public Domain terms of use: https://wpclipart.com/terms.html -->
|
||||||
<!-- #docregion img+button -->
|
<!-- #docregion img+button -->
|
||||||
<div class="special">Mental Model</div>
|
<div class="special">Mental Model</div>
|
||||||
<img src="assets/images/hero.png">
|
<img src="assets/images/hero.png">
|
||||||
|
@ -273,7 +273,7 @@ button</button>
|
||||||
<!-- #docregion property-binding-vs-interpolation-sanitization -->
|
<!-- #docregion property-binding-vs-interpolation-sanitization -->
|
||||||
<!--
|
<!--
|
||||||
Angular generates warnings for these two lines as it sanitizes them
|
Angular generates warnings for these two lines as it sanitizes them
|
||||||
WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
|
WARNING: sanitizing HTML stripped some content (see https://g.co/ng/security#xss).
|
||||||
-->
|
-->
|
||||||
<p><span>"{{evilTitle}}" is the <i>interpolated</i> evil title.</span></p>
|
<p><span>"{{evilTitle}}" is the <i>interpolated</i> evil title.</span></p>
|
||||||
<p>"<span [innerHTML]="evilTitle"></span>" is the <i>property bound</i> evil title.</p>
|
<p>"<span [innerHTML]="evilTitle"></span>" is the <i>property bound</i> evil title.</p>
|
||||||
|
|
|
@ -95,11 +95,11 @@ export class AppComponent implements AfterViewInit, OnInit {
|
||||||
|
|
||||||
heroIdIncrement = 1;
|
heroIdIncrement = 1;
|
||||||
|
|
||||||
// heroImageUrl = 'http://www.wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
|
// heroImageUrl = 'https://wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
|
||||||
// Public Domain terms of use: http://www.wpclipart.com/terms.html
|
// Public Domain terms of use: https://wpclipart.com/terms.html
|
||||||
heroImageUrl = 'assets/images/hero.png';
|
heroImageUrl = 'assets/images/hero.png';
|
||||||
// villainImageUrl = 'http://www.clker.com/cliparts/u/s/y/L/x/9/villain-man-hi.png'
|
// villainImageUrl = 'https://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
|
// Public Domain terms of use https://www.clker.com/disclaimer.html
|
||||||
villainImageUrl = 'assets/images/villain.png';
|
villainImageUrl = 'assets/images/villain.png';
|
||||||
|
|
||||||
iconUrl = 'assets/images/ng-logo.png';
|
iconUrl = 'assets/images/ng-logo.png';
|
||||||
|
|
|
@ -30,8 +30,8 @@ import { Hero } from './hero';
|
||||||
// #enddocregion input-output-2
|
// #enddocregion input-output-2
|
||||||
export class HeroDetailComponent {
|
export class HeroDetailComponent {
|
||||||
hero: Hero = new Hero(-1, '', 'Zzzzzzzz'); // default sleeping hero
|
hero: Hero = new Hero(-1, '', 'Zzzzzzzz'); // default sleeping hero
|
||||||
// heroImageUrl = 'http://www.wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
|
// heroImageUrl = 'https://wpclipart.com/cartoon/people/hero/hero_silhoutte_T.png';
|
||||||
// Public Domain terms of use: http://www.wpclipart.com/terms.html
|
// Public Domain terms of use: https://wpclipart.com/terms.html
|
||||||
heroImageUrl = 'assets/images/hero.png';
|
heroImageUrl = 'assets/images/hero.png';
|
||||||
lineThrough = '';
|
lineThrough = '';
|
||||||
@Input() prefix = '';
|
@Input() prefix = '';
|
||||||
|
|
|
@ -7,7 +7,7 @@ export class Hero {
|
||||||
'Hercules',
|
'Hercules',
|
||||||
'happy',
|
'happy',
|
||||||
new Date(1970, 1, 25),
|
new Date(1970, 1, 25),
|
||||||
'http://www.imdb.com/title/tt0065832/',
|
'https://www.imdb.com/title/tt0065832/',
|
||||||
325
|
325
|
||||||
),
|
),
|
||||||
new Hero(1, 'Dr Nice', 'happy'),
|
new Hero(1, 'Dr Nice', 'happy'),
|
||||||
|
|
|
@ -64,7 +64,7 @@ Modifies how Angular-specific annotations are emitted to improve tree-shaking. N
|
||||||
|
|
||||||
### `annotateForClosureCompiler`
|
### `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`.
|
[Closure Compiler](https://github.com/google/closure-compiler). Default is `false`.
|
||||||
|
|
||||||
### `disableExpressionLowering`
|
### `disableExpressionLowering`
|
||||||
|
|
|
@ -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'`
|
* 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'`
|
* 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:
|
||||||
|
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
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).
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -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.
|
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.
|
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.
|
The service is provided to the component through the dependency injection system.
|
||||||
|
|
||||||
<code-example path="architecture/src/app/hero-list.component.ts" header="src/app/hero-list.component.ts (class)" region="class"></code-example>
|
<code-example path="architecture/src/app/hero-list.component.ts" header="src/app/hero-list.component.ts (class)" region="class"></code-example>
|
||||||
|
|
|
@ -70,7 +70,7 @@ Other JavaScript modules use *import statements* to access public objects from o
|
||||||
<code-example path="architecture/src/app/app.module.ts" region="export"></code-example>
|
<code-example path="architecture/src/app/app.module.ts" region="export"></code-example>
|
||||||
|
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
<a href="http://exploringjs.com/es6/ch_modules.html">Learn more about the JavaScript module system on the web.</a>
|
<a href="https://exploringjs.com/es6/ch_modules.html">Learn more about the JavaScript module system on the web.</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Angular libraries
|
## Angular libraries
|
||||||
|
|
|
@ -89,8 +89,8 @@ Angular supports most recent browsers. This includes the following specific vers
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request,
|
Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request,
|
||||||
using <a href="https://saucelabs.com/">SauceLabs</a> and
|
using [Sauce Labs](https://saucelabs.com/) and
|
||||||
<a href="https://www.browserstack.com">Browserstack</a>.
|
[BrowserStack](https://www.browserstack.com/).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -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.
|
* 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):
|
||||||
|
|
||||||
<code-example language="sh" class="code-shell">
|
<code-example language="sh" class="code-shell">
|
||||||
# install the optional web animations polyfill
|
# install the optional web animations polyfill
|
||||||
|
@ -143,7 +143,7 @@ For many polyfills, you can simply un-comment the corresponding `import` stateme
|
||||||
<code-example header="src/polyfills.ts">
|
<code-example header="src/polyfills.ts">
|
||||||
/**
|
/**
|
||||||
* Required to support Web Animations `@angular/platform-browser/animations`.
|
* 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`.
|
import 'web-animations-js'; // Run `npm install --save web-animations-js`.
|
||||||
</code-example>
|
</code-example>
|
||||||
|
@ -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,
|
\* Figures are for minified and gzipped code,
|
||||||
computed with the <a href="http://closure-compiler.appspot.com/home">closure compiler</a>.
|
computed with the [closure compiler](https://closure-compiler.appspot.com/home).
|
||||||
|
|
||||||
{@a non-cli}
|
{@a non-cli}
|
||||||
|
|
||||||
|
|
|
@ -242,7 +242,7 @@ See the [CLI wiki](https://github.com/angular/angular-cli/wiki/stories-global-st
|
||||||
### Non-CSS style files
|
### Non-CSS style files
|
||||||
|
|
||||||
If you're building with the CLI,
|
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:
|
||||||
|
|
||||||
<code-example>
|
<code-example>
|
||||||
@Component({
|
@Component({
|
||||||
|
|
|
@ -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,
|
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 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.
|
You can also use forward references to break circular dependencies.
|
||||||
See an example in the [DI Cookbook](guide/dependency-injection-in-action#forwardref).
|
See an example in the [DI Cookbook](guide/dependency-injection-in-action#forwardref).
|
||||||
|
|
|
@ -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.
|
The list is by no means exhaustive, but should provide you with a good starting point.
|
||||||
|
|
||||||
* [Apache](https://httpd.apache.org/): add a
|
* [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/):
|
(https://ngmilk.rocks/2015/03/09/angularjs-html5-mode-or-pretty-urls-on-apache-using-htaccess/):
|
||||||
|
|
||||||
<code-example>
|
<code-example>
|
||||||
|
@ -194,7 +194,7 @@ The list is by no means exhaustive, but should provide you with a good starting
|
||||||
</code-example>
|
</code-example>
|
||||||
|
|
||||||
|
|
||||||
* [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),
|
[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`:
|
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
|
* [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):
|
||||||
|
|
||||||
<code-example format='.' language="xml">
|
<code-example format='.' language="xml">
|
||||||
<system.webServer>
|
<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.
|
There isn't anything the client application can do about these errors.
|
||||||
The server must be configured to accept the application's requests.
|
The server must be configured to accept the application's requests.
|
||||||
Read about how to enable CORS for specific servers at
|
Read about how to enable CORS for specific servers at
|
||||||
<a href="http://enable-cors.org/server.html" title="Enabling CORS server">enable-cors.org</a>.
|
<a href="https://enable-cors.org/server.html" title="Enabling CORS server">enable-cors.org</a>.
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
|
|
@ -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/). |
|
| `.editorconfig` | Configuration for code editors. See [EditorConfig](https://editorconfig.org/). |
|
||||||
| `.gitignore` | Specifies intentionally untracked files that [Git](https://git-scm.com/) should ignore. |
|
| `.gitignore` | Specifies intentionally untracked files that [Git](https://git-scm.com/) should ignore. |
|
||||||
| `README.md` | Introductory documentation for the root app. |
|
| `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.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. |
|
| `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. |
|
| `src/` | Source files for the root-level application project. |
|
||||||
|
|
|
@ -137,7 +137,7 @@ template using the `<app-hero-form>` tag.
|
||||||
The **Submit** button has some classes on it for styling.
|
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.
|
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.
|
To use these styles, the app's style sheet imports the library.
|
||||||
|
|
||||||
<code-example path="forms/src/styles.1.css" header="src/styles.css"></code-example>
|
<code-example path="forms/src/styles.1.css" header="src/styles.css"></code-example>
|
||||||
|
|
|
@ -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.
|
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).
|
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.
|
Many code editors and IDEs support TypeScript either natively or with plug-ins.
|
||||||
|
|
||||||
TypeScript is the preferred language for Angular development.
|
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
|
## TypeScript configuration file
|
||||||
|
|
||||||
|
|
|
@ -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").
|
* 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).
|
* 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").
|
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").
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -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 an Angular app, NgModules and JavaScript modules work together.
|
||||||
|
|
||||||
In modern JavaScript, every file is a module
|
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.
|
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
|
An Angular NgModule is a class with the `@NgModule` decorator—JavaScript modules
|
||||||
|
|
|
@ -11,7 +11,7 @@ JavaScript modules let you spread your work across multiple files.
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
To learn more about JavaScript modules, see [ES6 In Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/).
|
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).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -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`.
|
Angular libraries are NgModules, such as `FormsModule`, `HttpClientModule`, and `RouterModule`.
|
||||||
Many third-party libraries are available as NgModules such as
|
Many third-party libraries are available as NgModules such as
|
||||||
<a href="https://material.angular.io/">Material Design</a>,
|
<a href="https://material.angular.io/">Material Design</a>,
|
||||||
<a href="http://ionicframework.com/">Ionic</a>, and
|
<a href="https://ionicframework.com/">Ionic</a>, and
|
||||||
<a href="https://github.com/angular/angularfire2">AngularFire2</a>.
|
<a href="https://github.com/angular/angularfire2">AngularFire2</a>.
|
||||||
|
|
||||||
NgModules consolidate components, directives, and pipes into
|
NgModules consolidate components, directives, and pipes into
|
||||||
|
|
|
@ -58,7 +58,7 @@ To add a new dependency, use the [`ng add`](cli/add) command.
|
||||||
### Angular packages
|
### Angular packages
|
||||||
|
|
||||||
The following Angular packages are included as dependencies in the default `package.json` file for a new Angular workspace.
|
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
|
Package name | Description
|
||||||
---------------------------------------- | --------------------------------------------------
|
---------------------------------------- | --------------------------------------------------
|
||||||
|
|
|
@ -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'`.
|
Remember to restore the redirect to `pathMatch = 'full'`.
|
||||||
|
|
||||||
Learn more in Victor Savkin's
|
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).
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1131,7 +1131,7 @@ This is matrix URL notation.
|
||||||
|
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
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.
|
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.
|
As such, the Router provides support for the matrix notation across browsers.
|
||||||
|
|
|
@ -207,8 +207,8 @@ By using the long form, the schematic can provide more explicit formatting of th
|
||||||
{ "value": "css", "label": "CSS" },
|
{ "value": "css", "label": "CSS" },
|
||||||
{ "value": "scss", "label": "SCSS [ https://sass-lang.com/documentation/syntax#scss ]" },
|
{ "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": "sass", "label": "Sass [ https://sass-lang.com/documentation/syntax#the-indented-syntax ]" },
|
||||||
{ "value": "less", "label": "Less [ http://lesscss.org ]" },
|
{ "value": "less", "label": "Less [ http://lesscss.org/ ]" },
|
||||||
{ "value": "styl", "label": "Stylus [ http://stylus-lang.com ]" }
|
{ "value": "styl", "label": "Stylus [ https://stylus-lang.com/ ]" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -141,9 +141,9 @@ as [described below](#bypass-security-apis).
|
||||||
|
|
||||||
Content Security Policy (CSP) is a defense-in-depth
|
Content Security Policy (CSP) is a defense-in-depth
|
||||||
technique to prevent XSS. To enable CSP, configure your web server to return an appropriate
|
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
|
`Content-Security-Policy` HTTP header. Read more about content security policy at the
|
||||||
[An Introduction to Content Security Policy](http://www.html5rocks.com/en/tutorials/security/content-security-policy/)
|
[Web Fundamentals guide](https://developers.google.com/web/fundamentals/security/csp) on the
|
||||||
on the HTML5Rocks website.
|
Google Developers website.
|
||||||
|
|
||||||
|
|
||||||
{@a offline-template-compiler}
|
{@a offline-template-compiler}
|
||||||
|
|
|
@ -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 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
|
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:
|
For additional recommendations and examples, see:
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ To install Angular on your local system, you need the following:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
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.
|
If you are unsure what version of Node.js runs on your system, run `node -v` in a terminal window.
|
||||||
|
|
||||||
{@a npm}
|
{@a npm}
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -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://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.
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -100,12 +100,12 @@ It works perfectly with long property paths such as `a?.b?.c?.d`.
|
||||||
|
|
||||||
## The non-null assertion operator ( `!` )
|
## 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`.
|
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
|
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
|
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.
|
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.
|
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
|
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:
|
||||||
|
|
||||||
<code-example path="built-in-template-functions/src/app/app.component.html" region="any-type-cast-function-1" header="src/app/app.component.html"></code-example>
|
<code-example path="built-in-template-functions/src/app/app.component.html" region="any-type-cast-function-1" header="src/app/app.component.html"></code-example>
|
||||||
|
|
||||||
|
|
|
@ -686,7 +686,7 @@ with overlapping sequences of values and errors.
|
||||||
|
|
||||||
**RxJS marble testing** is a great way to test observable scenarios,
|
**RxJS marble testing** is a great way to test observable scenarios,
|
||||||
both simple and complex.
|
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.
|
that illustrate how observables work.
|
||||||
Marble testing uses a similar marble language to
|
Marble testing uses a similar marble language to
|
||||||
specify the observable streams and expectations in your tests.
|
specify the observable streams and expectations in your tests.
|
||||||
|
|
|
@ -31,7 +31,7 @@ For more information, see the [Configuration inheritance with extends](https://w
|
||||||
|
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -143,7 +143,7 @@ Fortunately, either their authors or community contributors have created separat
|
||||||
published them in well-known locations.
|
published them in well-known locations.
|
||||||
|
|
||||||
You can install these typings via `npm` using the
|
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.
|
and Typescript, starting at 2.0, automatically recognizes them.
|
||||||
|
|
||||||
For instance, to install typings for `jasmine` you run `npm install @types/jasmine --save-dev`.
|
For instance, to install typings for `jasmine` you run `npm install @types/jasmine --save-dev`.
|
||||||
|
|
|
@ -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*.
|
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),
|
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.
|
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
|
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
|
and will be shared between different parts of the application. For ES5 applications
|
||||||
|
|
|
@ -27,8 +27,8 @@ To set the components encapsulation mode, use the `encapsulation` property in th
|
||||||
<code-example path="component-styles/src/app/quest-summary.component.ts" region="encapsulation.shadow" header="src/app/quest-summary.component.ts"></code-example>
|
<code-example path="component-styles/src/app/quest-summary.component.ts" region="encapsulation.shadow" header="src/app/quest-summary.component.ts"></code-example>
|
||||||
|
|
||||||
`ShadowDom` view encapsulation only works on browsers that have native support
|
`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
|
for shadow DOM (see [Shadow DOM v1](https://caniuse.com/shadowdomv1) on the
|
||||||
[Can I use](http://caniuse.com) site). The support is still limited,
|
[Can I use](https://caniuse.com/) site). The support is still limited,
|
||||||
which is why `Emulated` view encapsulation is the default mode and recommended
|
which is why `Emulated` view encapsulation is the default mode and recommended
|
||||||
in most cases.
|
in most cases.
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ Visual Studio 2015, follow these steps:
|
||||||
|
|
||||||
If you prefer a `File | New Project` experience and are using **ASP.NET Core**,
|
If you prefer a `File | New Project` experience and are using **ASP.NET Core**,
|
||||||
then consider the _experimental_
|
then consider the _experimental_
|
||||||
<a href="http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/">ASP.NET Core + Angular template for Visual Studio 2015</a>.
|
<a href="https://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/">ASP.NET Core + Angular template for Visual Studio 2015</a>.
|
||||||
Note that the resulting code does not map to the docs. Adjust accordingly.
|
Note that the resulting code does not map to the docs. Adjust accordingly.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -196,7 +196,7 @@ Some additional options can only be set through the configuration file, either b
|
||||||
| OPTIONS PROPERTIES | DESCRIPTION |
|
| 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. |
|
| `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. |
|
| `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 `<script>` tag inside `index.html`. 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 `<script>` tag inside `index.html`. See more in [Styles and scripts configuration](#style-script-config) below. |
|
||||||
| `budgets` | Default size-budget type and threshholds for all or parts of your app. You can configure the builder to report a warning or an error when the output reaches or exceeds a threshold size. See [Configure size budgets](guide/build#configure-size-budgets). (Not available in `test` section.) |
|
| `budgets` | Default size-budget type and threshholds for all or parts of your app. You can configure the builder to report a warning or an error when the output reaches or exceeds a threshold size. See [Configure size budgets](guide/build#configure-size-budgets). (Not available in `test` section.) |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# NgZone
|
# NgZone
|
||||||
|
|
||||||
A zone is an execution context that persists across async tasks. You can think of it as [thread-local storage](http://en.wikipedia.org/wiki/Thread-local_storage) for JavaScript VMs.
|
A zone is an execution context that persists across async tasks. You can think of it as [thread-local storage](https://en.wikipedia.org/wiki/Thread-local_storage) for JavaScript VMs.
|
||||||
This guide describes how to use Angular's NgZone to automatically detect changes in the component to update HTML.
|
This guide describes how to use Angular's NgZone to automatically detect changes in the component to update HTML.
|
||||||
|
|
||||||
## Fundamentals of change detection
|
## Fundamentals of change detection
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"name": "Pete Bacon Darwin",
|
"name": "Pete Bacon Darwin",
|
||||||
"picture": "pete.jpg",
|
"picture": "pete.jpg",
|
||||||
"twitter": "petebd",
|
"twitter": "petebd",
|
||||||
"website": "http://www.bacondarwin.com",
|
"website": "https://www.bacondarwin.com/",
|
||||||
"bio": "AngularJS for JS Team Lead. Pete has been working on the core team since 2012 and became the team lead for the AngularJS for JS branch in November 2014. He has co-authored a book on AngularJS and regularly talks about and teaches Angular.",
|
"bio": "AngularJS for JS Team Lead. Pete has been working on the core team since 2012 and became the team lead for the AngularJS for JS branch in November 2014. He has co-authored a book on AngularJS and regularly talks about and teaches Angular.",
|
||||||
"groups": ["Angular"],
|
"groups": ["Angular"],
|
||||||
"lead": "igorminar"
|
"lead": "igorminar"
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
"name": "Filipe Silva",
|
"name": "Filipe Silva",
|
||||||
"picture": "filipe-silva.jpg",
|
"picture": "filipe-silva.jpg",
|
||||||
"twitter": "filipematossilv",
|
"twitter": "filipematossilv",
|
||||||
"website": "http://github.com/filipesilva",
|
"website": "https://github.com/filipesilva",
|
||||||
"bio": "Filipe is a passion-driven developer that always strives for the most elegant solution for each problem. He is currently an author for Angular.io, a core contributor for Angular-CLI and senior front end engineer at KonnectAgain. When not busy going through PRs, you can find him scouring reddit for new dinner recipes to cook or enjoying a craft beer in Dublin.",
|
"bio": "Filipe is a passion-driven developer that always strives for the most elegant solution for each problem. He is currently an author for Angular.io, a core contributor for Angular-CLI and senior front end engineer at KonnectAgain. When not busy going through PRs, you can find him scouring reddit for new dinner recipes to cook or enjoying a craft beer in Dublin.",
|
||||||
"groups": ["Angular"],
|
"groups": ["Angular"],
|
||||||
"lead": "alexeagle"
|
"lead": "alexeagle"
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
"andrewseguin": {
|
"andrewseguin": {
|
||||||
"name": "Andrew Seguin",
|
"name": "Andrew Seguin",
|
||||||
"picture": "andrewseguin.jpg",
|
"picture": "andrewseguin.jpg",
|
||||||
"website": "http://github.com/andrewseguin",
|
"website": "https://github.com/andrewseguin",
|
||||||
"bio": "Andrew is an engineer on the Angular Material team working on bringing material components to the world. When he’s not obsessing over pixels and design, he is probably off somewhere having adventures with his wife and daughters.",
|
"bio": "Andrew is an engineer on the Angular Material team working on bringing material components to the world. When he’s not obsessing over pixels and design, he is probably off somewhere having adventures with his wife and daughters.",
|
||||||
"groups": ["Angular"],
|
"groups": ["Angular"],
|
||||||
"lead": "jelbourn"
|
"lead": "jelbourn"
|
||||||
|
@ -181,7 +181,7 @@
|
||||||
"name": "Deborah Kurata",
|
"name": "Deborah Kurata",
|
||||||
"picture": "deborah.jpg",
|
"picture": "deborah.jpg",
|
||||||
"twitter": "deborahkurata",
|
"twitter": "deborahkurata",
|
||||||
"website": "http://blogs.msmvps.com/deborahk/",
|
"website": "https://blogs.msmvps.com/deborahk/",
|
||||||
"bio": "Deborah is a software developer, author, and Google Developer Expert. She is author of several Pluralsight courses including: 'Angular 2: Getting Started' and ‘Angular Routing’",
|
"bio": "Deborah is a software developer, author, and Google Developer Expert. She is author of several Pluralsight courses including: 'Angular 2: Getting Started' and ‘Angular Routing’",
|
||||||
"groups": ["GDE"]
|
"groups": ["GDE"]
|
||||||
},
|
},
|
||||||
|
@ -279,7 +279,7 @@
|
||||||
"name": "Minko Gechev",
|
"name": "Minko Gechev",
|
||||||
"picture": "minko.jpg",
|
"picture": "minko.jpg",
|
||||||
"twitter": "mgechev",
|
"twitter": "mgechev",
|
||||||
"website": "http://blog.mgechev.com",
|
"website": "https://blog.mgechev.com/",
|
||||||
"bio": "Software engineer who enjoys theoretical computer science and its practical applications. Speaker, author of the book 'Switching to Angular', codelyzer, Guess.js, and the Go linter revive. Working for faster and more reliable software.",
|
"bio": "Software engineer who enjoys theoretical computer science and its practical applications. Speaker, author of the book 'Switching to Angular', codelyzer, Guess.js, and the Go linter revive. Working for faster and more reliable software.",
|
||||||
"groups": ["Angular"],
|
"groups": ["Angular"],
|
||||||
"lead": "stephenfluin"
|
"lead": "stephenfluin"
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
"name": "Thierry Chatel",
|
"name": "Thierry Chatel",
|
||||||
"picture": "thierrychatel.jpg",
|
"picture": "thierrychatel.jpg",
|
||||||
"twitter": "ThierryChatel",
|
"twitter": "ThierryChatel",
|
||||||
"website": "http://www.methotic.com",
|
"website": "https://www.methotic.com/",
|
||||||
"bio": "Thierry is a senior consultant and trainer, specialized on Angular, and a Google Developer Expert.",
|
"bio": "Thierry is a senior consultant and trainer, specialized on Angular, and a Google Developer Expert.",
|
||||||
"groups": ["GDE"]
|
"groups": ["GDE"]
|
||||||
},
|
},
|
||||||
|
@ -405,7 +405,7 @@
|
||||||
"name": "Alain Chautard",
|
"name": "Alain Chautard",
|
||||||
"picture": "alainchautard.png",
|
"picture": "alainchautard.png",
|
||||||
"twitter": "AlainChautard",
|
"twitter": "AlainChautard",
|
||||||
"website": "http://www.angulartraining.com",
|
"website": "https://www.angulartraining.com/",
|
||||||
"bio": "Alain Chautard is a Google Developer Expert in Web Technologies / Angular. He started working with Angular JS in 2011. Since then he has worked with all Angular versions on a daily basis, both as a developer and as a technical trainer. He is the organizer of the Sacramento Angular Meetup group, co-organizer of the Google Developer Group chapter in Sacramento, California, and published author of the Packt video course 'Getting Started with Angular'",
|
"bio": "Alain Chautard is a Google Developer Expert in Web Technologies / Angular. He started working with Angular JS in 2011. Since then he has worked with all Angular versions on a daily basis, both as a developer and as a technical trainer. He is the organizer of the Sacramento Angular Meetup group, co-organizer of the Google Developer Group chapter in Sacramento, California, and published author of the Packt video course 'Getting Started with Angular'",
|
||||||
"groups": ["GDE"]
|
"groups": ["GDE"]
|
||||||
},
|
},
|
||||||
|
@ -437,7 +437,7 @@
|
||||||
"name": "Mashhood Rastgar",
|
"name": "Mashhood Rastgar",
|
||||||
"picture": "mashhood.jpg",
|
"picture": "mashhood.jpg",
|
||||||
"twitter": "mashhoodr",
|
"twitter": "mashhoodr",
|
||||||
"website": "http://imars.info/",
|
"website": "https://imars.info/",
|
||||||
"bio": "Mashhood is the principal technical consultant at Recurship and a Google Developer Expert. He works with different startups in US and EU to helps them crawl through the technical maze and quickly build amazing products focused around the problems they are trying to solve. He specializes in using the latest web technologies available to execute the best possible solutions.",
|
"bio": "Mashhood is the principal technical consultant at Recurship and a Google Developer Expert. He works with different startups in US and EU to helps them crawl through the technical maze and quickly build amazing products focused around the problems they are trying to solve. He specializes in using the latest web technologies available to execute the best possible solutions.",
|
||||||
"groups": ["GDE"]
|
"groups": ["GDE"]
|
||||||
},
|
},
|
||||||
|
@ -532,7 +532,7 @@
|
||||||
"name": "Sam Julien",
|
"name": "Sam Julien",
|
||||||
"picture": "samjulien.jpg",
|
"picture": "samjulien.jpg",
|
||||||
"twitter": "samjulien",
|
"twitter": "samjulien",
|
||||||
"website": "http://www.samjulien.com/",
|
"website": "https://www.samjulien.com/",
|
||||||
"bio": "Sam Julien builds software, articles, video courses, and campfires. A developer, speaker, writer, and GDE in the Pacific Northwest, Sam's favorite thing in the world is changing someone's life by teaching them to code.",
|
"bio": "Sam Julien builds software, articles, video courses, and campfires. A developer, speaker, writer, and GDE in the Pacific Northwest, Sam's favorite thing in the world is changing someone's life by teaching them to code.",
|
||||||
"groups": ["Collaborators", "GDE"],
|
"groups": ["Collaborators", "GDE"],
|
||||||
"mentor": "gkalpak"
|
"mentor": "gkalpak"
|
||||||
|
@ -542,8 +542,8 @@
|
||||||
"picture": "tracylee.jpg",
|
"picture": "tracylee.jpg",
|
||||||
"groups": ["GDE"],
|
"groups": ["GDE"],
|
||||||
"twitter": "ladyleet",
|
"twitter": "ladyleet",
|
||||||
"website": "https://www.thisdot.co/labs",
|
"website": "https://labs.thisdot.co/",
|
||||||
"bio": "Tracy is the Co-Founder of This Dot Labs, a consultancy focused on helping companies with digital transformations. She is also a Google Developer Expert, RxJS Core Team member, a Women Techmakers Lead, and a frequent keynote speaker at conferences. She heads up Community Relations for Node.js at OpenJS Foundation, is the host of the Modern Web podcast, organizer of This.JavaScript, Contributor Days, Google Developer Group Silicon Valley and Triangle, and RxWorkshop. You can find her on Twitter @ladyleet or at http://thisdot.co/labs."
|
"bio": "Tracy is the Co-Founder of This Dot Labs, a consultancy focused on helping companies with digital transformations. She is also a Google Developer Expert, RxJS Core Team member, a Women Techmakers Lead, and a frequent keynote speaker at conferences. She heads up Community Relations for Node.js at OpenJS Foundation, is the host of the Modern Web podcast, organizer of This.JavaScript, Contributor Days, Google Developer Group Silicon Valley and Triangle, and RxWorkshop. You can find her on Twitter @ladyleet or at https://labs.thisdot.co/."
|
||||||
},
|
},
|
||||||
"jiali": {
|
"jiali": {
|
||||||
"name": "Jia Li",
|
"name": "Jia Li",
|
||||||
|
@ -801,7 +801,7 @@
|
||||||
"name": "Emma Twersky",
|
"name": "Emma Twersky",
|
||||||
"picture": "twerske.jpg",
|
"picture": "twerske.jpg",
|
||||||
"twitter": "twerske",
|
"twitter": "twerske",
|
||||||
"website": "http://twerske.github.io",
|
"website": "https://twerske.github.io/",
|
||||||
"bio": "Emma is a Developer Advocate at Google. She is passionate about good user experiences and design.",
|
"bio": "Emma is a Developer Advocate at Google. She is passionate about good user experiences and design.",
|
||||||
"groups": ["Angular"],
|
"groups": ["Angular"],
|
||||||
"lead": "mgechev"
|
"lead": "mgechev"
|
||||||
|
@ -859,7 +859,7 @@
|
||||||
"name": "Carlos Caballero",
|
"name": "Carlos Caballero",
|
||||||
"picture": "carloscaballero.jpg",
|
"picture": "carloscaballero.jpg",
|
||||||
"twitter": "Carlillo",
|
"twitter": "Carlillo",
|
||||||
"website": "http://carloscaballero.io",
|
"website": "https://carloscaballero.io/",
|
||||||
"bio": "Carlos Caballero is a computer science engineer and a PhD in Computer Science from the University of Málaga. He earned his masters in Software Engineering and Artificial Intelligence. He is a full-time teacher in vocational training. He has written several teaching books and more than a dozen research articles in the first international journals.",
|
"bio": "Carlos Caballero is a computer science engineer and a PhD in Computer Science from the University of Málaga. He earned his masters in Software Engineering and Artificial Intelligence. He is a full-time teacher in vocational training. He has written several teaching books and more than a dozen research articles in the first international journals.",
|
||||||
"groups": ["GDE"]
|
"groups": ["GDE"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,7 +161,7 @@
|
||||||
"desc": "VS Code is a Free, Lightweight Tool for Editing and Debugging Web Apps.",
|
"desc": "VS Code is a Free, Lightweight Tool for Editing and Debugging Web Apps.",
|
||||||
"logo": "",
|
"logo": "",
|
||||||
"title": "Visual Studio Code",
|
"title": "Visual Studio Code",
|
||||||
"url": "http://code.visualstudio.com/"
|
"url": "https://code.visualstudio.com/"
|
||||||
},
|
},
|
||||||
"ab2": {
|
"ab2": {
|
||||||
"desc": "Lightweight yet powerful IDE, perfectly equipped for complex client-side development and server-side development with Node.js",
|
"desc": "Lightweight yet powerful IDE, perfectly equipped for complex client-side development and server-side development with Node.js",
|
||||||
|
@ -194,7 +194,7 @@
|
||||||
"desc": "A Google Chrome Dev Tools extension for debugging Angular applications.",
|
"desc": "A Google Chrome Dev Tools extension for debugging Angular applications.",
|
||||||
"logo": "https://augury.angular.io/images/augury-logo.svg",
|
"logo": "https://augury.angular.io/images/augury-logo.svg",
|
||||||
"title": "Augury",
|
"title": "Augury",
|
||||||
"url": "http://augury.angular.io/"
|
"url": "https://augury.rangle.io/"
|
||||||
},
|
},
|
||||||
"b1": {
|
"b1": {
|
||||||
"desc": "Server-side Rendering for Angular apps.",
|
"desc": "Server-side Rendering for Angular apps.",
|
||||||
|
@ -228,7 +228,7 @@
|
||||||
"angular-playground": {
|
"angular-playground": {
|
||||||
"desc": "UI development environment for building, testing, and documenting Angular applications.",
|
"desc": "UI development environment for building, testing, and documenting Angular applications.",
|
||||||
"title": "Angular Playground",
|
"title": "Angular Playground",
|
||||||
"url": "http://www.angularplayground.it/"
|
"url": "https://angularplayground.it/"
|
||||||
},
|
},
|
||||||
"nx": {
|
"nx": {
|
||||||
"desc": "Nx (Nrwl Extensions for Angular) is an open source toolkit built on top of Angular CLI to help enterprise teams develop Angular at scale.",
|
"desc": "Nx (Nrwl Extensions for Angular) is an open source toolkit built on top of Angular CLI to help enterprise teams develop Angular at scale.",
|
||||||
|
@ -291,9 +291,9 @@
|
||||||
},
|
},
|
||||||
"4ab": {
|
"4ab": {
|
||||||
"desc": "Native Angular components & directives for Lightning Design System",
|
"desc": "Native Angular components & directives for Lightning Design System",
|
||||||
"logo": "http://ng-lightning.github.io/ng-lightning/img/shield.svg",
|
"logo": "https://ng-lightning.github.io/ng-lightning/assets/images/shield.svg",
|
||||||
"title": "ng-lightning",
|
"title": "ng-lightning",
|
||||||
"url": "http://ng-lightning.github.io/ng-lightning/"
|
"url": "https://ng-lightning.github.io/ng-lightning/#/"
|
||||||
},
|
},
|
||||||
"7ab": {
|
"7ab": {
|
||||||
"desc": "UI components for hybrid mobile apps with bindings for both Angular & AngularJS.",
|
"desc": "UI components for hybrid mobile apps with bindings for both Angular & AngularJS.",
|
||||||
|
@ -304,19 +304,19 @@
|
||||||
"desc": "PrimeNG is a collection of rich UI components for Angular",
|
"desc": "PrimeNG is a collection of rich UI components for Angular",
|
||||||
"logo": "http://www.primefaces.org/primeng/showcase/resources/images/primeng.svg",
|
"logo": "http://www.primefaces.org/primeng/showcase/resources/images/primeng.svg",
|
||||||
"title": "Prime Faces",
|
"title": "Prime Faces",
|
||||||
"url": "http://www.primefaces.org/primeng/"
|
"url": "https://www.primefaces.org/primeng/"
|
||||||
},
|
},
|
||||||
"a3b": {
|
"a3b": {
|
||||||
"desc": "A professional grade library of Angular UI components written in TypeScript that includes our Data Grid, TreeView, Charts, Editors, DropDowns, DatePickers, and many more. Features include support for AOT compilation, Tree Shaking for high-performance, localization, and accessibility.",
|
"desc": "A professional grade library of Angular UI components written in TypeScript that includes our Data Grid, TreeView, Charts, Editors, DropDowns, DatePickers, and many more. Features include support for AOT compilation, Tree Shaking for high-performance, localization, and accessibility.",
|
||||||
"logo": "",
|
"logo": "",
|
||||||
"title": "Kendo UI",
|
"title": "Kendo UI",
|
||||||
"url": "http://www.telerik.com/kendo-angular-ui/"
|
"url": "https://www.telerik.com/kendo-angular-ui"
|
||||||
},
|
},
|
||||||
"a5b": {
|
"a5b": {
|
||||||
"desc": "High-performance UI controls with the most complete Angular support available. Wijmo’s controls are all written in TypeScript and have zero dependencies. FlexGrid control includes full declarative markup, including cell templates.",
|
"desc": "High-performance UI controls with the most complete Angular support available. Wijmo’s controls are all written in TypeScript and have zero dependencies. FlexGrid control includes full declarative markup, including cell templates.",
|
||||||
"logo": "http://wijmocdn.azureedge.net/wijmositeblob/wijmo-theme/logos/wijmo-55.png",
|
"logo": "http://wijmocdn.azureedge.net/wijmositeblob/wijmo-theme/logos/wijmo-55.png",
|
||||||
"title": "Wijmo",
|
"title": "Wijmo",
|
||||||
"url": "http://wijmo.com/products/wijmo-5/"
|
"url": "https://www.grapecity.com/wijmo"
|
||||||
},
|
},
|
||||||
"a6b": {
|
"a6b": {
|
||||||
"desc": "Material design inspired UI components for building great web apps. For mobile and desktop.",
|
"desc": "Material design inspired UI components for building great web apps. For mobile and desktop.",
|
||||||
|
@ -328,7 +328,7 @@
|
||||||
"desc": "Native Angular directives for Bootstrap",
|
"desc": "Native Angular directives for Bootstrap",
|
||||||
"logo": "",
|
"logo": "",
|
||||||
"title": "ngx-bootstrap",
|
"title": "ngx-bootstrap",
|
||||||
"url": "http://valor-software.com/ngx-bootstrap/#/"
|
"url": "https://valor-software.com/ngx-bootstrap/#/"
|
||||||
},
|
},
|
||||||
"ab": {
|
"ab": {
|
||||||
"desc": "Material Design components for Angular",
|
"desc": "Material Design components for Angular",
|
||||||
|
@ -386,7 +386,7 @@
|
||||||
"amexio": {
|
"amexio": {
|
||||||
"desc": "Amexio is a rich set of Angular components powered by HTML5 & CSS3 for Responsive Web Design and 80+ built-in Material Design Themes. Amexio has 3 Editions, Standard, Enterprise and Creative. Std Edition consists of basic UI Components which include Grid, Tabs, Form Inputs and so on. While Enterprise Edition consists of components like Calendar, Tree Tabs, Social Media Logins (Facebook, GitHub, Twitter and so on) and Creative Edition is focused building elegant and beautiful websites. With more than 200+ components/features. All the editions are open-sourced and free, based on Apache 2 License.",
|
"desc": "Amexio is a rich set of Angular components powered by HTML5 & CSS3 for Responsive Web Design and 80+ built-in Material Design Themes. Amexio has 3 Editions, Standard, Enterprise and Creative. Std Edition consists of basic UI Components which include Grid, Tabs, Form Inputs and so on. While Enterprise Edition consists of components like Calendar, Tree Tabs, Social Media Logins (Facebook, GitHub, Twitter and so on) and Creative Edition is focused building elegant and beautiful websites. With more than 200+ components/features. All the editions are open-sourced and free, based on Apache 2 License.",
|
||||||
"title": "Amexio - Angular Extensions",
|
"title": "Amexio - Angular Extensions",
|
||||||
"url": "http://www.amexio.tech/",
|
"url": "https://amexio.tech/",
|
||||||
"logo": "http://www.amexio.org/amexio-logo.png"
|
"logo": "http://www.amexio.org/amexio-logo.png"
|
||||||
},
|
},
|
||||||
"bm": {
|
"bm": {
|
||||||
|
@ -403,7 +403,7 @@
|
||||||
"trulyui": {
|
"trulyui": {
|
||||||
"desc": "TrulyUI is an Angular UI Framework especially developed for Desktop Applications based on Web Components using the greatest technologies of the world.",
|
"desc": "TrulyUI is an Angular UI Framework especially developed for Desktop Applications based on Web Components using the greatest technologies of the world.",
|
||||||
"title": "Truly UI",
|
"title": "Truly UI",
|
||||||
"url": "http://truly-ui.com"
|
"url": "https://truly-ui.com/"
|
||||||
},
|
},
|
||||||
"ngsqui": {
|
"ngsqui": {
|
||||||
"desc": "Simple Quality UI (SQ-UI) is a flexible and easily customizable UI-kit, aiming to provide maximum efficiency with as little overhead as possible. Driven by the idea that it should be strictly \"for developers by developers\", every new feature release includes functionalities demanded by the developers who are using it.",
|
"desc": "Simple Quality UI (SQ-UI) is a flexible and easily customizable UI-kit, aiming to provide maximum efficiency with as little overhead as possible. Driven by the idea that it should be strictly \"for developers by developers\", every new feature release includes functionalities demanded by the developers who are using it.",
|
||||||
|
@ -543,7 +543,7 @@
|
||||||
"-KLIzHwg-glQLXni1hvL": {
|
"-KLIzHwg-glQLXni1hvL": {
|
||||||
"desc": "Spanish language Angular articles and information",
|
"desc": "Spanish language Angular articles and information",
|
||||||
"title": "Academia Binaria (español)",
|
"title": "Academia Binaria (español)",
|
||||||
"url": "http://academia-binaria.com/"
|
"url": "https://academia-binaria.com/"
|
||||||
},
|
},
|
||||||
"-KN3uNQvxifu26D6WKJW": {
|
"-KN3uNQvxifu26D6WKJW": {
|
||||||
"category": "Education",
|
"category": "Education",
|
||||||
|
@ -585,12 +585,12 @@
|
||||||
"angular-love": {
|
"angular-love": {
|
||||||
"desc": "Polish language Angular articles and information",
|
"desc": "Polish language Angular articles and information",
|
||||||
"title": "angular.love (Polski)",
|
"title": "angular.love (Polski)",
|
||||||
"url": "http://www.angular.love/"
|
"url": "https://www.angular.love/"
|
||||||
},
|
},
|
||||||
"learn-angular-fr": {
|
"learn-angular-fr": {
|
||||||
"desc": "French language Angular content.",
|
"desc": "French language Angular content.",
|
||||||
"title": "Learn Angular (francais)",
|
"title": "Learn Angular (francais)",
|
||||||
"url": "http://www.learn-angular.fr/"
|
"url": "https://www.learn-angular.fr/"
|
||||||
},
|
},
|
||||||
"upgrading-ajs": {
|
"upgrading-ajs": {
|
||||||
"desc": "The world's most comprehensive, step-by-step course on using best practices and avoiding pitfalls while migrating from AngularJS to Angular.",
|
"desc": "The world's most comprehensive, step-by-step course on using best practices and avoiding pitfalls while migrating from AngularJS to Angular.",
|
||||||
|
@ -651,17 +651,17 @@
|
||||||
"-KLIBoFWStce29UCwkvY": {
|
"-KLIBoFWStce29UCwkvY": {
|
||||||
"desc": "Private Angular Training and Mentoring",
|
"desc": "Private Angular Training and Mentoring",
|
||||||
"title": "Chariot Solutions",
|
"title": "Chariot Solutions",
|
||||||
"url": "http://chariotsolutions.com/course/angular2-workshop-fundamentals-architecture/"
|
"url": "https://chariotsolutions.com/services/training/angular-workshop-fundamentals-architecture/"
|
||||||
},
|
},
|
||||||
"-KLIBoN0p9be3kwC6-ga": {
|
"-KLIBoN0p9be3kwC6-ga": {
|
||||||
"desc": "Angular Academy is a two day hands-on public course given in-person across Canada!",
|
"desc": "Angular Academy is a two day hands-on public course given in-person across Canada!",
|
||||||
"title": "Angular Academy (Canada)",
|
"title": "Angular Academy (Canada)",
|
||||||
"url": "http://www.angularacademy.ca"
|
"url": "https://www.angularacademy.ca/"
|
||||||
},
|
},
|
||||||
"at": {
|
"at": {
|
||||||
"desc": "Angular Training teaches Angular on-site all over the world. Also provides consulting and mentoring.",
|
"desc": "Angular Training teaches Angular on-site all over the world. Also provides consulting and mentoring.",
|
||||||
"title": "Angular Training",
|
"title": "Angular Training",
|
||||||
"url": "http://www.angulartraining.com"
|
"url": "https://www.angulartraining.com/"
|
||||||
},
|
},
|
||||||
"-KLIBo_lm-WrK1Sjtt-2": {
|
"-KLIBo_lm-WrK1Sjtt-2": {
|
||||||
"desc": "Basic and Advanced training across Europe in German",
|
"desc": "Basic and Advanced training across Europe in German",
|
||||||
|
@ -676,7 +676,7 @@
|
||||||
"-KLIzIcRoDq3TzCJWnYc": {
|
"-KLIzIcRoDq3TzCJWnYc": {
|
||||||
"desc": "Virtual and in-person training in Canada and the US",
|
"desc": "Virtual and in-person training in Canada and the US",
|
||||||
"title": "Web Age Solutions",
|
"title": "Web Age Solutions",
|
||||||
"url": "http://www.webagesolutions.com/courses/WA2533-angular-2-programming"
|
"url": "https://www.webagesolutions.com/courses/WA2533-introduction-to-angular-2-programming"
|
||||||
},
|
},
|
||||||
"500tech": {
|
"500tech": {
|
||||||
"desc": "Learn from 500Tech, an Angular consultancy in Israel. This course was built by an expert developer, who lives and breathes Angular, and has practical experience with real world large scale Angular apps.",
|
"desc": "Learn from 500Tech, an Angular consultancy in Israel. This course was built by an expert developer, who lives and breathes Angular, and has practical experience with real world large scale Angular apps.",
|
||||||
|
@ -686,7 +686,7 @@
|
||||||
"9ab": {
|
"9ab": {
|
||||||
"desc": "OnSite Training From the Authors of \"Become A Ninja with Angular\"",
|
"desc": "OnSite Training From the Authors of \"Become A Ninja with Angular\"",
|
||||||
"title": "Ninja Squad",
|
"title": "Ninja Squad",
|
||||||
"url": "http://ninja-squad.com/formations/formation-angular2"
|
"url": "https://ninja-squad.com/formations/formation-angular"
|
||||||
},
|
},
|
||||||
"a2b": {
|
"a2b": {
|
||||||
"desc": "Angular Boot Camp covers introductory through advanced Angular topics. It includes extensive workshop sessions, with hands-on help from our experienced developer-trainers. We take developers or teams from the beginnings of Angular understanding through a working knowledge of all essential Angular features.",
|
"desc": "Angular Boot Camp covers introductory through advanced Angular topics. It includes extensive workshop sessions, with hands-on help from our experienced developer-trainers. We take developers or teams from the beginnings of Angular understanding through a working knowledge of all essential Angular features.",
|
||||||
|
@ -698,7 +698,7 @@
|
||||||
"desc": "Trainings & Code Reviews. We help people to get a deep understanding of different technologies through trainings and code reviews. Our services can be arranged online, making it possible to join in from anywhere in the world, or on-site to get the best experience possible.",
|
"desc": "Trainings & Code Reviews. We help people to get a deep understanding of different technologies through trainings and code reviews. Our services can be arranged online, making it possible to join in from anywhere in the world, or on-site to get the best experience possible.",
|
||||||
"logo": "",
|
"logo": "",
|
||||||
"title": "Thoughtram",
|
"title": "Thoughtram",
|
||||||
"url": "http://thoughtram.io/"
|
"url": "https://thoughtram.io/"
|
||||||
},
|
},
|
||||||
"jsru": {
|
"jsru": {
|
||||||
"desc": "Complete Angular online course. Constantly updating. Real-time webinars with immediate feedback from the teacher.",
|
"desc": "Complete Angular online course. Constantly updating. Real-time webinars with immediate feedback from the teacher.",
|
||||||
|
|
|
@ -8,7 +8,7 @@ To help you get started right away, this guide uses a simple ready-made applicat
|
||||||
<div class="callout is-helpful">
|
<div class="callout is-helpful">
|
||||||
<header>New to web development?</header>
|
<header>New to web development?</header>
|
||||||
|
|
||||||
There are many resources to complement the Angular docs. Mozilla's MDN docs include both [HTML](https://developer.mozilla.org/en-US/docs/Learn/HTML "Learning HTML: Guides and tutorials") and [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript "JavaScript") introductions. [TypeScript's docs](https://www.typescriptlang.org/docs/home.html "TypeScript documentation") include a 5-minute tutorial. Various online course platforms, such as [Udemy](http://www.udemy.com "Udemy online courses") and [Codecademy](https://www.codecademy.com/ "Codecademy online courses"), also cover web development basics.
|
There are many resources to complement the Angular docs. Mozilla's MDN docs include both [HTML](https://developer.mozilla.org/en-US/docs/Learn/HTML "Learning HTML: Guides and tutorials") and [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript "JavaScript") introductions. [TypeScript's docs](https://www.typescriptlang.org/docs/home.html "TypeScript documentation") include a 5-minute tutorial. Various online course platforms, such as [Udemy](https://www.udemy.com/ "Udemy online courses") and [Codecademy](https://www.codecademy.com/ "Codecademy online courses"), also cover web development basics.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,7 @@ and [`HttpClient.get()` returns an `Observable`](guide/http).
|
||||||
|
|
||||||
### Observable `HeroService`
|
### Observable `HeroService`
|
||||||
|
|
||||||
`Observable` is one of the key classes in the [RxJS library](http://reactivex.io/rxjs/).
|
`Observable` is one of the key classes in the [RxJS library](https://rxjs.dev/).
|
||||||
|
|
||||||
In a [later tutorial on HTTP](tutorial/toh-pt6), you'll learn that Angular's `HttpClient` methods return RxJS `Observable`s.
|
In a [later tutorial on HTTP](tutorial/toh-pt6), you'll learn that Angular's `HttpClient` methods return RxJS `Observable`s.
|
||||||
In this tutorial, you'll simulate getting data from the server with the RxJS `of()` function.
|
In this tutorial, you'll simulate getting data from the server with the RxJS `of()` function.
|
||||||
|
|
|
@ -496,7 +496,7 @@ It cancels and discards previous search observables, returning only the latest s
|
||||||
|
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
|
|
||||||
With the [switchMap operator](http://www.learnrxjs.io/operators/transformation/switchmap.html),
|
With the [switchMap operator](https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmap),
|
||||||
every qualifying key event can trigger an `HttpClient.get()` method call.
|
every qualifying key event can trigger an `HttpClient.get()` method call.
|
||||||
Even with a 300ms pause between requests, you could have multiple HTTP requests in flight
|
Even with a 300ms pause between requests, you could have multiple HTTP requests in flight
|
||||||
and they may not return in the order sent.
|
and they may not return in the order sent.
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
<p>
|
<p>
|
||||||
Powered by Google ©2010-2020.
|
Powered by Google ©2010-2020.
|
||||||
Code licensed under an <a href="license" title="License text">MIT-style License</a>.
|
Code licensed under an <a href="license" title="License text">MIT-style License</a>.
|
||||||
Documentation licensed under <a href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
Documentation licensed under <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
||||||
</p>
|
</p>
|
||||||
</aio-footer>
|
</aio-footer>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
Super-powered by Google ©2010-2020.
|
Super-powered by Google ©2010-2020.
|
||||||
Code licensed under an <a href="license" title="License text">MIT-style License</a>.
|
Code licensed under an <a href="license" title="License text">MIT-style License</a>.
|
||||||
Documentation licensed under
|
Documentation licensed under
|
||||||
<a href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Version {{versionInfo?.full}}.
|
Version {{versionInfo?.full}}.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Disallow all URLs (see http://www.robotstxt.org/robotstxt.html)
|
# Disallow all URLs (see https://www.robotstxt.org/robotstxt.html)
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Disallow: /
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Disallow all URLs (see http://www.robotstxt.org/robotstxt.html)
|
# Disallow all URLs (see https://www.robotstxt.org/robotstxt.html)
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Disallow: /
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Disallow all URLs (see http://www.robotstxt.org/robotstxt.html)
|
# Disallow all URLs (see https://www.robotstxt.org/robotstxt.html)
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Disallow: /
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Allow all URLs (see http://www.robotstxt.org/robotstxt.html)
|
# Allow all URLs (see https://www.robotstxt.org/robotstxt.html)
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow:
|
Disallow:
|
||||||
Sitemap: https://angular.io/generated/sitemap.xml
|
Sitemap: https://angular.io/generated/sitemap.xml
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -67,7 +67,7 @@ exports.config = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// See http://jasmine.github.io/2.1/custom_reporter.html
|
// See https://jasmine.github.io/2.1/custom_reporter.html
|
||||||
function Reporter(options) {
|
function Reporter(options) {
|
||||||
var _defaultOutputFile = path.resolve(__dirname, '../../protractor-results.txt');
|
var _defaultOutputFile = path.resolve(__dirname, '../../protractor-results.txt');
|
||||||
options.outputFile = options.outputFile || _defaultOutputFile;
|
options.outputFile = options.outputFile || _defaultOutputFile;
|
||||||
|
|
|
@ -67,7 +67,7 @@ class StackblitzBuilder {
|
||||||
_buildCopyrightStrings() {
|
_buildCopyrightStrings() {
|
||||||
const copyright = 'Copyright Google LLC. All Rights Reserved.\n' +
|
const copyright = 'Copyright Google LLC. All Rights Reserved.\n' +
|
||||||
'Use of this source code is governed by an MIT-style license that\n' +
|
'Use of this source code is governed by an MIT-style license that\n' +
|
||||||
'can be found in the LICENSE file at http://angular.io/license';
|
'can be found in the LICENSE file at https://angular.io/license';
|
||||||
const pad = '\n\n';
|
const pad = '\n\n';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -27,7 +27,7 @@ describe('fixInternalDocumentLinks processor', () => {
|
||||||
{
|
{
|
||||||
path: 'some/doc',
|
path: 'some/doc',
|
||||||
renderedContent: `
|
renderedContent: `
|
||||||
<a href="http://google.com#q=angular">Google</a>
|
<a href="https://google.com#q=angular">Google</a>
|
||||||
<a href="some/relative/path#some-id">Some Id</a>
|
<a href="some/relative/path#some-id">Some Id</a>
|
||||||
<a href="#some-internal-id">Link to heading</a>
|
<a href="#some-internal-id">Link to heading</a>
|
||||||
<a class="important" href="#some-internal-id">Link to heading</a>
|
<a class="important" href="#some-internal-id">Link to heading</a>
|
||||||
|
@ -40,7 +40,7 @@ describe('fixInternalDocumentLinks processor', () => {
|
||||||
{
|
{
|
||||||
path: 'some/doc',
|
path: 'some/doc',
|
||||||
renderedContent: `
|
renderedContent: `
|
||||||
<a href="http://google.com#q=angular">Google</a>
|
<a href="https://google.com#q=angular">Google</a>
|
||||||
<a href="some/relative/path#some-id">Some Id</a>
|
<a href="some/relative/path#some-id">Some Id</a>
|
||||||
<a href="some/doc#some-internal-id">Link to heading</a>
|
<a href="some/doc#some-internal-id">Link to heading</a>
|
||||||
<a class="important" href="some/doc#some-internal-id">Link to heading</a>
|
<a class="important" href="some/doc#some-internal-id">Link to heading</a>
|
||||||
|
|
|
@ -21,11 +21,10 @@ if you'd like to contribute to Angular.
|
||||||
Before you can build and test Angular, you must install and configure the
|
Before you can build and test Angular, you must install and configure the
|
||||||
following products on your development machine:
|
following products on your development machine:
|
||||||
|
|
||||||
* [Git](http://git-scm.com) and/or the **GitHub app** (for [Mac](http://mac.github.com) or
|
* [Git](https://git-scm.com/) and/or the [**GitHub app**](https://desktop.github.com/) (for Mac and Windows);
|
||||||
[Windows](http://windows.github.com)); [GitHub's Guide to Installing
|
[GitHub's Guide to Installing Git](https://help.github.com/articles/set-up-git) is a good source of information.
|
||||||
Git](https://help.github.com/articles/set-up-git) is a good source of information.
|
|
||||||
|
|
||||||
* [Node.js](http://nodejs.org), (version specified in the engines field of [`package.json`](../package.json)) which is used to run a development web server,
|
* [Node.js](https://nodejs.org), (version specified in the engines field of [`package.json`](../package.json)) which is used to run a development web server,
|
||||||
run tests, and generate distributable files.
|
run tests, and generate distributable files.
|
||||||
|
|
||||||
* [Yarn](https://yarnpkg.com) (version specified in the engines field of [`package.json`](../package.json)) which is used to install dependencies.
|
* [Yarn](https://yarnpkg.com) (version specified in the engines field of [`package.json`](../package.json)) which is used to install dependencies.
|
||||||
|
@ -39,7 +38,7 @@ Fork and clone the Angular repository:
|
||||||
|
|
||||||
1. Login to your GitHub account or create one by following the instructions given
|
1. Login to your GitHub account or create one by following the instructions given
|
||||||
[here](https://github.com/signup/free).
|
[here](https://github.com/signup/free).
|
||||||
2. [Fork](http://help.github.com/forking) the [main Angular
|
2. [Fork](https://help.github.com/forking) the [main Angular
|
||||||
repository](https://github.com/angular/angular).
|
repository](https://github.com/angular/angular).
|
||||||
3. Clone your fork of the Angular repository and define an `upstream` remote pointing back to
|
3. Clone your fork of the Angular repository and define an `upstream` remote pointing back to
|
||||||
the Angular repository that you forked in the first place.
|
the Angular repository that you forked in the first place.
|
||||||
|
@ -96,7 +95,7 @@ merged if the code is formatted properly and all tests are passing.
|
||||||
|
|
||||||
## Formatting your source code
|
## Formatting your source code
|
||||||
|
|
||||||
Angular uses [clang-format](http://clang.llvm.org/docs/ClangFormat.html) to format the source code.
|
Angular uses [clang-format](https://clang.llvm.org/docs/ClangFormat.html) to format the source code.
|
||||||
If the source code is not properly formatted, the CI will fail and the PR cannot be merged.
|
If the source code is not properly formatted, the CI will fail and the PR cannot be merged.
|
||||||
|
|
||||||
You can automatically format your code by running:
|
You can automatically format your code by running:
|
||||||
|
|
|
@ -67,7 +67,7 @@ If the problem still exists in your application, please [open a new issue](https
|
||||||
|
|
||||||
## Angular: Support Request (v1)
|
## Angular: Support Request (v1)
|
||||||
```
|
```
|
||||||
Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on [StackOverflow](http://stackoverflow.com/) using tag `angular`.
|
Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on [StackOverflow](https://stackoverflow.com/) using tag `angular`.
|
||||||
|
|
||||||
If you are wondering why we don't resolve support issues via the issue tracker, please [check out this explanation](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-got-a-question-or-problem).
|
If you are wondering why we don't resolve support issues via the issue tracker, please [check out this explanation](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-got-a-question-or-problem).
|
||||||
```
|
```
|
||||||
|
|
|
@ -114,7 +114,7 @@ For integration tests we use the puppeteer provisioned version of Chrome. For bo
|
||||||
|
|
||||||
The sandbox needs to be disabled with the `--no-sandbox` flag for both Karma and Protractor tests, because it causes Chrome to crash on some environments.
|
The sandbox needs to be disabled with the `--no-sandbox` flag for both Karma and Protractor tests, because it causes Chrome to crash on some environments.
|
||||||
|
|
||||||
See: http://chromedriver.chromium.org/help/chrome-doesn-t-start
|
See: https://chromedriver.chromium.org/help/chrome-doesn-t-start
|
||||||
See: https://github.com/puppeteer/puppeteer/blob/v1.0.0/docs/troubleshooting.md#chrome-headless-fails-due-to-sandbox-issues
|
See: https://github.com/puppeteer/puppeteer/blob/v1.0.0/docs/troubleshooting.md#chrome-headless-fails-due-to-sandbox-issues
|
||||||
|
|
||||||
### Headless: --headless
|
### Headless: --headless
|
||||||
|
|
|
@ -15,6 +15,6 @@ export class AppComponent {
|
||||||
constructor(private http: HttpClient) {}
|
constructor(private http: HttpClient) {}
|
||||||
|
|
||||||
time$: Observable<string> =
|
time$: Observable<string> =
|
||||||
this.http.get('http://worldtimeapi.org/api/timezone/America/Los_Angeles.json')
|
this.http.get('https://worldtimeapi.org/api/timezone/America/Los_Angeles.json')
|
||||||
.pipe(map((result: any) => result.datetime), startWith(['...']));
|
.pipe(map((result: any) => result.datetime), startWith(['...']));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.
|
||||||
|
|
||||||
## Running end-to-end tests
|
## Running end-to-end tests
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||||
|
|
||||||
## Further help
|
## Further help
|
||||||
|
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.
|
||||||
|
|
||||||
## Running end-to-end tests
|
## Running end-to-end tests
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||||
|
|
||||||
## Further help
|
## Further help
|
||||||
|
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.
|
||||||
|
|
||||||
## Running end-to-end tests
|
## Running end-to-end tests
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||||
|
|
||||||
## Further help
|
## Further help
|
||||||
|
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.
|
||||||
|
|
||||||
## Running end-to-end tests
|
## Running end-to-end tests
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||||
|
|
||||||
## Further help
|
## Further help
|
||||||
|
|
||||||
|
|
|
@ -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
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
|
|
|
@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.
|
||||||
|
|
||||||
## Running end-to-end tests
|
## Running end-to-end tests
|
||||||
|
|
||||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
Run `ng e2e` to execute the end-to-end tests via [Protractor](https://www.protractortest.org/).
|
||||||
|
|
||||||
## Further help
|
## Further help
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class RedDec {
|
||||||
|
|
||||||
// Angular supports 2 basic types of directives:
|
// Angular supports 2 basic types of directives:
|
||||||
// - Component - the basic building blocks of Angular apps. Backed by
|
// - Component - the basic building blocks of Angular apps. Backed by
|
||||||
// ShadowDom.(http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/)
|
// ShadowDom. (https://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/)
|
||||||
// - Directive - add behavior to existing elements.
|
// - Directive - add behavior to existing elements.
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|
|
@ -67,5 +67,5 @@
|
||||||
|
|
||||||
<footer id="info">
|
<footer id="info">
|
||||||
<p>Double-click to edit a todo</p>
|
<p>Double-click to edit a todo</p>
|
||||||
<p>Created by <a href="http://twitter.com/angular">The Angular Team</a></p>
|
<p>Created by <a href="https://twitter.com/angular">The Angular Team</a></p>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -122,7 +122,7 @@ export class CssKeyframesDriver implements AnimationDriver {
|
||||||
if (!this._warningIssued) {
|
if (!this._warningIssued) {
|
||||||
console.warn(
|
console.warn(
|
||||||
'@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n',
|
'@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n',
|
||||||
' visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');
|
' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');
|
||||||
this._warningIssued = true;
|
this._warningIssued = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -812,7 +812,7 @@ Run the Angular AOT template compiler.
|
||||||
|
|
||||||
This rule extends the [ts_library] rule.
|
This rule extends the [ts_library] rule.
|
||||||
|
|
||||||
[ts_library]: http://tsetse.info/api/build_defs.html#ts_library
|
[ts_library]: https://bazelbuild.github.io/rules_nodejs/TypeScript.html#ts_library
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def ng_module_macro(tsconfig = None, **kwargs):
|
def ng_module_macro(tsconfig = None, **kwargs):
|
||||||
|
|
|
@ -45,7 +45,7 @@ This new rule leverages ngtsc plugin supported by `ts_library`, and it is much f
|
||||||
|
|
||||||
For the latest recommendations, please refer to the canonical Angular Bazel [repo](https://github.com/bazelbuild/rules_nodejs/tree/master/examples/angular).
|
For the latest recommendations, please refer to the canonical Angular Bazel [repo](https://github.com/bazelbuild/rules_nodejs/tree/master/examples/angular).
|
||||||
|
|
||||||
For questions, please ask in the `#angular` channel in http://slack.bazel.build/.
|
For questions, please ask in the `#angular` channel in https://slack.bazel.build/.
|
||||||
|
|
||||||
## Angular CLI
|
## Angular CLI
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class Statistic {
|
||||||
|
|
||||||
static calculateRegressionSlope(
|
static calculateRegressionSlope(
|
||||||
xValues: number[], xMean: number, yValues: number[], yMean: number) {
|
xValues: number[], xMean: number, yValues: number[], yMean: number) {
|
||||||
// See http://en.wikipedia.org/wiki/Simple_linear_regression
|
// See https://en.wikipedia.org/wiki/Simple_linear_regression
|
||||||
let dividendSum = 0;
|
let dividendSum = 0;
|
||||||
let divisorSum = 0;
|
let divisorSum = 0;
|
||||||
for (let i = 0; i < xValues.length; i++) {
|
for (let i = 0; i < xValues.length; i++) {
|
||||||
|
|
|
@ -141,7 +141,7 @@ export class HttpXhrBackend implements HttpBackend {
|
||||||
return headerResponse;
|
return headerResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read status and normalize an IE9 bug (http://bugs.jquery.com/ticket/1450).
|
// Read status and normalize an IE9 bug (https://bugs.jquery.com/ticket/1450).
|
||||||
const status: number = xhr.status === 1223 ? 204 : xhr.status;
|
const status: number = xhr.status === 1223 ? 204 : xhr.status;
|
||||||
const statusText = xhr.statusText || 'OK';
|
const statusText = xhr.statusText || 'OK';
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import {HttpParams} from '@angular/common/http/src/params';
|
||||||
import {HttpRequest} from '@angular/common/http/src/request';
|
import {HttpRequest} from '@angular/common/http/src/request';
|
||||||
import {ddescribe, describe, it} from '@angular/core/testing/src/testing_internal';
|
import {ddescribe, describe, it} from '@angular/core/testing/src/testing_internal';
|
||||||
|
|
||||||
const TEST_URL = 'http://angular.io';
|
const TEST_URL = 'https://angular.io/';
|
||||||
const TEST_STRING = `I'm a body!`;
|
const TEST_STRING = `I'm a body!`;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,7 +44,7 @@ export class LowerCasePipe implements PipeTransform {
|
||||||
//
|
//
|
||||||
// Regex below matches any Unicode word and compatible with ES5. In ES2018 the same result
|
// Regex below matches any Unicode word and compatible with ES5. In ES2018 the same result
|
||||||
// can be achieved by using /\p{L}\S*/gu and also known as Unicode Property Escapes
|
// can be achieved by using /\p{L}\S*/gu and also known as Unicode Property Escapes
|
||||||
// (http://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no
|
// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no
|
||||||
// transpilation of this functionality down to ES5 without external tool, the only solution is
|
// transpilation of this functionality down to ES5 without external tool, the only solution is
|
||||||
// to use already transpiled form. Example can be found here -
|
// to use already transpiled form. Example can be found here -
|
||||||
// https://mothereff.in/regexpu#input=var+regex+%3D+/%5Cp%7BL%7D/u%3B&unicodePropertyEscape=1
|
// https://mothereff.in/regexpu#input=var+regex+%3D+/%5Cp%7BL%7D/u%3B&unicodePropertyEscape=1
|
||||||
|
|
|
@ -444,7 +444,7 @@ export class $locationShim {
|
||||||
/**
|
/**
|
||||||
* Retrieves the full URL representation with all segments encoded according to
|
* Retrieves the full URL representation with all segments encoded according to
|
||||||
* rules specified in
|
* rules specified in
|
||||||
* [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt).
|
* [RFC 3986](https://tools.ietf.org/html/rfc3986).
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
|
|
|
@ -297,7 +297,7 @@ function toKeyValue(obj: {[k: string]: unknown}) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We need our custom method because encodeURIComponent is too aggressive and doesn't follow
|
* We need our custom method because encodeURIComponent is too aggressive and doesn't follow
|
||||||
* http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path
|
* https://tools.ietf.org/html/rfc3986 with regards to the character set (pchar) allowed in path
|
||||||
* segments:
|
* segments:
|
||||||
* segment = *pchar
|
* segment = *pchar
|
||||||
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
||||||
|
@ -316,7 +316,7 @@ function encodeUriSegment(val: string) {
|
||||||
/**
|
/**
|
||||||
* This method is intended for encoding *key* or *value* parts of query component. We need a custom
|
* This method is intended for encoding *key* or *value* parts of query component. We need a custom
|
||||||
* method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be
|
* method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be
|
||||||
* encoded per http://tools.ietf.org/html/rfc3986:
|
* encoded per https://tools.ietf.org/html/rfc3986:
|
||||||
* query = *( pchar / "/" / "?" )
|
* query = *( pchar / "/" / "?" )
|
||||||
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
||||||
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
||||||
|
|
|
@ -158,7 +158,7 @@ export interface CompilerHost extends ts.CompilerHost, ExtendedTsCompilerHost {
|
||||||
* Produce an AMD module name for the source file. Used in Bazel.
|
* Produce an AMD module name for the source file. Used in Bazel.
|
||||||
*
|
*
|
||||||
* An AMD module can have an arbitrary name, so that it is require'd by name
|
* An AMD module can have an arbitrary name, so that it is require'd by name
|
||||||
* rather than by path. See http://requirejs.org/docs/whyamd.html#namedmodules
|
* rather than by path. See https://requirejs.org/docs/whyamd.html#namedmodules
|
||||||
*/
|
*/
|
||||||
amdModuleName?(sf: ts.SourceFile): string|undefined;
|
amdModuleName?(sf: ts.SourceFile): string|undefined;
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,7 +103,7 @@ class _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {
|
||||||
/**
|
/**
|
||||||
* Compute the SHA1 of the given string
|
* Compute the SHA1 of the given string
|
||||||
*
|
*
|
||||||
* see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
|
* see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
|
||||||
*
|
*
|
||||||
* WARNING: this function has not been designed not tested with security in mind.
|
* WARNING: this function has not been designed not tested with security in mind.
|
||||||
* DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.
|
* DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.
|
||||||
|
@ -349,7 +349,7 @@ const base256 = new BigIntExponentiation(256);
|
||||||
* Represents two 32-bit words as a single decimal number. This requires a big integer storage
|
* Represents two 32-bit words as a single decimal number. This requires a big integer storage
|
||||||
* model as JS numbers are not accurate enough to represent the 64-bit number.
|
* model as JS numbers are not accurate enough to represent the 64-bit number.
|
||||||
*
|
*
|
||||||
* Based on http://www.danvk.org/hex2dec.html
|
* Based on https://www.danvk.org/hex2dec.html
|
||||||
*/
|
*/
|
||||||
function wordsToDecimalString(hi: number, lo: number): string {
|
function wordsToDecimalString(hi: number, lo: number): string {
|
||||||
// Encode the four bytes in lo in the lower digits of the decimal number.
|
// Encode the four bytes in lo in the lower digits of the decimal number.
|
||||||
|
|
|
@ -31,8 +31,8 @@ const _UNIT_TAG = 'trans-unit';
|
||||||
const _CONTEXT_GROUP_TAG = 'context-group';
|
const _CONTEXT_GROUP_TAG = 'context-group';
|
||||||
const _CONTEXT_TAG = 'context';
|
const _CONTEXT_TAG = 'context';
|
||||||
|
|
||||||
// http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html
|
// https://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html
|
||||||
// http://docs.oasis-open.org/xliff/v1.2/xliff-profile-html/xliff-profile-html-1.2.html
|
// https://docs.oasis-open.org/xliff/v1.2/xliff-profile-html/xliff-profile-html-1.2.html
|
||||||
export class Xliff extends Serializer {
|
export class Xliff extends Serializer {
|
||||||
write(messages: i18n.Message[], locale: string|null): string {
|
write(messages: i18n.Message[], locale: string|null): string {
|
||||||
const visitor = new _WriteVisitor();
|
const visitor = new _WriteVisitor();
|
||||||
|
|
|
@ -28,7 +28,7 @@ const _SOURCE_TAG = 'source';
|
||||||
const _TARGET_TAG = 'target';
|
const _TARGET_TAG = 'target';
|
||||||
const _UNIT_TAG = 'unit';
|
const _UNIT_TAG = 'unit';
|
||||||
|
|
||||||
// http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/xliff-core-v2.0-os.html
|
// https://docs.oasis-open.org/xliff/xliff-core/v2.0/os/xliff-core-v2.0-os.html
|
||||||
export class Xliff2 extends Serializer {
|
export class Xliff2 extends Serializer {
|
||||||
write(messages: i18n.Message[], locale: string|null): string {
|
write(messages: i18n.Message[], locale: string|null): string {
|
||||||
const visitor = new _WriteVisitor();
|
const visitor = new _WriteVisitor();
|
||||||
|
|
|
@ -35,7 +35,7 @@ export interface ModuleWithComponentFactories {
|
||||||
*
|
*
|
||||||
* @security When compiling templates at runtime, you must ensure that the entire template comes
|
* @security When compiling templates at runtime, you must ensure that the entire template comes
|
||||||
* from a trusted source. Attacker-controlled data introduced by a template could expose your
|
* from a trusted source. Attacker-controlled data introduced by a template could expose your
|
||||||
* application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
|
* application to XSS risks. For more detail, see the [Security Guide](https://g.co/ng/security).
|
||||||
*/
|
*/
|
||||||
export class JitCompiler {
|
export class JitCompiler {
|
||||||
private _compiledTemplateCache = new Map<Type, CompiledTemplate>();
|
private _compiledTemplateCache = new Map<Type, CompiledTemplate>();
|
||||||
|
|
|
@ -54,7 +54,7 @@ export class HtmlTagDefinition implements TagDefinition {
|
||||||
|
|
||||||
let _DEFAULT_TAG_DEFINITION!: HtmlTagDefinition;
|
let _DEFAULT_TAG_DEFINITION!: HtmlTagDefinition;
|
||||||
|
|
||||||
// see http://www.w3.org/TR/html51/syntax.html#optional-tags
|
// see https://www.w3.org/TR/html51/syntax.html#optional-tags
|
||||||
// This implementation does not fully conform to the HTML5 spec.
|
// This implementation does not fully conform to the HTML5 spec.
|
||||||
let TAG_DEFINITIONS!: {[key: string]: HtmlTagDefinition};
|
let TAG_DEFINITIONS!: {[key: string]: HtmlTagDefinition};
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,7 @@ class _ControlFlowError {
|
||||||
constructor(public error: TokenError) {}
|
constructor(public error: TokenError) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// See http://www.w3.org/TR/html51/syntax.html#writing
|
// See https://www.w3.org/TR/html51/syntax.html#writing-html-documents
|
||||||
class _Tokenizer {
|
class _Tokenizer {
|
||||||
private _cursor: CharacterCursor;
|
private _cursor: CharacterCursor;
|
||||||
private _tokenizeIcu: boolean;
|
private _tokenizeIcu: boolean;
|
||||||
|
@ -200,7 +200,7 @@ class _Tokenizer {
|
||||||
if (this._preserveLineEndings) {
|
if (this._preserveLineEndings) {
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
// http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream
|
// https://www.w3.org/TR/html51/syntax.html#preprocessing-the-input-stream
|
||||||
// In order to keep the original position in the source, we can not
|
// In order to keep the original position in the source, we can not
|
||||||
// pre-process it.
|
// pre-process it.
|
||||||
// Instead CRs are processed right before instantiating the tokens.
|
// Instead CRs are processed right before instantiating the tokens.
|
||||||
|
|
|
@ -63,7 +63,7 @@ export function mergeNsAndName(prefix: string, localName: string): string {
|
||||||
return prefix ? `:${prefix}:${localName}` : localName;
|
return prefix ? `:${prefix}:${localName}` : localName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// see http://www.w3.org/TR/html51/syntax.html#named-character-references
|
// see https://www.w3.org/TR/html51/syntax.html#named-character-references
|
||||||
// see https://html.spec.whatwg.org/multipage/entities.json
|
// see https://html.spec.whatwg.org/multipage/entities.json
|
||||||
// This list is not exhaustive to keep the compiler footprint low.
|
// This list is not exhaustive to keep the compiler footprint low.
|
||||||
// The `{` / `ƫ` syntax should be used when the named character reference does not
|
// The `{` / `ƫ` syntax should be used when the named character reference does not
|
||||||
|
|
|
@ -31,7 +31,7 @@ export function createOfflineCompileUrlResolver(): UrlResolver {
|
||||||
* @security When compiling templates at runtime, you must
|
* @security When compiling templates at runtime, you must
|
||||||
* ensure that the entire template comes from a trusted source.
|
* ensure that the entire template comes from a trusted source.
|
||||||
* Attacker-controlled data introduced by a template could expose your
|
* Attacker-controlled data introduced by a template could expose your
|
||||||
* application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
|
* application to XSS risks. For more detail, see the [Security Guide](https://g.co/ng/security).
|
||||||
*/
|
*/
|
||||||
export interface UrlResolver {
|
export interface UrlResolver {
|
||||||
resolve(baseUrl: string, url: string): string;
|
resolve(baseUrl: string, url: string): string;
|
||||||
|
@ -139,7 +139,7 @@ function _buildFromEncodedParts(
|
||||||
/**
|
/**
|
||||||
* A regular expression for breaking a URI into its component parts.
|
* A regular expression for breaking a URI into its component parts.
|
||||||
*
|
*
|
||||||
* {@link http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#RFC2234} says
|
* {@link https://tools.ietf.org/html/rfc3986#appendix-B} says
|
||||||
* As the "first-match-wins" algorithm is identical to the "greedy"
|
* As the "first-match-wins" algorithm is identical to the "greedy"
|
||||||
* disambiguation method used by POSIX regular expressions, it is natural and
|
* disambiguation method used by POSIX regular expressions, it is natural and
|
||||||
* commonplace to use a regular expression for parsing the potential five
|
* commonplace to use a regular expression for parsing the potential five
|
||||||
|
|
|
@ -82,7 +82,7 @@ import {humanizeDom, humanizeDomSourceSpans, humanizeLineColumn, humanizeNodes}
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not error on void elements from HTML5 spec',
|
it('should not error on void elements from HTML5 spec',
|
||||||
() => { // http://www.w3.org/TR/html-markup/syntax.html#syntax-elements without:
|
() => { // https://html.spec.whatwg.org/multipage/syntax.html#syntax-elements without:
|
||||||
// <base> - it can be present in head only
|
// <base> - it can be present in head only
|
||||||
// <meta> - it can be present in head only
|
// <meta> - it can be present in head only
|
||||||
// <command> - obsolete
|
// <command> - obsolete
|
||||||
|
|
|
@ -37,7 +37,7 @@ const SWITCH_CHANGE_DETECTOR_REF_FACTORY: typeof injectChangeDetectorRef =
|
||||||
*
|
*
|
||||||
* The following example sets the `OnPush` change-detection strategy for a component
|
* The following example sets the `OnPush` change-detection strategy for a component
|
||||||
* (`CheckOnce`, rather than the default `CheckAlways`), then forces a second check
|
* (`CheckOnce`, rather than the default `CheckAlways`), then forces a second check
|
||||||
* after an interval. See [live demo](http://plnkr.co/edit/GC512b?p=preview).
|
* after an interval. See [live demo](https://plnkr.co/edit/GC512b?p=preview).
|
||||||
*
|
*
|
||||||
* <code-example path="core/ts/change_detect/change-detection.ts"
|
* <code-example path="core/ts/change_detect/change-detection.ts"
|
||||||
* region="mark-for-check"></code-example>
|
* region="mark-for-check"></code-example>
|
||||||
|
|
|
@ -45,7 +45,7 @@ const SWITCH_ELEMENT_REF_FACTORY: typeof injectElementRef = SWITCH_ELEMENT_REF_F
|
||||||
*
|
*
|
||||||
* @security Permitting direct access to the DOM can make your application more vulnerable to
|
* @security Permitting direct access to the DOM can make your application more vulnerable to
|
||||||
* XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
|
* XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
|
||||||
* [Security Guide](http://g.co/ng/security).
|
* [Security Guide](https://g.co/ng/security).
|
||||||
*
|
*
|
||||||
* @publicApi
|
* @publicApi
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -14,8 +14,8 @@ shown here: https://jsperf.com/small-arrays-vs-linked-objects
|
||||||
## Monomorphic vs Megamorphic code
|
## Monomorphic vs Megamorphic code
|
||||||
|
|
||||||
Great reads:
|
Great reads:
|
||||||
- [What's up with monomorphism?](http://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html)
|
- [What's up with monomorphism?](https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html)
|
||||||
- [Impact of polymorphism on component-based frameworks like React](http://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/)
|
- [Impact of polymorphism on component-based frameworks like React](https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/)
|
||||||
|
|
||||||
1) Monomorphic prop access is 100 times faster than megamorphic.
|
1) Monomorphic prop access is 100 times faster than megamorphic.
|
||||||
2) Monomorphic call is 4 times faster the megamorphic call.
|
2) Monomorphic call is 4 times faster the megamorphic call.
|
||||||
|
|
|
@ -606,7 +606,8 @@ function walkIcuTree(
|
||||||
ngDevMode &&
|
ngDevMode &&
|
||||||
console.warn(
|
console.warn(
|
||||||
`WARNING: ignoring unsafe attribute value ` +
|
`WARNING: ignoring unsafe attribute value ` +
|
||||||
`${lowerAttrName} on element ${tagName} (see http://g.co/ng/security#xss)`);
|
`${lowerAttrName} on element ${tagName} ` +
|
||||||
|
`(see https://g.co/ng/security#xss)`);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addCreateAttribute(create, newIndex, attr);
|
addCreateAttribute(create, newIndex, attr);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue