Commit graph

29561 commits

Author SHA1 Message Date
Paul Gschwendtner
925b574e32 ci: switch to explicit commit message body for renovate (#46676)
The commit body table by Renovate is sometimes not generated e.g. when
just dev-infra is being updated. In order to make our lint job happy
for such dev-infra updates, we should use an explicit message that is
at least 20 characters long.

PR Close #46676
2022-07-06 13:46:48 -07:00
Dylan Hunn
e9b5dac9ec fix(forms): Move all remaining errors in Forms to use RuntimeErrorCode. (#46654)
RuntimeErrorCode allows for better tree-shaking, and unique codes for each error.

PR Close #46654
2022-07-06 09:49:39 -07:00
Alan Agius
206a576ae4 refactor(core): remove unused tick method (#46722)
This method is unused and is not part of the public API.

PR Close #46722
2022-07-06 09:48:55 -07:00
Paul Gschwendtner
2972f07b04 ci: enable renovate dashboard issue (#46695)
We want to enable the Renovate dashboard to be able to trigger updates
which might be out of schedule, or to see if some updates are
stuck/pending, or to be able to rebase/try previously closed PRs.

PR Close #46695
2022-07-06 09:48:00 -07:00
Andrew Scott
458d3469cb
release: cut the v14.1.0-next.4 release (#46726) 2022-07-06 09:42:31 -07:00
Andrew Scott
e7b1922b9a
docs: release notes for the v14.0.5 release (#46725) 2022-07-06 09:31:02 -07:00
Andrew Scott
1f56320682 docs: Add BootstrapOptions to publicApi (#46679)
`BootstrapOptions` is exposed through `PlatformRef#bootstrapModule` but
is not included in the public API so you cannot find it on angular.io.
This commit simply marks the interface as public API (as it should be).

PR Close #46679
2022-07-06 08:55:37 -07:00
Andrew Scott
6c1357dd7d feat(router): Add stable cancelation code to NavigationCancel event (#46675)
This commit adds a stable cancelation code to the `NavigationCancel`
event. This code is acceptable for use in production whereas parsing the
`reason` string is not. This allows developers to determine more
specifically _why_ a navigation was canceled and perform different
actions in different scenarios.

PR Close #46675
2022-07-06 07:42:24 -07:00
Angular Robot
e96ece901c build: update dependency concurrently to v7 (#46698)
| datasource | package      | from  | to    |
| ---------- | ------------ | ----- | ----- |
| npm        | concurrently | 5.0.1 | 7.2.2 |
| npm        | concurrently | 5.3.0 | 7.2.2 |

PR Close #46698
2022-07-06 07:31:46 -07:00
George Kalpakas
b80a6e29cd docs(elements): fix typo in guide (@ --> @) (#46688)
HTML entities should not be used inside single backtick code blocks,
because they are not automatically decoded.

PR Close #46688
2022-07-06 07:31:15 -07:00
Alan Agius
5fd3bb6a15 docs: replace fix typo in (#46659)
`extract-18n` should be `extract-i18n`

PR Close #46659
2022-07-06 07:30:14 -07:00
Alan Agius
46ce009608 docs: fix typo in $localize description (#46659)
`18n` should be `i18n`

PR Close #46659
2022-07-06 07:30:13 -07:00
Alan Agius
fc66f56c12 fix(docs-infra): wrap enum values in CLI commands (#46658)
This commit changes the enum seperator in the CLI command overview pages so that wrapping is allowed.

PR Close #46658
2022-07-06 07:29:50 -07:00
Angular Robot
03e810eb3d build: update dependency supertest to v6 (#46627)
| datasource | package   | from  | to    |
| ---------- | --------- | ----- | ----- |
| npm        | supertest | 4.0.2 | 6.2.3 |

PR Close #46627
2022-07-06 07:29:20 -07:00
Pawel Kozlowski
96c6139c9a feat(core): add ability to set inputs on ComponentRef (#46641)
This change adds the setInput method to the ComponentRef.

Previously users had to call `componentRef.instance['inputName']`
to change inputs of a dynamically created component. This had
several problems:

*  OnPush components were not marked for check and thus very
difficult to test;
* input aliasing was not take into account - a property name
on a component could have been different from the actual input
name so setting input properties was fragile;
* manually setting input propertie would NOT trigger the
`NgOnChanges` lifecycle hook.

This modifications unifies `@Input` accross dynamically created
components and the ones referenced in templates. This also opens
doors to other changes: as an example router could use this new
method to set `@Input`s from router params.

Closes #12313
Closes #22567

PR Close #46641
2022-07-01 13:45:46 -07:00
Andrew Scott
dd3e0968ec refactor(router): Remove custom error message for invalid guards (#46678)
This custom error message for invalid guards requires a fair bit of
extra logic in several places. This change reduces special logic for an error
case that would fail anyways. Additionally, there were already a couple
places that _did not_ have this special error and we have not seen any
indication that there is more confusion for those (resolvers and canMatch).

PR Close #46678
2022-07-01 13:25:50 -07:00
Bob Watson
db631bebbf docs: move section on subscribing to observable (#46655)
This change moves a section of the text to a more logical location in the document flow.

fixes #43235

PR Close #46655
2022-07-01 10:23:46 -07:00
Alex Rickabaugh
fa52b6e906 feat(core): options object to supersede bit flags for inject() (#46649)
`inject()` originated as a private API and was made public to support
`InjectionToken` factories in Ivy. For code-size and performance reasons,
when we code generate `inject()` calls we use a bit field to indicate the
various injection modes (optional, skip-self, etc). However, this doesn't
make for a very nice public API.

This commit introduces an alternative object-based API for options. All 4
flags are supported as `boolean` fields on an options object, and converted
to bit flags internally. If TypeScript can prove that `optional` injection
is not requested, it can narrow the return type and remove the `null` type.

DEPRECATED:

The bit field signature of `inject()` has been deprecated, in favor of the
new options object. Correspondingly, `InjectFlags` is deprecated as well.

Fixes #46251

PR Close #46649
2022-07-01 10:21:18 -07:00
Paul Gschwendtner
915e82d854 build: simplify sass consumption of Angular CDK/Material in devtools (#46642)
Instead of listing every file manually, we can use the available rule
that extracts Sass dependency files automatically from `@npm//`.

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
304b172dab test: increase payload golden for AIO and AIO-local (#46642)
The payload size has increased for AIO because we updated to the latest
Angular Framework, CLI and CDK/Material.

After size investigation, the size increase comes from the CDK update
where we now bring in the breakpoint observer class/logic into the
main bundle (it previously was part of a non-measured lazy chunk).

We now use the break point observer to detect high-contrast so it
ends up being loaded as part of the main bundle.

See:
bc81e7ddc5.

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
36690c69de test: update cli-hello-world-ivy-i18n integration test to use ng extract-i18n (#46642)
The integration test currently uses the old command alias that has been
removed with Angular v14.

b69ca3a7d2

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
8d6cb830a8 test: refactor bundle tests to not directly access CommonJS module.exports (#46642)
The test apps are bundled using their production ESM JS output using
`esbuild`. ESBuild warns about any CJS usages, like `module.exports.`

```
INFO: From Bundling Javascript packages/core/test/bundling/todo_i18n/index.ts [esbuild]:
▲ [WARNING] The CommonJS "module" variable is treated as a global variable in an ECMAScript module and may not work as expected

    bazel-out/k8-fastbuild/bin/packages/core/test/bundling/todo_i18n/index.mjs:494:0:
      494 │ module.exports = {
          ╵ ~~~~~~

  This file is considered to be an ECMAScript module because the file name ends in ".mjs".
```

Some bundling tests currently use `module.exports` to make
functions/symbols available to specs later requiring the bundle (in
order to run the bundle). Instead of using the CJS global here, the
logic can be attached consistently to `window` (there is currently a
mismatch of window vs. module.exports anyway..).

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
5f942717e8 build: account for app_bundle rule location change (#46642)
The `app_bundle` rule from the shared dev-infra package is no longer in
the benchmarking folder, but instead is part of the general Bazel rules
exposed by `dev-infra`. This commit accounts for this location change.

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
616c8a89b8 test: update schematics workspace test to no longer verify JSON5 features (#46642)
The Angular CLI has removed the JSON5 parsing and now always uses
`jsonc-parser`. Our test checks if JSON5 features can be parsed, but
this now breaks and the test needs to be adjusted.

We still want to keep the test to ensure we do not parse the Angular
CLI workspace file in a different way, not e.g. supporting jsonc.

PR Close #46642
2022-07-01 10:20:51 -07:00
Paul Gschwendtner
736e7871db ci: update .ng-dev pull request config to reflect recent API changes (#46642)
The `ng-dev` tool no longer supports regular expressions for the labels.
This means that we now always require the merge ready label. It can be
used together with the `merge-assistance` label (both labels have been
commonly aplied anyway for our other filters).

The pullapprove label should not indicate merge assistance/a caretaker
note because it does not require additional action by the caretaker.

PR Close #46642
2022-07-01 10:20:51 -07:00
Angular Robot
da380d9c52 build: update cross-repo angular dependencies (#46642)
| datasource | package                           | from     | to              |
| ---------- | --------------------------------- | -------- | --------------- |
| npm        | @angular-devkit/architect-cli     | 0.1400.0 | 0.1401.0-next.3 |
| npm        | @angular-devkit/build-angular     | 13.3.6   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-angular     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular-devkit/build-optimizer   | 0.1302.1 | 0.1302.0-rc.1   |
| npm        | @angular-devkit/core              | 13.3.6   | 14.1.0-next.3   |
| npm        | @angular-devkit/schematics        | 13.3.6   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/animations               | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/cdk                      | 13.3.7   | 14.1.0-next.3   |
| npm        | @angular/cdk                      | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/cdk                      | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/cli                      | 13.3.6   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/common                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/compiler-cli             | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/core                     | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/elements                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/forms                    | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/localize                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/localize                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/localize                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/localize                 | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/material                 | 13.3.7   | 14.1.0-next.3   |
| npm        | @angular/material                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/material                 | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser         | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-browser-dynamic | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-server          | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-server          | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/platform-server          | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/platform-server          | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/router                   | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/service-worker           | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/upgrade                  | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/upgrade                  | 14.0.0   | 14.1.0-next.3   |
| npm        | @angular/upgrade                  | 14.0.4   | 14.1.0-next.3   |
| npm        | @angular/upgrade                  | 14.0.4   | 14.1.0-next.3   |
| npm        | @schematics/angular               | 13.3.6   | 14.1.0-next.3   |

PR Close #46642
2022-07-01 10:20:51 -07:00
Pawel Kozlowski
af20112222 feat(core): support the descendants option for ContentChild queries (#46638)
This change adds the support for the descendants option for ContentChild queries.

Closes #31921

PR Close #46638
2022-07-01 10:20:26 -07:00
Andrew Scott
ee2e4917e6 docs: Update runGuardsAndResolvers documentation (#46671)
fixes  #46001

PR Close #46671
2022-07-01 10:19:22 -07:00
Alex Rickabaugh
a7a14df5f8 feat(core): introduce EnvironmentInjector.runInContext API (#46653)
This commit introduces a new API on `EnvironmentInjector` to run a function
in the context of the injector. This makes `inject()` available within the
body of the function to inject dependencies. We expect this functionality to
be very useful for designing ergonomic APIs both in and out of Angular, as
it should allow for a smaller and more functional API style.

Note that it's possible to implement nearly identical functionality in user
code already today:

```typescript
function runInContext<T>(injector: EnvironmentInjector, fn: () => T): T {
  const token = new InjectionToken<T>('TOKEN');
  const tmpInjector = createEnvironmentInjector([
    {provide: token, useFactory: () => fn()},
  ], injector);

  return tmpInjector.get(token);
}
```

The factory provider for `token` in this example runs in the context of the
`tmpInjector`, giving it access to `inject` that can retrieve values from
`injector` as well. This is nearly identical, although because of the child
injector `self` and `skipSelf` injection options don't function correctly.

PR Close #46653
2022-07-01 08:54:52 -07:00
Andrew Scott
6f11a58040 feat(compiler): Add extended diagnostic to warn when text attributes are intended to be bindings (#46161)
https://angular.io/guide/attribute-binding#attribute-class-and-style-bindings

Angular supports `attr.`, `style.`, and `class.` binding prefixes to
bind attributes, styles, and classes. If the key does not have the
binding syntax `[]` or the value does not have an interpolation `{{}}`,
the attribute will not be interpreted as a binding.

This diagnostic warns the user when the attributes listed above will not
be interpreted as bindings.

resolves #46137

PR Close #46161
2022-06-30 14:05:47 -07:00
Paul Gschwendtner
5dd9d4ae01 build: account for rename of angular/code-of-conduct default branch (#46640)
We just renamed the Angular code of conduct repository default branch
to `main`. This repository was not part of the large migration and is
now handled separately as a little clean-up.

PR Close #46640
2022-06-30 12:44:05 -07:00
Aristeidis Bampakos
39c02f1c9d docs(router): mark title strategy as injectable (#46639)
Add the `@Injectable` decorator in the title strategy example so that it can be injected in the providers of the routing module.
PR Close #46639
2022-06-30 12:43:32 -07:00
Alex Rickabaugh
8d2e5e6c4f refactor(core): remove experimental renderComponent function (#46605)
This commit removes the experimental `renderComponent` operation, which
implemented an alternative, lighter-weight bootstrapping option. This
experiment is being discontinued as the path towards it being a supported
production API was not clear. In particular, it lacked a clear roadmap for
supporting Angular's change detection, particularly when consuming existing
components.

PR Close #46605
2022-06-30 09:04:56 -07:00
Alex Rickabaugh
1434ba904d refactor(core): remove experimental Renderer3 abstraction (#46605)
This commit removes the `Renderer3` experiment which attempted to use the
real DOM API as Angular's renderer. As shown in the diff, having this
experiment around added real code complexity to Angular that could not be
removed by an optimizer.

Since we no longer feel this experiment is worth continuing, we're removing
the `Renderer3` concept and all supporting code.

PR Close #46605
2022-06-30 09:04:56 -07:00
Alex Rickabaugh
af600cd2b7 refactor(core): disable automatic usage of Renderer3 (#46605)
Previously, when instantiating a component, Angular would look in the DI
hierarchy for `RendererFactory2`. Any DI tree which rolls up through an
application injector (that is, one created with `BrowserModule`) should be
able to provide this interface. If not found, Angular would switch to the
experimental `Renderer3` mechanism. This switch was designed this way,
because it allowed for the creation of experimental applications where
`RendererFactory2` was not included in the bundle at all.

In this commit, instead of automatically falling back on `Renderer3`-style
rendering, an error is raised instead if `RendererFactory2` is missing from
the DI hierarchy.

PR Close #46605
2022-06-30 09:04:56 -07:00
Alex Rickabaugh
31b396d49c test(core): migrate tests off of Renderer3 interfaces (#46605)
This commit migrates any remaining Angular tests which are using some form
of Renderer3 interfaces. Instead, they're switched to Renderer2.

PR Close #46605
2022-06-30 09:04:56 -07:00
Alex Rickabaugh
5111dbf973 refactor(core): rename the ProceduralRenderer3 interface to Renderer (#46605)
Due to the restrictions of circular dependency checking, we need a separate
internal interface for a renderer. We cannot use `Renderer2` as a type
internally as even importing it as a type incurs a dependency on its
implementation, which creates a major potential for circular dependencies.

Previously this role was served by the `Renderer3` type. As we prepare to
remove the `Renderer3` abstraction (the idea of using `document` as a
differently-shaped renderer), this commit renames `ProceduralRenderer3` to
the more generic term `Renderer`.

`RendererFactory3` is also renamed to the more generic `RendererFactory` for
consistency.

PR Close #46605
2022-06-30 09:04:55 -07:00
Angular Robot
f05ed1203d build: update dependency husky to v8 (#46616)
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | husky   | 7.0.4 | 8.0.1 |

PR Close #46616
2022-06-30 08:56:34 -07:00
Andrew Scott
e8c7dd10e9 fix(router): Ensure APP_INITIALIZER of enabledBlocking option completes (#46026)
Previously, if `initialNavigation` were set to `enabledBlocking`, the
Router's `APP_INITIALIZER` would never resolve if that initial
navigation failed. This results in the application load hanging and
never completing.

fixes #44355

PR Close #46026
2022-06-29 14:53:30 -07:00
Angular Robot
598239c35d build: update dependency rimraf to v3 (#46625)
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | rimraf  | 2.6.2 | 3.0.2 |

PR Close #46625
2022-06-29 13:55:08 -07:00
Angular Robot
daa6c248bb build: update dependency source-map-explorer to v2 (#46626)
| datasource | package             | from  | to    |
| ---------- | ------------------- | ----- | ----- |
| npm        | source-map-explorer | 1.5.0 | 2.5.2 |

PR Close #46626
2022-06-29 13:51:50 -07:00
Paul Gschwendtner
7562421353 ci: do not run firefox components repo tests (#46624)
It seems like the tag for Firefox web tests has changed, and we need to adjust our filter.
PR Close #46624
2022-06-29 12:56:45 -07:00
Andrew Scott
36f46c6a9d refactor(router): Convert user-visible router errors to RuntimeError (#46562)
This commit refactors the Router errors to use the standard
`RuntimeError` used by the framework packages.

PR Close #46562
2022-06-29 12:50:23 -07:00
Dylan Hunn
97110674f3 release: cut the v14.1.0-next.3 release (#46622)
PR Close #46622
2022-06-29 11:24:18 -07:00
Pawel Kozlowski
08733b0566 test(core): remove enableRenderer3 and Renderer3 from tests (#46612)
Remove calls to enableRenderer3 in the functional unit tests.
This effectivelly cuts code paths going through the Renderer3
in the functional tests.

PR Close #46612
2022-06-29 11:18:22 -07:00
Dylan Hunn
66baa8ccf1 docs: release notes for the v14.0.4 release (#46621)
PR Close #46621
2022-06-29 11:17:59 -07:00
Paul Gschwendtner
cb0d9a0114 ci: fix pullapprove fnmatch patterns due to recent changes (#46589)
We recently changed our pullapprove config to work with hidden
directories. As part of that, we accidentally invalidated some
other pattern parameters due to inconsistency in Pullapprove.

e.g. contains any globs uses wcmatch, while `files.exclude` and
`files.include` uses `fnmatch`. The current fnmatch patterns are
actual wcmatch glob patterns and need to be adjusted for `fnmatch`.

As part of this fix (which ensures groups are more correct again),
this commit also cleans up some unused `file.exclude` in the `fw-common`
group (likely due to a copy-paste mistake).

PR Close #46589
2022-06-29 10:33:05 -07:00
Alan Agius
926de8c0a4 refactor: remove no longer used prompts utils (#46587)
These utils are no longer used in Angular migrations.

PR Close #46587
2022-06-29 10:31:18 -07:00
renovate[bot]
9d30298250 build: update bazel setup to v5.5.1 (#46543)
PR Close #46543
2022-06-29 10:19:55 -07:00
renovate[bot]
19364cff20 build: update dependency google-closure-compiler to v20220601 (#46565)
PR Close #46565
2022-06-29 10:18:26 -07:00