24978 Commits

Author SHA1 Message Date
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
14.1.0-next.3
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
Dylan Hunn 0a5c8c0bc4 fix(forms): Convert existing reactive errors to use RuntimeErrorCode. (#46560)
This allows for better tree-shakability, as well as the addition of guides in the future as needed.

PR Close #46560
2022-06-29 10:15:42 -07:00
Paul Gschwendtner d478e60c4f ci: enable renovate commit message body table to fix minimum commit message (#46611)
We recently switched Renovate from upstream branches to operate in
forks. Given that change, the `ng-dev commit-message` lint now also
applies to the auto-created PRs. The default Renovate commits do not
have any body and fail our ng-dev commit message minimum lint.

Other repositories do not have this, but framework has, so we enable
a renovate option to append the update table to the commit message body.

This is actually also a good thing as it captures what is directly
merged. The PR description is not necessarily matching.

PR Close #46611
2022-06-29 10:15:01 -07:00
renovate[bot] 2303ecfc5d build: update dependency karma-jasmine-html-reporter to v2 (#46578)
PR Close #46578
2022-06-29 10:12:25 -07:00
renovate[bot] d429eca654 build: update dependency jsdom to v20 (#46576)
PR Close #46576
2022-06-29 10:11:31 -07:00
renovate[bot] 47c65ace5e build: update eslint dependencies (#46593)
PR Close #46593
2022-06-29 10:10:50 -07:00
renovate[bot] a33d4ee41a build: update dependency http-server to v14 (#46572)
PR Close #46572
2022-06-29 10:08:53 -07:00
renovate[bot] 2758a30a34 build: update dependency @rollup/plugin-commonjs to v22 (#46556)
PR Close #46556
2022-06-29 10:08:29 -07:00
Alan Agius c677f130d3 build: remove inquirer from repo dependencies (#46583)
`inquirer` is not directly used in this repo.

PR Close #46583
2022-06-29 10:08:06 -07:00
Andrew Scott 7dea2892c0 docs: fix breaking change note in v14 (#46603)
The breaking change note for one change was truncated

PR Close #46603
2022-06-29 10:07:43 -07:00
Paul Gschwendtner c1bb8bf90d build: re-enable components-repo-unit-tests job (#46604)
Re-enables the components-repo-unit-tests job. It has previously
been disabled but never got re-enabled.

PR Close #46604
2022-06-29 10:07:19 -07:00
Paul Gschwendtner b1ac3d9968 refactor: clean-up pre-CLDR 39 safety check (#46606)
This commit cleans-up/removes a check we added before we supported CLDR
39. This check was necessary due to a incomplete/invalid list of locales
provided as part of the JSON data.

PR Close #46606
2022-06-29 10:06:39 -07:00
Andrew Kushnir 957744f215 refactor(core): remove no longer needed utils (#46571)
This commit removes a file that contained utils (including `TemplateFixture`) that are no longer used.

PR Close #46571
2022-06-29 10:01:35 -07:00
Andrew Kushnir eac7b588c1 test(core): update various tests to avoid referencing TemplateFixture (#46571)
This commit updates the remaining set of tests to avoid referencing `TemplateFixture` class.

PR Close #46571
2022-06-29 10:01:35 -07:00
Andrew Kushnir f5b3b56761 test(core): avoid TemplateFixture usages in LViewDebug spec (#46571)
This commit further reduces the use of an obsolete `TemplateFixture` class.

PR Close #46571
2022-06-29 10:01:35 -07:00
Andrew Kushnir 55db2271f0 test(core): avoid TemplateFixture usages in i18n spec (#46571)
This commit further reduces the use of an obsolete `TemplateFixture` class.

PR Close #46571
2022-06-29 10:01:35 -07:00
Andrew Kushnir d287d9cb33 test(core): move Pipe-related tests to the acceptance folder (#46571)
This commit refactors a  Pipe-related test to use TestBed and moves it to the `acceptance` folder.

PR Close #46571
2022-06-29 10:01:35 -07:00
Alan Agius 1289425cf8 test: update golden symbols (#46582)
This is causing CI to fail

PR Close #46582
2022-06-29 00:53:52 -07:00
Alex Rickabaugh aac5344a53 test(core): remove renderComponent-based benchmarks (#46568)
This commit removes 2 benchmarks which are using the `renderComponent` and
`Renderer3` abstractions, both of which are experimental and unsupported.
Equivalent benchmarks exist for the real rendering code path.

PR Close #46568
2022-06-28 21:42:45 -07:00
Alex Rickabaugh aa49f70565 test(core): remove CLI integration test that uses renderComponent (#46568)
This commit removes an integration test for an application, built with the
CLI, that uses the `renderComponent` experimental bootstrapping function. An
equivalent test already exists for the regular bootstrapping code path. As
`renderComponent` is no longer supported, this test is redundant and can be
removed.

PR Close #46568
2022-06-28 21:42:45 -07:00
Alex Rickabaugh fac2c5893e test(ngcc): switch ngcc integration test to regular bootstrap (#46568)
The ngcc integration test application doesn't actually run, but was coded to
use the experimental `renderComponent` bootstrapping function. This commit
switches it to use the regular, `@angular/platform-browser` based bootstrap
instead.

PR Close #46568
2022-06-28 21:42:45 -07:00
Chad Ramos 528ff13f61 docs: Grammer update (#46567)
Missing `in`.
PR Close #46567
2022-06-28 21:40:20 -07:00
Alex Rickabaugh 036dbb7e6d test(core): convert remaining bundling tests to not use renderComponent (#46559)
This commit converts the remaining bundling tests which were using
`renderComponent` to use regular bootstrapping instead.

Since `renderComponent` is synchronous and regular bootstrapping is not,
some test adjustments were necessary to wait for bootstrapping before test
assertions could run.

Additionally, debug servers were adjusted in some cases where they'd broken
(likely some time ago).

PR Close #46559
2022-06-28 21:37:45 -07:00
Alex Rickabaugh 2f91758c55 test(core): add symbol tests back to todo, hello_world bundling tests (#46559)
The deleted r3 versions of these tests had symbol tests, but their r2
equivalents did not. This commit adds symbol tests to the r2 variants.

PR Close #46559
2022-06-28 21:37:45 -07:00
Alex Rickabaugh 65820181a2 test(core): rename r2-based hello_world and todo bundling tests (#46559)
In the previous commit, the r3-based hello_world and todo tests were deleted
in favor of the r2 versions. This commit renames the r2 versions to drop the
r2 suffix.

PR Close #46559
2022-06-28 21:37:45 -07:00
Alex Rickabaugh 842a3f31e6 test(core): remove redundant renderComponent-based bundling tests (#46559)
The `hello_world` and `todo` bundling tests use the experimental
`renderComponent` function (and `Renderer3`) as a result, and have
corresponding `Renderer2` equivalents. This commit removes these tests in
favor of the `Renderer2` versions, which will be renamed in a future commit.

PR Close #46559
2022-06-28 21:37:45 -07:00
Andrew Kushnir 6a530349e0 refactor(core): remove no longer used helper methods in the renderer3 folder (#46561)
This commit updates the `render_util.ts` file to drop no longer needed helpers.

PR Close #46561
2022-06-28 21:28:21 -07:00
Andrew Kushnir dd0780f77b test(core): refactor tests to use TestBed instead of hand-written instructions (#46561)
This commit updates various tests to use TestBed instead of hand-written instructions, which makes tests easier to maintain and allows to perform further cleanup.

PR Close #46561
2022-06-28 21:28:21 -07:00
Paul Gschwendtner 984b9d167b build: cleanup .gitattributes file and remove outdated CRLF attribute (#46513)
Cleans up the `.gitattributes` file and removes an outdated setting for
a now non-existent Windows CRLF file.

PR Close #46513
2022-06-28 13:38:27 -07:00
Andrew Kushnir 8b6f4215a3 fix(core): trigger ApplicationRef.destroy when Platform is destroyed (#46497)
This commit updates the `ApplicationRef` logic to trigger the destroy operation when an underlying platform is destroyed. This is needed to make sure all teardown processing is completed correctly to avoid memory leaks.

Closes #46473.

PR Close #46497
2022-06-28 13:02:56 -07:00
Bezael 07d12055e6 docs: add bezael to GDE resources (#46412)
PR Close #46412
2022-06-28 13:02:25 -07:00
Jessica Janiuk 606d94299a fix(core): Update ngfor error code to be negative (#46555)
This adds the fancy link to the error code documentation automatically

PR Close #46555
2022-06-28 12:59:07 -07:00
Andrew Kushnir a7597dd080 feat(common): make the CommonModule directives standalone (#46469)
This commit updates the directives presents in the `CommonModule` and annotates them with the `standalone: true` flag. With that flag, the directives can now be imported individually, as well as imported via the `CommonModule`.

PR Close #46469
2022-06-28 12:55:25 -07:00
Andrew Scott ee39cf62bc fix(router): Ensure that new RouterOutlet instances work after old ones are destroyed (#46554)
There can be timing issues with removing an old outlet and creating a
new one to replace it. Before calling `onChildOutletDestroyed`, the
`RouterOutlet` will first check to ensure that it is still the one
registered for that outlet name.

Fixes #36711
Fixes #32453

PR Close #46554
2022-06-28 12:54:53 -07:00