21902 Commits

Author SHA1 Message Date
Andrew Scott c7c285cec7 release: cut the v12.2.10 release (#43826) 12.2.10 2021-10-13 10:59:37 -07:00
dario-piotrowicz 2a5eb8e7a0 refactor(docs-infra): remove unnecessary tsconfig.json file (#43818)
the tsconfig.json file in aio/content/examples does not seem necessary
anymore as it was only used for tslinting and tslint has been removed
from the examples in PR #43592 and PR #43746

PR Close #43818
2021-10-13 16:51:10 +00:00
dario-piotrowicz d050b57478 docs(core): apply minor improvements to the InjectionToken's api docs (#43693)
PR Close #43693
2021-10-13 16:46:27 +00:00
Joe Martin (Crowdstaffing) 7878a6e987 docs: update internationalization topics (#43722)
Add new $localize and Ivy content.  Clean up navigation.

PR Close #43722
2021-10-12 21:38:38 +00:00
dario-piotrowicz fced3e88cf docs(animations): fix wrong code links present in the animations guide (#43787)
fix the links present in the animations guide under td elements written as
`<code>[text](link)()</code>` which are not rendered properly

Note:
  - the bug was introduced in PR #42885
  - the bug is only present for code blocks inside html block elements,
    the aforementioned format can be used in the inline html elements without issues

PR Close #43787
2021-10-12 17:47:59 +00:00
mgechev e907ad728d docs: update ngUpgrade support message (#43704)
PR Close #43704
2021-10-12 17:46:15 +00:00
Alan Agius c1586a1360 docs: update how to remove a configuration item (#43795)
To remove a configuration item, `undefined` needs to be used as value.
PR Close #43795
2021-10-12 17:44:55 +00:00
Alan Agius 9e2af9da2e docs: update config path in per user tracking section (#43795)
`cli.analyticsSharing.user` is not a valid config path. `cli.analyticsSharing.uuid` is the correct one.

Partially addresses https://github.com/angular/angular-cli/issues/21916

PR Close #43795
2021-10-12 17:44:55 +00:00
David Shevitz 12fa7dce93 docs: add redirect from angular.io/guide to angular.io/docs (#43341)
PR Close #43341
2021-10-12 17:41:48 +00:00
Daniel Díaz 82b4a1dec0 docs: fix typo in hierarchical injectors file (#43652)
PR Close #43652
2021-10-12 17:41:25 +00:00
Thomas Turrell-Croft 95b93e40da docs: Formalize language describing HttpClient (#43778)
PR Close #43778
2021-10-11 16:43:15 +00:00
Tanguy Nodet 7bd0d5f0ee docs: add missing declaration of CartComponent in tutorial (#43774)
PR Close #43774
2021-10-11 16:42:35 +00:00
dario-piotrowicz dbc17be3e2 refactor(docs-infra): remove linting from i18n example angular.json (#43747)
remove linting from the i18n angular.json example as that is no longer
present in the boilerplace angular.json (and the two should be kept in
sync)

note: the linting was removed from the boilerplate angular.json file in PR #43592

PR Close #43747
2021-10-08 20:42:00 +00:00
Doug Parker 08c4a269de docs: update CSP section to mention Angular's minimum requirements (#43553)
Closes angular/angular-cli#21711.
Refs #6361, #37631.

PR Close #43553
2021-10-08 20:40:53 +00:00
George Kalpakas 8b33232215 fix(docs-infra): ensure SwUpdatesService is instantiated (#43766)
In 305d05545a, we accidentally stopped
instantiating the `SwUpdatesService` service, which meant that we were
no longer subscribing to ServiceWorker update events and proactively
checking for updates. We would still gets updates, because the
ServiceWorker automatically checks on each navigation request and when a
new ServiceWorker instance is created, but we would not proactively
fetch updates and also miss `unrecoverable` errors.

This commit fixes this by exposing an `enable()` method from
`SwUpdatesService`, which has to be explicitly called for the service to
be enabled, and ensures that the method is called when `AppComponent` is
initialized.
The commit also gets rid of the `SwUpdatesModule` (whose only purpose
was to provide `SwUpdatesService`) in favor of using `providedIn`.

Fixes #43695

PR Close #43766
2021-10-08 20:39:45 +00:00
markostanimirovic d1b5692df3 docs: fix forms in template examples (#43772)
PR Close #43772
2021-10-08 20:39:12 +00:00
hchiam d35447d06a docs(docs-infra): fix a11y of external links (#43725)
prevent screen readers from falsely announcing "open_in_new" since they may not actually open new tabs/windows but simply send the current page to a domain outside angular.io

Fixes #43512

PR Close #43725
2021-10-07 20:55:24 +00:00
Dylan Hunn ca3b552af2 release: cut the v12.2.9 release (#43749)
PR Close #43749
12.2.9
2021-10-06 15:47:55 -07:00
dario-piotrowicz a0cf71717b fix(docs-infra): convert button-like elements to actual buttons (#43601)
some elements in the aio application are anchors or divs but behave
like buttons, it is semantically (and a11y) more correct to convert
them to actual button elements instead

PR Close #43601
2021-10-06 09:22:05 -07:00
Kristiyan Kostadinov df7fd87084 refactor(language-service): fix typo in method name (#43698)
The `fineRenameLocations` method should be called `findRenameLocations`.

PR Close #43698
2021-10-06 09:21:34 -07:00
Pete Bacon Darwin c9e21d080f build(docs-infra): ensure all overloads are shown in interfaces (#43734)
In the API docs, concrete classes do not list the "implementation" overload on a method, since this is not strictly part of its API.

We recently fixed the rendering of interfaces to display all the overloads, since there is no "implementation" overload.

This commit also fixes the rendering of "pseudo-classes", which are a combination of an interface
and a constant.

Fixes #43001

PR Close #43734
2021-10-06 09:21:09 -07:00
Alan Agius f45c692dd9 ci: change ownership of goldens/public-api/manage.js (#43664)
With this change we change ownership of `goldens/public-api/manage.js` from `public-api` to `dev-infra`. This file is a script to manage public-api golden files and therefore it should fall under the dev-infra umbrella.

PR Close #43664
2021-10-05 13:36:37 -07:00
George Kalpakas c4ecc07838 fix(service-worker): make ngsw.json generation deterministic and correct (#43679)
Previously, all asset-groups from `ngsw-config.json` were processed in
parallel. For each asset-group, we retrieved all files for the current
build, filtered out files that were already matched by other
asset-groups, determined which of the remaining files belonged to the
current asset-group and generated entries for the `ngsw.json` manifest.
This process was susceptible to race conditions when there were files
that would be matched by multiple asset-groups. This made the generation
of the `ngsw.json` manifest non-deterministic and violated the rule that
each file would belong to the first asset-group that matched it (based
on the asset-groups' order of appearance in `ngsw-config.json`), thus
leading to broken ServiceWorker behavior.

This commit fixes it by ensuring that the generation process is
deterministic and that asset-groups are processed in the proper order.

NOTE 1:
The generation process has been broken since the beginning, but we have
only noticed this recently. This is possibly related to the CLI's
switching from a virtual file system host (which has more consistent
timing characteristics) to the Node.js built-in `fs.promises` in
angular/angular-cli@d3bc530c10.

NOTE 2:
This commit also ensures that files in the `ngsw.json` hash-table are in
alphabetic order. Previously, the files were added to the hash-table in
blocks corresponding to each asset-group.
This change is not necessary (i.e. the order of keys in the hash-table
makes no difference in behavior), but it makes it easier to scan for a
file (for example, for debugging purposes).

PR Close #43679
2021-10-05 13:34:31 -07:00
George Kalpakas 307da62cd9 build(docs-infra): ensure ngsw.json generation is correct and deterministic (#43687)
As explained in #43679, currently the generation of the `ngsw.json` SW
manifest is non-deterministic and often incorrect. Until we can update
to an `@angular/service-worker` version that includes the fix from
PR #43679, we temporarily work-around the issue by re-generating the
`ngsw.json` manifest after `ng build` using the `ngsw-config` binary
exposed by `@angular/service-worker`.

NOTE:
This works around the issue, because the [FileSystem][1] class used by
the `ngsw-config` binary happens to be synchronous (unlike the
implementation provided by the Angular CLI), thus avoiding the race
conditions described in #43679.

[1]: https://github.com/angular/angular/blob/c721135e370b34c840756bcfb22c8119b4c8c452/packages/service-worker/cli/filesystem.ts#L15

PR Close #43687
2021-10-05 09:49:15 -07:00
George Kalpakas fb29da27cb build(docs-infra): update Angular Material to version 12.2.8 (#43687)
This commit updates angular.io to the latest stable version of Angular
CDK/Material (v12.2.8).

NOTE:
The payload size changes in styles are not entriely caused by this
commit, since the limits where outdated. The actual size changes caused
by this commit are ~100B per theme:
- `light-theme`: 79217 --> 79320
- `dark-theme`:  79116 --> 79216

PR Close #43687
2021-10-05 09:49:14 -07:00
George Kalpakas 087c37cc5c build(docs-infra): update Angular framework to version 12.2.8 (#43687)
This commit updates angular.io to the latest stable version of the
Angular framework (v12.2.8). Among other benefits, this version also
includes the ServiceWorker fix from #43518, which fixes #28114.

NOTE:
This commit also makes the necessary changes to more closely align
angular.io with new apps created with the latest stable Angular CLI.

Fixes #28114

PR Close #43687
2021-10-05 09:49:14 -07:00
George Kalpakas 04372247b6 refactor(docs-infra): prefix error messages with Angular version info (#43687)
Prefix error messages with the Angular version currently used in the
angular.io app. This applies to both errors logged to the console and
reported to Google Analytics and makes debugging certain errors easier.

PR Close #43687
2021-10-05 09:49:14 -07:00
George Kalpakas 5344dfecfe build(docs-infra): use $schema in ngsw-config.template.json to provide intellisense (#43687)
Add an appropriate `$schema` property in `ngsw-config.template.json` to
allow IDEs to provide intellisense about the various fields of the
config.

PR Close #43687
2021-10-05 09:49:14 -07:00
Wey-Han Liaw 7f6050587d fix(router): unset attachRef when router-outlet is destroyed to avoid mounting a destroyed component (#43697)
Previously, when a router-outlet is conditionally shown with an ngIf, and a sub-route was re-attached
via a custom RouteReuseStrategy, router-outlet would try to mount a destroyed component into the view
if the router-outlet is destroyed and re-initialized.

This commit fixes it by unsetting context.attachRef when router-outlet is destroyed, so when the
router-outlet is being initialized again, it no longer sees an attachRef that it needs to mount to the
view.

Fixes #43696

PR Close #43697
2021-10-05 09:48:41 -07:00
dario-piotrowicz 7bc46a877d fix(docs-infra): amend color of code links inside single anchors (#43586)
when some auto code links fail to happen they can be added manually
with the md ``[`code text`](link)``, these generate anchor elements which
contain a code element, such code element does not get the correct text
color, this commit fixes such issue

PR Close #43586
2021-10-04 16:31:17 -07:00
iRealNirmal dc885ebae4 docs: move angular-compiler-options tsconfig snippets to external file (#43545)
Moving angular-compiler-options docs inline code to external file of tsconfig.json and tsconfig.app.json.

closes #43336

PR Close #43545
2021-10-04 10:55:05 -07:00
ultrasonicsoft 12c1b9fcc5 docs: add balram chavan to GDE resources (#43658)
PR Close #43658
2021-10-04 10:53:59 -07:00
mgechev 04f2fd6d15 docs: add developer survey 2021 (#43670)
PR Close #43670
2021-10-04 10:24:59 -07:00
JoostK b4b441077a fix(core): handle invalid constructor parameters in partial factory declarations (#43619)
This commit fixes an oversight in the JIT compilation of partial factory
declarations, where the literal `'invalid'` was not accounted for
(unlike the AOT linker).

Fixes #43609

PR Close #43619
2021-10-01 12:24:31 -04:00
Daniel Díaz 75f74ded5f docs: fix typo in AOT compiler (#43640)
PR Close #43640
2021-10-01 12:24:01 -04:00
little-pinecone 74f71b483f docs: add button type in form array example (#43666)
add a button type in the example of creating a dynamic form so that the button that adds the alias control does not submit the entire form

PR Close #43666
2021-10-01 12:23:10 -04:00
George Kalpakas f3b2c717e5 docs: update commit message guidelines to reflect current requirements (#43650)
Update the commit message guidelines in `CONTRIBUTING.md` to reflect
recent changes in our dev-infra tooling:
- Remove the mention of the 100 chars/line limit, since that is
  [no longer in effect][1].
- Mention Deprecation sections:
  According to our [Deprecation practices][2], we should document
  deprecations in the Changelog, which our tooling supports via
  [DEPRECATED][3] sections in commit messages. Yet this was not
  mentioned in the commit message guidelines.

[1]: https://github.com/angular/angular/blob/a07cb097e9124738880f7978658a2972d25b892e/.ng-dev/commit-message.ts#L7
[2]: https://angular.io/guide/releases#deprecation-practices
[3]: https://github.com/angular/dev-infra/blob/b51360a7cc39cb3deb5ae1bf0bfb121fe7ee0a4e/ng-dev/commit-message/parse.ts#L77

PR Close #43650
2021-10-01 08:55:02 -07:00
xiaohanxu-nick fa0c57bc21 docs: fix missing step in get started example (#43646)
PR Close #43646
2021-10-01 08:46:02 -07:00
dario-piotrowicz c13f7cd1c3 docs: disable erroneous "browser" code links (#43554)
fix the keyword "browser" present in code segments being incorrectly
generated as a link to "api/animations/browser" by applying the
no-auto-link class

PR Close #43554
2021-10-01 08:36:08 -07:00
dario-piotrowicz 7a6cd8866a docs(animations): improve the aio animations introduction (#42885)
improve slightly the angular.io animation introduction guide, such
improvement are styling, information and clarity related

PR Close #42885
2021-10-01 08:34:20 -07:00
Alex Rickabaugh d6679e2969 release: cut the v12.2.8 release (#43654)
PR Close #43654
12.2.8
2021-09-30 13:02:15 -07:00
Alex Rickabaugh ca6bcb7d66 Revert "fix(language-service): provide dom event completions (#43299)"
This reverts commit c8f8d7d3b1.

This commit breaks in IE11, which is still supported by v12, likely due to
the usage of `Array.from()`.
2021-09-30 10:15:56 -07:00
Andrew Scott ca0f057491 test(router): refactor tests to not use deprecated loadChildren (#43578)
Many of the tests in the router code use the deprecated loadChildren as a string. This
has been deprecated for years and can easily be changed to just a function that
returns the module.

PR Close #43578
2021-09-29 11:14:09 -07:00
Chris e3e424e7ca docs: clarify description of :host and :host-context selectors (#41332)
Fixes #39466

PR Close #41332
2021-09-29 10:00:07 -07:00
Daniel Díaz 7a68cd75f2 docs: fix typo in observables file (#43630)
PR Close #43630
2021-09-29 09:59:39 -07:00
Pete Bacon Darwin 59ad3997bc build(docs-infra): ensure all overloads are shown in interfaces (#43614)
In the API docs, concrete classes do not list the "implementation" overload on a method, since this is not strictly part of its API.
There is already a special case for abstract methods that do not have such an implementation overload.

But we were missing the case where the method was part of an interface. In interfaces none of the methods have implementation overloads.

Fixes #43001

PR Close #43614
2021-09-29 09:58:48 -07:00
dario-piotrowicz 8da56d78d9 docs: amend wrong links to async pipe (#43576)
PR Close #43576
2021-09-29 09:57:59 -07:00
Raj Sekhar c9cbe6e7d8 docs: fix broken link to measure performance (#43628)
* "Chrome DevTools Network Performance page" was pointing to a broken link, that was giving 404 error
* The new link points to the right article where it explains the resource timing & network analysis
PR Close #43628
2021-09-28 14:43:47 -07:00
Bobby Galli cfca3d0a5e docs: fix typos in .vscode/README.md (#43621)
PR Close #43621
2021-09-28 14:28:15 -07:00
wszgrcy c1338bf837 fix(compiler-cli): correctly interpret token arrays in @Injectable deps (#43226)
When specifying the `deps` array in the `@Injectable` decorator to
inject dependencies into the injectable's factory function, it should
be possible to use an array literal to configure how the dependency
should be resolved by the DI system.

For example, the following example is allowed:

```ts
@Injectable({
  providedIn: 'root',
  useFactory: a => new AppService(a),
  deps: [[new Optional(), 'a']],
})
export class AppService {
  constructor(a) {}
}
```

Here, the `'a'` string token should be injected as optional. However,
the AOT compiler incorrectly used the array literal itself as injection
token, resulting in a failure at runtime. Only if the token were to be
provided using `[new Optional(), new Inject('a')]` would it work
correctly.

This commit fixes the issue by using the last non-decorator in the
array literal as the token value, instead of the array literal itself.

Note that this is a loose interpretation of array literals: if a token
is omitted from the array literal then the array literal itself is used
as token, but any decorator such as `new Optional()` would still have
been applied. When there's multiple tokens in the list then only the
last one will be used as actual token, any prior tokens are silently
ignored. This behavior mirrors the JIT interpretation so is kept as is
for now, but may benefit from some stricter checking and better error
reporting in the future.

Fixes #42987

PR Close #43226
2021-09-28 14:15:49 -07:00