093fd39 | Kristiyan Kostadinov | 14 December 2021, 13:35:40 UTC | refactor(compiler): clean up workarounds for TypeScript 4.5 (#44477) Cleans up some of the temporary workarounds that were necessary in order to land support for TypeScript 4.5 since they're no longer necessary. PR Close #44477 | 14 December 2021, 21:14:02 UTC |
d640fa7 | Spej | 13 December 2021, 12:15:48 UTC | docs: Fixed typo 'test' => 'text' (#44464) PR Close #44464 | 14 December 2021, 21:12:57 UTC |
f394831 | dario-piotrowicz | 12 December 2021, 22:22:23 UTC | refactor(animations): remove the unused enter and leave selectors (#44460) remove the no longer used ENTER_SELECTOR and LEAVE_SELECTOR constants note: their uses have been removed in PR #19455 PR Close #44460 | 14 December 2021, 21:12:35 UTC |
f56ac0f | dario-piotrowicz | 12 December 2021, 18:31:50 UTC | refactor(animations): improve _finalKeyframe non-null assertion (#44458) instead of declaring the WebAnimationsPlayer's _finalKeyframe field with a non-null assertion, declare it as optional field and use a non-null assertion only when it is being used in the beforeDestroy function relates to #24571 PR Close #44458 | 14 December 2021, 21:12:11 UTC |
5da31d6 | Dylan Hunn | 12 December 2021, 01:46:49 UTC | test(forms): Add more tests for `FormBuilder` method argument shapes. (#44452) It is possible to pass arguments to `FormBuilder` using four different formats: value-only, boxed value, control config, and value-array. Currently, these different methods are not well-tested, especially as they interact. This PR will add tests for the variety of different argument shapes. This was originally inspired by typed forms: when `FormBuilder` becomes typed, all these argument shapes should just work, with correct inferred types. PR Close #44452 | 14 December 2021, 21:11:29 UTC |
6571799 | Dylan Hunn | 12 December 2021, 01:36:31 UTC | refactor(forms): Make the minimum changes to the forms unit tests in order to support the typed forms PR (#43834). (#44451) Currently, many of our unit tests are written to use heterogenous groups and arrays, and controls that accept heterogenous values. This PR will make the minimum possible alterations to prepare those usages, mainly by annotating them as untyped controls, etc. This PR is *not* intended to test typed forms, merely to minimize the size of the upcoming PR. This will allow that PR to be focused on the actual features and tests, rather than boilerplate fixes. PR Close #44451 | 14 December 2021, 21:10:08 UTC |
815d4ce | Dylan Hunn | 12 December 2021, 01:07:45 UTC | fix(forms): I indroduced a minor error in a previous PR: pendingValue is a value not a boolean flag. (#44450) The bug should have no effect since it's a typings-only, internal-only bug, but it's good to fix nonetheless. PR Close #44450 | 14 December 2021, 21:09:42 UTC |
e483993 | JoostK | 11 December 2021, 22:55:48 UTC | test(ngcc): don't use the workspace typescript version to generate integration test fixtures (#44448) Now that ViewEngine libraries can no longer be created, the latest TypeScript version that ngcc should be able to process is TypeScript 4.3, i.e. the version of TypeScript that was supported in Angular 12. However, ngcc's integration tests used the TypeScript version of the workspace to create the JavaScript files from TypeScript sources on demand. This introduces friction when upgrading the TypeScript version within the workspace, as changes to TypeScript's emit format may affect ngcc's ability to process it correctly. The on demand creation of JavaScript files was convenient for authoring tests, but it also helped to detect incompatibilities with newer versions of TypeScript. Now that ngcc no longer has to process newer versions of TypeScript, we want to pin the integration suite to use JavaScript code as if it were compiled using TypeScript 4.3, i.e. a version of TypeScript that is actually supported by ngcc. This commit updates the integration test to inline all the generated files directly in the tests, instead of compiling them on demand. This was done by temporarily installing TypeScript 4.3 and using it to create the `loadTestFiles` statement from the original TypeScript inputs. An alternative could have been to install TypeScript 4.3 as an actual dependency in the workspace and using that to continue compiling the integration suite on demand, but this brings some overhead in package installations (TypeScript is ~60MB) and the authoring aspect of ngcc integration test is expected to diminish, now that ngcc's support is no longer a moving target. PR Close #44448 | 14 December 2021, 21:08:28 UTC |
ab2248e | Yousaf Nawaz | 11 December 2021, 15:59:30 UTC | docs(docs-infra): change variable names in route guards examples (#44444) change variable name 'next' to 'route' in route guards examples on developer guides "Routing and Navigation Tutorial: Adding routing to Tour of Heroes" to make it consistent with api docs and subsequent examples. Fixes #44291 PR Close #44444 | 14 December 2021, 21:08:05 UTC |
12f7c85 | faso-dev | 10 December 2021, 13:39:13 UTC | docs: fix typo (#44427) `name` instead of `id` PR Close #44427 | 14 December 2021, 21:07:22 UTC |
c68385a | jaybell | 09 December 2021, 20:37:56 UTC | docs: add jaybell to gde list (#44423) PR Close #44423 | 14 December 2021, 21:06:32 UTC |
030747a | Aristeidis Bampakos | 08 December 2021, 20:40:04 UTC | docs: update Aristeidis Bampakos bio (#44410) PR Close #44410 | 14 December 2021, 21:06:06 UTC |
38ddae1 | dario-piotrowicz | 02 December 2021, 23:01:16 UTC | fix(animations): don't consume instructions for animateChild (#44357) TODO: Fill body commit if PR gets accepted resolves #41483 resolves #30693 PR Close #44357 | 14 December 2021, 21:05:35 UTC |
bab7ed3 | zuckjet | 25 June 2020, 04:23:58 UTC | fix(animations): should not invoke disabled child animations (#37724) Currently child animation will be triggered by `animateChild()` despite it has been disabled. These changes add some logic to prevent that unexpected behavior. PR Close #37724 PR Close #37724 | 14 December 2021, 21:05:00 UTC |
6c05c3f | Renovate Bot | 13 December 2021, 19:29:48 UTC | build: update all non-major dependencies (#44152) PR Close #44152 | 14 December 2021, 21:04:34 UTC |
7df9127 | Dylan Hunn | 03 December 2021, 18:33:53 UTC | refactor(forms): Fix weak helper types in the Forms package, mostly `Function` types that can be strengthened to specific callbacks. This was originally proposed as part of Typed Forms, but it may be possible to submit at least some of these changes separately and unconditionally (i.e. without relying on `TypedOrUntyped`.) (#44370) It is desirable to land this separately to reduce the scope of the Typed Forms PR, by focusing it only on the new type parameters (rather than incidental strictness fixes). PR Close #44370 | 10 December 2021, 22:13:24 UTC |
78bdb1f | Renovate Bot | 07 December 2021, 08:47:59 UTC | build: update dependency google-closure-compiler to v20211201 (#44392) PR Close #44392 | 10 December 2021, 21:39:42 UTC |
7b6ca4c | Renovate Bot | 03 December 2021, 11:11:26 UTC | build: update angular (#44273) PR Close #44273 | 10 December 2021, 21:39:05 UTC |
9249506 | dario-piotrowicz | 07 December 2021, 22:48:33 UTC | docs(animations): improve animation transition api docs (#44396) improve the transition api docs by removing unnecessary examplanations and examples also provide helpful information regarding entering and leaving elements (as part of #44253) PR Close #44396 | 10 December 2021, 21:34:00 UTC |
944b670 | Paul Gschwendtner | 10 December 2021, 17:22:07 UTC | build: remove unused starlark file that is no longer used (#44430) Cleans up an unused Starlark file used by the old integration test setup. PR Close #44430 | 10 December 2021, 21:31:04 UTC |
f51b009 | Paul Gschwendtner | 09 December 2021, 21:45:07 UTC | build: fix integration test size trackings not running after recent refactoring (#44430) Fixes that the integration test size trackings stopped working due to the recent refactorings (switch to the rule from `@angular/dev-infra-private`). The size-tracking does not integrate very-well into Bazel and needs a better solution in the future, allowing for RBE and Windows support, but currently with the new rule/setup/structure the tracking does not validate sizes because: * The `dist/*.js` argument to the tracking script got expanded and messed up the indices. It should be passed as a literal. This now surfaced because the new rule runs commands in a shell. * The name for the size goldens were not computed properly because they were based on `ctx.attr.name`, but given the new structure, the test targets are always named `test`. PR Close #44430 | 10 December 2021, 21:31:04 UTC |
a7c117a | Alex Rickabaugh | 09 December 2021, 18:24:28 UTC | release: cut the v13.2.0-next.0 release (#44422) PR Close #44422 | 09 December 2021, 18:25:28 UTC |
79baf7a | Alex Rickabaugh | 09 December 2021, 18:12:56 UTC | Revert "release: cut the v13.2.0-next.0 release (#44421)" This reverts commit e3f4360ebf48baf0d9cc60b46f7f9b5162b44ac4. More issues with transient yarn errors during the release. | 09 December 2021, 18:12:56 UTC |
e3f4360 | Alex Rickabaugh | 09 December 2021, 18:09:55 UTC | release: cut the v13.2.0-next.0 release (#44421) PR Close #44421 | 09 December 2021, 18:11:13 UTC |
532d7d4 | Alex Rickabaugh | 09 December 2021, 17:12:14 UTC | docs: release notes for the v13.1.0 release (#44419) PR Close #44419 | 09 December 2021, 17:14:39 UTC |
cab7a84 | Alex Rickabaugh | 09 December 2021, 16:21:55 UTC | release: bump the next branch to v13.2.0-next.0 | 09 December 2021, 16:21:55 UTC |
2664bc2 | Paul Gschwendtner | 20 November 2021, 16:23:07 UTC | test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238) Switches the integration tests form Puppeteer/webdriver-manager to the Bazel-managed Chromium/Chromedriver. This is now possible with the new integration test rule for which we can consult the `dev-infra/bazel/browsers` toolchain and setup environment variables. This has been configured already in a previous commit. This commit also includes some additional small cleanups necessary for the new integration test rule: * The `test.sh` scripts have been renamed as they would conflict with the `test.sh` scripts generated by the integration test rule. Previously this was not an issue because tests were declared at a higher-level. As mentioned though this has other downsides and it is trivial to rename the file. * Related to the point above, since tests are now declared witin the actual test folder (for perf e.g.), `package.json` files setting `"type": "module"` will accidentally cause the `nodejs_test`-generated files to be considered ESM. This is not correct and likely needs to be fixed upstream in `rules_nodejs` where explicit `.cjs` extensions should be used. This is only happening **once** in the `injectable-def` test so it is acceptable doing that for now. PR Close #44238 | 08 December 2021, 18:42:42 UTC |
5837fbd | Paul Gschwendtner | 20 November 2021, 16:17:23 UTC | refactor: setup bazel integration test with new integration rule (#44238) Sets up the Bazel integration test with the new integration rule. This commit is separate from the other changes because it required some additional work. i.e. The test has moved from `integration/bazel` to `integration/<..>/bazel` where `<..>` is a new Bazel package defining the integration test. This is necessary because we could not declare the integration test within the `BUILD.bazel` file actually being part of the nested bazel workspace. In those cases we can just define it at a higher-level and use integration test `working_dir` attribute. PR Close #44238 | 08 December 2021, 18:42:41 UTC |
64fd824 | Paul Gschwendtner | 20 November 2021, 16:15:22 UTC | build: setup test targets for integration tests with new rule (#44238) Sets up the test targets for integration tests with the new rule. The targets will match the configuration of the previous integration test setup (through the dictionary in a `bzl` file). Note: We already add `setup_chromium` based on whether Chromium tests run as part of this integration test. In a follow-up commit we can then remove puppeteer and rely on the Bazel-managed version of Chromium. PR Close #44238 | 08 December 2021, 18:42:41 UTC |
98c5063 | Paul Gschwendtner | 20 November 2021, 16:09:10 UTC | build: update visibility for npm package targets to work with new integration test structure (#44238) As mentioned in the previous commit, integration tests will be declared in subpackages of `//integration`. For these tests to still rely on the NPM packages from `HEAD`, we need to update the visibility. PR Close #44238 | 08 December 2021, 18:42:41 UTC |
6c0905d | Paul Gschwendtner | 20 November 2021, 16:06:21 UTC | build: wire up integration test rule from shared dev-infra package (#44238) Wires up the integration test rule from the shared dev-infra package, while also deleting the old integration test rule. The readme is updated to reflect the changes that are being made to run with the new integration rule. Overall one major difference is that we will declare the integration test targets within each test directory, making those actual bazel packages. This is more idiomatic within Bazel and also reduces the computation within Skyframe as less globs need to be evaluated for example. PR Close #44238 | 08 December 2021, 18:42:41 UTC |
6add6a0 | Paul Gschwendtner | 06 November 2021, 13:10:04 UTC | build: replace validate import ESM/CJS interop rule with dev-infra shipped rule (#44238) The import ESM/CJS interop lint rule has been ported to the shared dev-infra package, so we can remove the local version here. PR Close #44238 | 08 December 2021, 18:42:41 UTC |
0cd524b | Alex Rickabaugh | 08 December 2021, 18:36:58 UTC | Revert "refactor(forms): Move FormControl to an overridden exported constructor. (#44316)" This reverts commit cdf50ff9318ff5cdb4cbb1272d9113de8160065c. Reverting as this needs a little more work on the documentation side, plus the `export declare interface` syntax in `model.ts` might have unintended side effects in g3. | 08 December 2021, 18:36:58 UTC |
cdf50ff | Dylan Hunn | 30 November 2021, 19:46:46 UTC | refactor(forms): Move FormControl to an overridden exported constructor. (#44316) This implementation change was originally proposed as part of Typed Forms, and will have major consequences for that project as described in the design doc. Submitting it separately will greatly simplify the risk of landing Typed Forms. This change should have no visible impact on normal users of FormControl. See the Typed Forms design doc here: https://docs.google.com/document/d/1cWuBE-oo5WLtwkLFxbNTiaVQGNk8ipgbekZcKBeyxxo. PR Close #44316 | 08 December 2021, 18:24:28 UTC |
6df314f | Kristiyan Kostadinov | 07 December 2021, 07:45:24 UTC | refactor(animations): remove unnecessary code (#44378) * The `TransitionAnimationEngine` had a fallback where it would store classes directly on a node if it doesn't have a `classList`. Presumably this is to support old browsers or if an animation is set on something like `ng-container`. This information was never used for anything since `containsClass` was never called. These changes simplify the logic to just a null check. * Deprecates the `AnimationDriver.matchesElement` method, because it was only used in one place which can be replaced with `classList.contains`. We can't remove the method completely, because `AnimationDriver` is a public API. We also can't turn it into a method on the base class in order to remove it from the sub-classes, because it can break apps using `noImplicitOverride` while extending `AnimationDriver`. PR Close #44378 | 08 December 2021, 18:23:40 UTC |
80ab604 | Markus Doggweiler | 07 December 2021, 20:55:13 UTC | docs(localize): fix typo in i18n-overview.md (#44389) Co-authored-by: Andrew Kushnir <43554145+AndrewKushnir@users.noreply.github.com> PR Close #44389 | 08 December 2021, 18:22:31 UTC |
52a73c6 | Andrew Kushnir | 04 December 2021, 02:41:44 UTC | refactor(animations): reuse existing Version class (#44375) Animations package has its own implementation of the `Version` class, when other packages use an implementation from `@angular/core`. This commit aligns Animations package with other packages and makes use of the `Version` class from `@angular/core`. PR Close #44375 | 07 December 2021, 13:34:53 UTC |
c434e84 | dario-piotrowicz | 04 December 2021, 15:08:22 UTC | test: spy on console.error in configureTestingModule reset test (#44377) improve the configureTestingModule reset test by also spying on console.error and making sure that an error is logged to the user when it should be PR Close #44377 | 07 December 2021, 13:34:29 UTC |
bca5638 | dario-piotrowicz | 05 December 2021, 15:46:19 UTC | docs(animations): add `:enter` and `:leave` info to query api docs (#44379) add information to the query api docs clarifying what elements can be queried as entering and leaving (as that is not currently clearly documented and has caused confusions to developers) one of the tasks of issue #44253 PR Close #44379 | 07 December 2021, 13:34:04 UTC |
4126591 | George Kalpakas | 05 December 2021, 20:51:28 UTC | fix(ngcc): correctly resolve UMD dependencies (#44381) Previously, when processing UMD, ngcc assumed that the `exports` argument of the CommonJS factory call (if present) would be the first argument of the call. This is generally true for the supported UMD formats, but can change if ngcc prepends more imports (and thus factory arguments) while processing the module. This could lead to errors when trying to collect dependencies of an already processed module. (This was accidentally broken in #44245 (commit 2bc3522e167).) This commit fixes it by not making any assumptions about the position of an `exports` argument in the CommonJS factory call. Fixes #44380 PR Close #44381 | 07 December 2021, 13:33:00 UTC |
43db243 | Alex Rickabaugh | 22 November 2021, 22:35:55 UTC | refactor(compiler): delete View Engine components of @angular/compiler (#44368) This commit finishes the removal of View Engine from the codebase, deleting those pieces of @angular/compiler which were only used for VE. Co-Authored-By: JoostK <joost.koehoorn@gmail.com> PR Close #44368 | 06 December 2021, 18:12:36 UTC |
433a956 | Renovate Bot | 03 December 2021, 06:45:46 UTC | build: update dependency jsdom to v19 (#44362) PR Close #44362 | 03 December 2021, 16:49:42 UTC |
90de08c | Renovate Bot | 03 December 2021, 06:41:02 UTC | build: update dependency tsec to v0.2.1 (#44361) PR Close #44361 | 03 December 2021, 16:48:45 UTC |
927bfb9 | Renovate Bot | 03 December 2021, 06:52:44 UTC | build: update dependency eslint to v8 (#43789) PR Close #43789 | 03 December 2021, 16:48:10 UTC |
5109369 | George Kalpakas | 02 December 2021, 13:38:49 UTC | build(docs-infra): update `.browserslistrc` to align with new CLI apps (#44283) Update `.browserslistrc` to align with new CLI apps. This drops some older browsers that are no longer supported by Angular v13+. See the [list of supported browsers][1]. [1]: https://angular.io/guide/browser-support PR Close #44283 | 02 December 2021, 19:52:13 UTC |
1336297 | JoostK | 30 November 2021, 20:00:59 UTC | perf(common): code size reduction of `ngFor` directive (#44315) This commit makes several changes to the implementation of `NgForOf` to reduce its code size in production builds: 1. The tailor-made message for an unsupported differ is fully tree-shaken in production builds, in favor of the exception from the differ factory itself. 2. The private `_perViewChange` method was changed into a free-standing function, to allow its name to be minimized. 3. The need for an intermediate `RecordViewTuple` was avoided by applying the operation in-place, instead of collecting all insertions into a buffer first. This is safe as the `_perViewChange` operation that used to be done on each `RecordViewTuple` is entirely local to the tuple itself. Hence, it is invariant to execution ordering which means that the `_perViewChange` can be executed directly during the `forEachOperation` loop. PR Close #44315 | 02 December 2021, 17:25:45 UTC |
99d85cb | Jessica Janiuk | 01 December 2021, 22:52:55 UTC | ci: update pullapprove groups (#44340) This updates all of the pullapprove file to properly reference current members. PR Close #44340 | 02 December 2021, 16:47:22 UTC |
360867b | Renovate Bot | 25 November 2021, 08:55:32 UTC | build: update dependency tsec to ^0.2.0 (#44274) PR Close #44274 | 02 December 2021, 16:46:39 UTC |
f3898f8 | dario-piotrowicz | 27 November 2021, 22:23:31 UTC | fix(docs-infra): prevent automatic linking of 'json' (#44294) add 'json' to the ignoreGenericWords set so that it doesn't get wrongly linked to the jsonPipe during the aio docs generation as it is a generic javarscript term PR Close #44294 | 01 December 2021, 23:22:00 UTC |
6769df7 | Dylan Hunn | 01 December 2021, 21:21:03 UTC | release: cut the v13.1.0-next.3 release (#44334) PR Close #44334 | 01 December 2021, 21:25:00 UTC |
f1f6e71 | Dylan Hunn | 01 December 2021, 21:12:42 UTC | docs: release notes for the v13.0.3 release (#44333) PR Close #44333 | 01 December 2021, 21:15:06 UTC |
e65a245 | Kristiyan Kostadinov | 01 December 2021, 07:30:06 UTC | feat(core): add migration to remove entryComponents (#44322) Adds an automated migration that will drop any usages of `entryComponents` from `@NgModule` and `@Component`. PR Close #44322 | 01 December 2021, 20:03:14 UTC |
f7ea524 | George Kalpakas | 30 November 2021, 22:08:01 UTC | refactor(docs-infra): replace use of deprecated `Compiler` with `createNgModuleRef()` (#44293) Remove a use of the deprecated `Compiler` class in `ElementsLoader` and use the `createNgModuleRef()` function instead. PR Close #44293 | 01 December 2021, 19:56:47 UTC |
15d38a1 | George Kalpakas | 30 November 2021, 22:08:01 UTC | refactor(docs-infra): remove obsolete ViewEngine code path from `ElementsLoader` (#44293) Remove a code path that was only reached in ViewEngine mode and is now (with the removal of ViewEngine) obsolete. PR Close #44293 | 01 December 2021, 19:56:47 UTC |
4192ab4 | Renovate Bot | 01 December 2021, 06:00:33 UTC | build: update dependency saucelabs to v7 (#44321) PR Close #44321 | 01 December 2021, 19:56:12 UTC |
1922032 | JoostK | 24 November 2021, 21:42:28 UTC | refactor(compiler-cli): dismantle View Engine implementation of ngc (#44269) This commit does a first-pass removal of the View Engine infrastructure in compiler-cli. A more in-depth cleanup is necessary and large parts of the View Engine compiler infrastructure remain within `@angular/compiler`, this is just a first cleanup step. PR Close #44269 | 01 December 2021, 18:36:30 UTC |
4e6281f | JoostK | 24 November 2021, 21:38:40 UTC | refactor(bazel): remove metadata collection from `ngc_wrapped` (#44269) The generated metadata is obsolete now that ViewEngine is no longer used, so this commit removes the generation of those file from `ngc_wrapped`. This is needed to allow removal of the metadata collector in a subsequent commit. PR Close #44269 | 01 December 2021, 18:36:30 UTC |
604636e | JoostK | 24 November 2021, 21:17:03 UTC | refactor(compiler-cli): move version number helpers out of diagnostics subfolder (#44269) As a preparation for the removal of the ViewEngine parts in `compiler-cli`, this commit moves the version number helper functions up one level such that the whole `diagnostics` subfolder can be removed. PR Close #44269 | 01 December 2021, 18:36:30 UTC |
3f6d8f3 | Andrew Kushnir | 24 November 2021, 19:24:05 UTC | refactor(forms): minor refactoring of `SelectMultipleControlValueAccessor` (#44261) This commit updates the code of the `SelectMultipleControlValueAccessor` to: - improve typings to make them more precise - updates the note that refers to IE, but we still can not remove the branch since it's needed for Universal (that uses Domino) PR Close #44261 | 30 November 2021, 21:43:11 UTC |
5124c06 | Andrew Scott | 30 November 2021, 17:55:05 UTC | ci: Update availability for pullapprove (#44312) Follows the v3 pullapprove docs here: https://docs.pullapprove.com/config/availability/ PR Close #44312 | 30 November 2021, 21:41:53 UTC |
a532040 | Dylan Hunn | 30 November 2021, 20:53:19 UTC | Revert "feat(core): add migration to remove entryComponents (#44308)" (#44318) This reverts commit 5dff077d505da60ddead9f2ff2ddaaaea6feeb4a. PR Close #44318 | 30 November 2021, 21:31:17 UTC |
24baa5e | Ramesh Thiruchelvam | 29 November 2021, 08:42:00 UTC | docs(forms): add an example for async validator token (#44301) to be consistent with the validator token, have the example code for the async validator token. PR Close #44301 | 30 November 2021, 19:24:26 UTC |
96dfc7a | Ramesh Thiruchelvam | 19 November 2021, 02:25:40 UTC | refactor(core): make the error messages tree shakable (#44219) Long error messages can be tree-shaken in the production build. Doing this, we will keep the throw and remove the long error messages. See: https://github.com/angular/angular/pull/44210#pullrequestreview-810615849 PR Close #44219 | 30 November 2021, 19:17:39 UTC |
ca5b9b5 | Ruslan Usmanov | 27 November 2021, 17:04:58 UTC | refactor(forms): eagerly initialize data members (#44292) Data members in AbstractControl should be eagerly initialized to address issue/24571. This eliminates the need to constantly check for truthiness and makes code much more readable. More PRs to follow to address issue/24571. PR Close #44292 | 30 November 2021, 19:15:16 UTC |
f058109 | Joey Perrott | 30 November 2021, 18:42:57 UTC | release: bump angular-in-web-memory-api package to 0.13.0 (#44313) PR Close #44313 | 30 November 2021, 19:12:50 UTC |
95ed446 | Kristiyan Kostadinov | 25 November 2021, 12:17:35 UTC | refactor(docs-infra): clean up entryComponents usages (#44257) Cleans up some usages of `entryComponents` from AIO. PR Close #44257 | 30 November 2021, 18:49:45 UTC |
5dff077 | Kristiyan Kostadinov | 30 November 2021, 14:26:54 UTC | feat(core): add migration to remove entryComponents (#44308) Adds an automated migration that will drop any usages of `entryComponents` from `@NgModule` and `@Component`. PR Close #44308 | 30 November 2021, 18:47:03 UTC |
cd502b7 | Joey Perrott | 29 November 2021, 19:24:30 UTC | ci: update owners for fw-benchmarks (#44304) Add alxhub and jelbourn to owners for fw-benchmarks group. PR Close #44304 | 30 November 2021, 18:45:59 UTC |
9600688 | Paul Gschwendtner | 30 November 2021, 17:14:01 UTC | build: fix lint errors in build-saucelabs legacy script (#44311) Fixes lint errors in the build-saucelabs legacy script. Likely this only surfaces now after merge due to some other lint-affecting changes landing just before the script landed. PR Close #44311 | 30 November 2021, 17:23:24 UTC |
d56e3f4 | Kristiyan Kostadinov | 30 November 2021, 10:47:11 UTC | feat(core): support TypeScript 4.5 (#44164) Adds support for TypeScript 4.5. Includes the following changes: * Bumping the package versions. * Fixing a few calls to `createExportSpecifier` and `createImportSpecifier` that require an extra parameter. * Adding some missing methods to the TS compiler hosts. * Fixing an issue in the TS mocks for the ngcc tests where a regex was too agressive and was trying to match a path like `/node_modules/@typescript/lib-es5`. * Accounting for type-only import specifiers when reporting DI errors (see #43620). Fixes #43620. PR Close #44164 | 30 November 2021, 16:59:02 UTC |
0fcf18d | Paul Gschwendtner | 27 November 2021, 13:51:25 UTC | ci: increase jasmine default timeout for saucelabs legacy tests (#44281) Previously, when we did not bundle tests, we also had the jasmine default timeout increased to 15000ms. This commit re-introduces this increased timeout by also maintaining a custom test init file for the legacy saucelab jobs. This is desirable as all of the Saucelabs test code is local in the `tools/legacy-saucelabs` folder. PR Close #44281 | 30 November 2021, 16:56:05 UTC |
444b2c4 | Paul Gschwendtner | 27 November 2021, 13:50:49 UTC | test: remove unused router karma legacy setup (#44281) Removes unused router karma legacy test setup that just caused unnecessary confusion. PR Close #44281 | 30 November 2021, 16:56:05 UTC |
6c1573b | Paul Gschwendtner | 26 November 2021, 20:33:35 UTC | fix(compiler-cli): downlevel transform incorrectly extracting constructor parameters for nested classes (#44281) The downlevel decorator transform (commonly used in the CLI and other tooling of the ecosystem for enabling JIT ES2015+), is currently incorrectly dealing with nested classes. The transform will accidentally visit nested classes (in a constructor) multiple times and generate duplicated instances of the `ctorParameters` fields. This does not sound like an issue at first, but the duplicated `ctorParameters` fields will miss significant type information that has been elided by the first visit, resulting in generated code like the following: ```js let MyClass = /* @__PURE__ */ __name(class MyClass extends UpgradeNg1ComponentAdapter { constructor(scope, injector3, elementRef) { } }, "MyClass"); MyClass.ctorParameters = () => [ { type: void 0, decorators: [{ type: Inject, args: [$SCOPE] }] }, { type: Injector }, { type: ElementRef } ]; MyClass.ctorParameters = () => [ { type: void 0 }, // <---- NOTE! { type: Injector }, { type: ElementRef } ]; ``` PR Close #44281 | 30 November 2021, 16:56:05 UTC |
a87fcaa | Paul Gschwendtner | 26 November 2021, 20:12:55 UTC | test: re-add downlevel decorator transform test (#44281) Re-adds the accidentally deleted downlevel decorator transform test. PR Close #44281 | 30 November 2021, 16:56:05 UTC |
43dfab4 | Paul Gschwendtner | 26 November 2021, 18:28:39 UTC | fix(core): destroy hooks not set up for `useClass` provider using `forwardRef` (#44281) Fixes an issue where destroy hooks are not set up for `useClass` providers that rely on `forwardRef` for passing the actual class reference. Currently the destroy hooks are not captured because forward refs are not resolved for class providers. In ES2015+ this issue becomes even more critical if arrow-functions are used for e.g. `useClass: () => forwardRef(..)`. This is because arrow functions do not have a prototype, unlike in ES5 where the function assigned to `useClass` would always have a prototype. In ES2015+ a runtime exception as followed is returned (and doesn't give any useful indication of the forwardRef issue): ``` TypeError: Cannot read properties of undefined (reading 'ngOnDestroy') at registerDestroyHooksIfSupported (dist/packages/core/src/render3/di_setup.ts:196:35 <- dist/legacy-test-bundle.spec.js:41508:37) at resolveProvider (dist/packages/core/src/render3/di_setup.ts:153:9 <- dist/legacy-test-bundle.spec.js:41485:11) at resolveProvider (dist/packages/core/src/render3/di_setup.ts:70:7 <- dist/legacy-test-bundle.spec.js:41445:9) at providersResolver (dist/packages/core/src/render3/di_setup.ts:54:5 <- dist/legacy-test-bundle.spec.js:41438:7) at Object.definition.providersResolver (dist/packages/core/src/render3/features/providers_feature.ts:48:18 <- dist/legacy-test-bundle.spec.js:41600:16) at resolveDirectives (dist/packages/core/src/render3/instructions/shared.ts:1179:40 <- dist/legacy-test-bundle.spec.js:35611:17) at elementStartFirstCreatePass (dist/packages/core/src/render3/instructions/element.ts:40:7 <- dist/legacy-test-bundle.spec.js:38432:27) at ɵɵelementStart (dist/packages/core/src/render3/instructions/element.ts:87:7 <- dist/legacy-test-bundle.spec.js:38453:43) at ɵɵelement (dist/packages/core/src/render3/instructions/element.ts:180:3 <- dist/legacy-test-bundle.spec.js:38510:5) at MultipleFormControls_Template (ng:///MultipleFormControls.js:9:9) ``` PR Close #44281 | 30 November 2021, 16:56:05 UTC |
b23ce15 | Paul Gschwendtner | 26 November 2021, 14:24:04 UTC | build: bundle spec files for saucelabs legacy job (#44281) Bundle spec files similar to how it is done within the Angular Components repo. This should simplify the setup and also speed up the Saucelab job as only a single spec bundle would need to be downloaded, compared to having to load hundreds of files through the Saucelabs tunnel. Also makes a couple of tests more robust with the emulators/and accounts for ES2015 test runner changes. The tests should be less reluctant to such build process changes. Note for reviewers: Some imports have been simplified here. This work came from Joey's original WIP for this. It's unclear to me whether this is still needed, but it sounded like this was necessary for the ESBuild bundling to work. I have robusted the module resolution plugin though, so I doubt it's still needed. At the same time though: Not worth reverting/trying as these changes are nice to have anyway! Co-Authored-By: Joey Perrott <josephperrott@gmail.com> Co-Authored-By: Paul Gschwendtner <paulgschwendtner@gmail.com> PR Close #44281 | 30 November 2021, 16:56:04 UTC |
61e0234 | Paul Gschwendtner | 25 November 2021, 19:07:49 UTC | ci: attempt to increase stability of saucelabs legacy job (#44281) This is an attempt to increase the stability of the Saucelabs legacy job by using an emulator recommended by the Saucelabs platform configurator, explicitly specifying the appium server version etc. PR Close #44281 | 30 November 2021, 16:56:04 UTC |
3aafa76 | Andrew Scott | 24 November 2021, 21:27:29 UTC | fix(language-service): Correctly parse inputs and selectors with dollar signs (#44268) When we are going to the definition of an input, we find _both_ the definition of the input _and_ also look for any directives which have a selector that matches the input. For example: ``` @Directive({ selector: '[greeting]' }) export class MyDir { @Input() greeting!: string; } ``` With this commit, we now correctly handle the case where inputs and/or selectors have a dollar sign in them. The dollar sign has special meaning in CSS, but when we encounter the dollar in a template, we need to escape it when used as a selector so that it is taken as a dollar literal rather than a character with special meaning. Previously, we were not escaping the dollar sign and the CSS parsing logic would throw an error. The change in this commit prevents that error from happening, but a `try...catch` is still added in case there is another unhandled use-case. If this happens, we do not want the `goToDefinition` operation to completely fail. Fixes https://github.com/angular/vscode-ng-language-service/issues/1574 PR Close #44268 | 29 November 2021, 22:22:12 UTC |
708eb8c | dario-piotrowicz | 25 November 2021, 11:21:50 UTC | docs: fix instructions for debugging a karma test (#44244) PR Close #44244 | 29 November 2021, 22:21:42 UTC |
ef140a7 | George Kalpakas | 25 November 2021, 19:18:58 UTC | fix(docs-infra): fix the main content layout (#44282) Fix the layout of the main docs content on both small and large screens. On small screens, content could overlap with the floating ToC, while on large screens the content was not centered correctly (see screenshots below). (For reference, this was accidentally broken in #44236.) **Before:** - ![content on small screen before](https://user-images.githubusercontent.com/8604205/143491577-97255ee7-f79d-4c95-9287-ff2afeb5b29d.png) - ![content on large screen before](https://user-images.githubusercontent.com/8604205/143491582-2c19f7a2-d5ad-475a-a58b-e449efc492a9.png) **After:** - ![content on small screen after](https://user-images.githubusercontent.com/8604205/143491580-a405f650-cd4a-4804-8e65-422fc91f4c6e.png) - ![content on large screen after](https://user-images.githubusercontent.com/8604205/143491585-d0d2e914-a1a2-45ba-8e6b-b9546aa80354.png) PR Close #44282 | 29 November 2021, 22:21:14 UTC |
8077695 | George Kalpakas | 26 November 2021, 17:46:30 UTC | test(ngcc): use `main` property in test `package.json` files for UMD tests (#44245) Previously, the mock packages created for `UmdDependencyHost`'s tests, specified the entry-point as `esm2015`. This does not matter in tests, since the packages are explicitly passed to the `UmdDependencyHost` (while in reality the appropriate host would be determined based on the name of the entry-point property - in this case, detecting the entry-point as ES2015 and not UMD). However, in order to avoid confusion, this commit updates the test packages to use `main` (the default property used for the UMD format in `package.json` files). PR Close #44245 | 29 November 2021, 17:38:06 UTC |
de0975c | George Kalpakas | 26 November 2021, 17:46:29 UTC | fix(ngcc): correctly report error when collecting dependencies of UMD module (#44245) Previously, the ngcc `UmdReflectionHost` would throw a misleading error when trying to collect dependencies of an invalidly formatted UMD module. This happened because an error would be thrown while trying to construct the error message for the actual error, by calling `getText()` on certain TypeScript AST nodes. See https://github.com/angular/angular/issues/44019#issuecomment-959954121 for a more in-depth explanation. This commit ensures `getText()` can be safely called on TypeScript AST nodes when collecting dependencies of UMD modules. PR Close #44245 | 29 November 2021, 17:38:06 UTC |
707bf41 | George Kalpakas | 26 November 2021, 17:46:28 UTC | test(ngcc): run more tests against more supported UMD formats (#44245) This commit utilizes the infrastructure added in the previous commit to run more tests against more of the supported UMD formats. This shall give us more confidence that all aspects of UMD processing work correctly with the various formats. PR Close #44245 | 29 November 2021, 17:38:05 UTC |
557857a | George Kalpakas | 26 November 2021, 17:46:28 UTC | test(ngcc): use helper function for generating UMD modules for tests (#44245) Previously, several ngcc test suites used their own helper to generate test UMD modules. This commit switches to using the same helper for generating UMD modules across test suites. This improves DRYness (ensuring changes/fixes to the UMD format need only be applied once) and makes it easier to test different UMD formats in all test suites. PR Close #44245 | 29 November 2021, 17:38:05 UTC |
3c8a5d1 | George Kalpakas | 26 November 2021, 17:46:27 UTC | fix(ngcc): support the UMD wrapper function format emitted by Webpack (#44245) Previously, ngcc could only handle UMD modules whose wrapper function was implemented as a `ts.ConditionalExpression` (i.e. using a ternary operator). This is the format emitted by popular bundlers, such as Rollup. This commit adds support for a different format, that uses `if/else` statements, which is what is [emitted by Webpack][1]. [1]: https://webpack.js.org/configuration/output/#type-umd Fixes #44019 PR Close #44245 | 29 November 2021, 17:38:05 UTC |
e145b7a | George Kalpakas | 26 November 2021, 17:46:27 UTC | refactor(ngcc): make it easy to support more UMD wrapper function formats (#44245) Previously, ngcc could only handle UMD modules whose wrapper function was implemented as a `ts.ConditionalExpression` (i.e. using a ternary operator). This is the format emitted by popular bundlers, such as Rollup. However, this failed to account for a different format, using `if/else` statements, such as the one [emitted by Webpack][1]. This commit prepares ngcc for supporting different UMD wrapper function formats by decoupling the operation of parsing the wrapper function body to capture the various factory function calls and that of operating on the factory function calls (for example, to read or update their arguments). In a subsequent commit, this will be used to add support for the Webpack format. [1]: https://webpack.js.org/configuration/output/#type-umd PR Close #44245 | 29 November 2021, 17:38:05 UTC |
8fae7df | dario-piotrowicz | 24 November 2021, 20:48:43 UTC | fix(docs-infra): add safari-only media query for aio footer flex (#44266) safari handles rem based media queries differently so in order to provide a similar user-experience to safari users, add a new safari-only media query for the footer's flex container resolves #44242 PR Close #44266 | 29 November 2021, 17:37:44 UTC |
1284d00 | JoostK | 24 November 2021, 21:01:26 UTC | refactor(platform-browser-dynamic): remove private export of `ResourceLoaderImpl` (#44267) This type was exported for the ViewEngine compiler as it needed to reference the class in its DI codegen. This is no longer a requirement with Ivy, hence the private export can be removed. This change prevents an import of `@angular/compiler` to be referenced in the .d.ts file of `@angular/platform-browser-dynamic`, which is beneficial for application compilations as that prevents the `@angular/compiler` .d.ts files from being included in the `ts.Program` of an application. Closes #44157. PR Close #44267 | 29 November 2021, 17:37:00 UTC |
47f1c0f | Pete Bacon Darwin | 25 November 2021, 09:23:26 UTC | fix(docs-infra): ensure deprecated styling is not overridden (#44275) The `.code-anchor` styling was overriding the `.deprecated-api-item` styling. The `text-decoration` is not needed on `.code-anchor` since it inherits this from the `a` rule in the typography.scss file. Fixes #44264 PR Close #44275 | 29 November 2021, 17:36:23 UTC |
594bd12 | Kristiyan Kostadinov | 25 November 2021, 11:05:42 UTC | test(core): clean up tests relying on entryComponents (#44276) Cleans up all the tests that had to declare a separate module in order to pass in `entryComponents` when creating components dynamically. This covers almost all of the `entryComponents` usages, except for a few which I've left for now, because they're testing some of the existing leftover `entryComponents` logic in core. PR Close #44276 | 29 November 2021, 17:36:04 UTC |
2c954bb | Christian-E | 28 November 2021, 20:57:41 UTC | docs: fix filename of the file containing the 'routes'-array in lazy loading guide (#44297) PR Close #44297 | 29 November 2021, 17:35:44 UTC |
b31973c | Andrew Kushnir | 09 November 2021, 02:20:56 UTC | test: remove Ivy/ViewEngine switch helpers and obsolete tests (#44120) This commit removes special functions that were used to run tests in ViewEngine or Ivy only. Since ViewEngine is deprecated and we no longer run ViewEngine tests on CI, we can cleanup those special helpers and ViewEngine-only tests. PR Close #44120 | 24 November 2021, 19:42:39 UTC |
d8e6577 | JoostK | 30 October 2021, 21:25:49 UTC | refactor(ngcc): remove Ivy switch marker transform (#43891) ngcc used to rewrite `PRE_R3` markers to become `POST_R3` in order to switch the runtime implementation in `@angular/core` from View Engine to Ivy. Now that `@angular/core` is published as native Ivy package and the runtime switch code has been removed, there is no need for ngcc to perform this transform anymore. PR Close #43891 | 24 November 2021, 19:26:25 UTC |
b2ac81d | JoostK | 19 October 2021, 17:03:48 UTC | refactor(compiler-cli): remove Ivy switch transform (#43891) Now that the core package has been cleaned up to no longer contain Ivy switch code, the transform to switch the `PRE_R3` markers to become `POST_R3` is deleted as well. PR Close #43891 | 24 November 2021, 19:26:25 UTC |
b06e398 | Rohan Pednekar | 05 November 2021, 13:48:14 UTC | fix(core): add missing info about a component in the "pipe could not be found" error message (#44081) Add error handling for pipe with component class name in which it has a problem. Add it in ngDevMode, so that it will be a tree-shake away from the production bundle. PR Close #44081 | 24 November 2021, 18:57:11 UTC |
83bbbd3 | Doug Parker | 10 November 2021, 23:50:55 UTC | docs: document `ng update` support guarantees (#44142) PR Close #44142 | 24 November 2021, 18:56:32 UTC |
adaff41 | Pei Wang | 18 November 2021, 02:19:19 UTC | ci: Upgrade tsec to 0.2.0. (#44205) tools/tsec.bzl is now part of tsec. Remove from Angular repo and update BUILD.bazel files. PR Close #44205 | 24 November 2021, 18:55:58 UTC |
0ad0054 | Joey Perrott | 18 November 2021, 18:25:37 UTC | build: update repository to node@16 locally (#44211) As node 16 is now active LTS, updating to node 16 is a better choice for our own development. Notably its support for M1 chips is an important value add for us. PR Close #44211 | 24 November 2021, 18:55:33 UTC |
29c8fee | Joey Perrott | 18 November 2021, 22:47:29 UTC | test(common): change fallback default URL in MockPlatformLocation (#44211) In node@16 the URL constructor fails for for a malformed URL such as http://<empty>/. Instead http://_empty_ is used as this conveys the same information in tests but is correctly formed. PR Close #44211 | 24 November 2021, 18:55:33 UTC |
7b0e9b0 | dario-piotrowicz | 18 November 2021, 22:59:01 UTC | docs(animations): remove incorrect information regarding animateChild (#44216) Remove incorrect information present in the angular.io animations documentation stating that animateChild does not work with route transition animations as that turned out not to be true This PR effectively reverts the changes make in PR: #44014 For more context see issue #30477 PR Close #44216 | 24 November 2021, 18:54:22 UTC |