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 |
6ae3858 | dario-piotrowicz | 10 November 2021, 21:38:52 UTC | docs(core): improve viewEncapsulation documentation (#44151) Slighlty improve the `viewEncapsulation` documentation (both in code comments and content files) to make it more clear and understandable. See https://github.com/angular/angular/pull/44099#discussion_r745890903 PR Close #44151 | 24 November 2021, 18:53:45 UTC |
2bf131a | dario-piotrowicz | 19 November 2021, 22:26:57 UTC | fix(docs-infra): move aio footer inside mat-sidenav-container (#44236) currently the aio footer sits outside the mat-sidenav-container, as a result when the mat-sidenav in over mode appears, the footer is not placed under the sidenav backdrop, move the footer inside the mat-sidenav-container so that it does PR Close #44236 | 24 November 2021, 17:04:01 UTC |
3697acc | George Kalpakas | 23 November 2021, 08:48:32 UTC | build(docs-infra): upgrade cli command docs sources to 481eb4544 (#44250) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/b8e198ba5...481eb4544): **Modified** - help/new.json PR Close #44250 | 24 November 2021, 17:03:38 UTC |
4527931 | Artur | 24 November 2021, 13:26:39 UTC | docs: fix issue link in v13 release notes (#44258) See: #44181 PR Close #44258 | 24 November 2021, 17:02:57 UTC |
414d5fe | Jessica Janiuk | 24 November 2021, 00:38:00 UTC | ci: add jessicajaniuk to pullapprove groups (#44255) This adds jessicajaniuk to fw-animations and fw-testing. PR Close #44255 | 24 November 2021, 17:02:30 UTC |
8c71b9f | Alex Rickabaugh | 09 November 2021, 19:02:39 UTC | refactor: delete the View Engine runtime (#43884) This commit removes the View Engine runtime. Itself, this change is relatively straightforward, but it represents the final step in a multi-year journey. It's only possible due to the hard work of many current and former team members and collaborators, who are too numerous to list here. Co-authored-by: Alan Agius <alan.agius4@gmail.com> Co-authored-by: Andrew Kushnir <akushnir@google.com> Co-authored-by: Andrew Scott <atscott01@gmail.com> Co-authored-by: Andrew Seguin <andrewjs@google.com> Co-authored-by: Cédric Exbrayat <cedric@ninja-squad.com> Co-authored-by: Charles Lyding <19598772+clydin@users.noreply.github.com> Co-authored-by: Dave Shevitz <dshevitz@google.com> Co-authored-by: Doug Parker <dgp1130@users.noreply.github.com> Co-authored-by: Dylan Hunn <dylhunn@gmail.com> Co-authored-by: Emma Twersky <emmatwersky@google.com> Co-authored-by: George Kalpakas <kalpakas.g@gmail.com> Co-authored-by: Igor Minar <iminar@google.com> Co-authored-by: Jeremy Elbourn <jelbourn@google.com> Co-authored-by: Jessica Janiuk <jessicajaniuk@google.com> Co-authored-by: JiaLiPassion <JiaLi.Passion@gmail.com> Co-authored-by: Joey Perrott <josephperrott@gmail.com> Co-authored-by: Joost Koehoorn <joost.koehoorn@gmail.com> Co-authored-by: Kristiyan Kostadinov <crisbeto@abv.bg> Co-authored-by: Madleina Scheidegger <mscheid@google.com> Co-authored-by: Mark Thompson <2554588+MarkTechson@users.noreply.github.com> Co-authored-by: Minko Gechev <mgechev@gmail.com> Co-authored-by: Paul Gschwendtner <paulgschwendtner@gmail.com> Co-authored-by: Pawel Kozlowski <pkozlowski.opensource@gmail.com> Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com> Co-authored-by: Wagner Maciel <wagnermaciel@google.com> Co-authored-by: Zach Arend <zachzach@google.com> PR Close #43884 | 23 November 2021, 21:10:06 UTC |
aadfad7 | Alex Rickabaugh | 02 November 2021, 21:39:52 UTC | build: remove view engine build infrastructure (#43884) This commit removes --config=viewengine and makes Ivy the default for building Angular. PR Close #43884 | 23 November 2021, 21:10:06 UTC |
bb9ff60 | Alex Rickabaugh | 09 November 2021, 18:59:21 UTC | test: remove view-engine-only tests (#43884) This commit removes most tests that were designated as only covering View Engine code. It also removes tag filters from CI and local commands to run tests. In a few cases (such as with the packages/compiler tests), this tag was improperly applied, and certain test cases have been added back running in Ivy mode. This commit also empties `@angular/compiler/testing` as it is no longer necessary (this is safe since compiler packages are not public API). It can be deleted in the future. PR Close #43884 | 23 November 2021, 21:10:06 UTC |
f44cb57 | unknown | 20 November 2021, 23:13:53 UTC | fix(router): prevent componentless routes from being detached (#44240) Currently, when deactivating a route, the detach method of the RouteReuseStrategy is always called even when we are dealing with a componentless route. If when using a custom strategy we attempt to detach a componentless route, an exception is thrown causing the navigation to break. This change prevents this from happening, by not triggering the detach of the route reuse strategy. Fixes #44239 PR Close #44240 | 23 November 2021, 17:12:27 UTC |
2772eea | Ramesh Thiruchelvam | 18 November 2021, 17:21:09 UTC | refactor(core): clean up isDevMode for tree-shaking (#44210) Removing the usage of isDevMode with ngDevMode flag. This will make the dev-mode code tree-shakable from the production builds. PR Close #44210 | 23 November 2021, 17:11:59 UTC |
40eb2f5 | Renovate Bot | 19 November 2021, 11:32:21 UTC | build: update dependency source-map-support to v0.5.21 (#44225) PR Close #44225 | 23 November 2021, 17:10:59 UTC |
a0177c6 | Renovate Bot | 21 November 2021, 00:25:38 UTC | build: update angular (#44241) PR Close #44241 | 23 November 2021, 17:10:24 UTC |
782b893 | Renovate Bot | 22 November 2021, 17:50:48 UTC | build: update dependency @angular-eslint/eslint-plugin-template to v13 (#44224) PR Close #44224 | 22 November 2021, 20:18:00 UTC |
24b6353 | Pete Bacon Darwin | 19 November 2021, 13:17:24 UTC | fix(ngcc): ensure that ngcc does not write a lock-file into node_modules package directories (#44228) When executing, ngcc writes a lock-file that is used to coordinate multiple concurrent instances of ngcc. Previously, this file was written at `node_modules/@angular/compiler-cli/ngcc`, or similar depending upon the bundling of the package. But this causes problems for setups where `node_modules` package directories are expected to be read-only. Now, the lock-file is written as `.ngcc_lock_file` into the top of the `node_modules`, which is an acceptable place to store transient files. This change should help to unblock use of tools like pnpm and lerna, which can use symlinks to readonly package directories. PR Close #44228 | 22 November 2021, 17:55:13 UTC |
f7dd0f8 | George Kalpakas | 19 November 2021, 20:36:02 UTC | build(docs-infra): update examples lockfile (#44232) In #44214, the `package.json` used to install dependencies for docs examples was updated, but the corresponding lockfile was not. Update the lockfile to keep it in sync with `package.json`. PR Close #44232 | 22 November 2021, 17:40:27 UTC |
34c3ec6 | Renovate Bot | 19 November 2021, 18:53:47 UTC | build: update dependency @angular-eslint/eslint-plugin to v13 (#44223) PR Close #44223 | 22 November 2021, 17:36:00 UTC |
6214636 | David Shevitz | 05 November 2021, 22:59:54 UTC | docs: add two new overview pages: developer-guide-overview and understanding-angular-overview (#44091) PR Close #44091 | 20 November 2021, 00:12:10 UTC |
c55ce75 | Doug Parker | 01 October 2021, 23:43:23 UTC | refactor(bazel): always add `strictTemplates` option to `tsconfig.json` (#43674) `strictTemplates` was only conditionally added to the `tsconfig.json` file to avoid breaking the angular/components repo (see https://github.com/angular/angular/pull/43582#issuecomment-928567758). Components has been updated in https://github.com/angular/components/pull/23677, so this condition is no longer necessary and `strictTemplates` can always be included in `tsconfig.json` without breakage. PR Close #43674 | 19 November 2021, 22:28:03 UTC |
53c99bb | Douglas Parker | 15 November 2021, 19:43:24 UTC | docs: add dynamic `import()` ES module change to v13 release notes (#44181) Closes angular/angular-cli#22159. See: https://github.com/angular/angular-cli/issues/22159#issuecomment-969251924 PR Close #44181 | 19 November 2021, 22:27:40 UTC |
489cf42 | Paul Gschwendtner | 22 June 2020, 08:09:47 UTC | fix(common): incorrect error type for XHR errors in `TestRequest` (#36082) Currently the `HttpClient` always wraps errors from XHR requests, but the underlying errors are always of type `ProgressEvent`, or don't have a native error if the status code is just indicating failure (e.g. 404). This behavior does not match in the `TestRequest` class provided by `@angular/common/http/testing` where errors are considered being of type `ErrorEvent`. This is incorrect because `ErrorEvent`s provide information for errors in scripts or files which are evaluated. Since the `HttpClient` never evaluates scripts/files, and also since XHR requests clearly are documented to emit `ProgressEvent`'s, we should change the `TestSupport` to retrieve such `ProgressEvent`'s instead of incompatible objects of type `ErrorEvent`. In favor of having a deprecation period, we keep supporting `ErrorEvent` in the `TestRequest.error` signature. Eventually, we can remove this signature in the future. Resources: * https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error_event * https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent * https://xhr.spec.whatwg.org/#event-xhr-errpr Related to: https://github.com/angular/angular/issues/34748. DEPRECATED: `TestRequest` from `@angular/common/http/testing` no longer accepts `ErrorEvent` when simulating XHR errors. Instead instances of `ProgressEvent` should be passed, matching with the native browser behavior. PR Close #36082 | 19 November 2021, 21:26:52 UTC |
53bdbc6 | Renovate Bot | 19 November 2021, 09:01:29 UTC | build: update angular (#44221) PR Close #44221 | 19 November 2021, 19:44:55 UTC |
d8ae34a | dario-piotrowicz | 09 November 2021, 23:52:22 UTC | fix(docs-infra): remove negative margin (#44126) remove the top padding for the homepage article, instead of having that top padding and moving the element up via a negative bottom margin in the intro section note: the result is identical except for when the article's media query is applied, the difference is barely noticeable anyways PR Close #44126 | 19 November 2021, 19:32:29 UTC |
9255d0b | dario-piotrowicz | 09 November 2021, 22:34:34 UTC | fix(docs-infra): fix aio homepage breaking on certain widths (#44126) the aio homepage has a fixed width for its hero content, that is not handling well certain window widths, fix that by removing the fixed width and tweaking related media queries PR Close #44126 | 19 November 2021, 19:32:29 UTC |
48ca7dc | Kristiyan Kostadinov | 14 November 2021, 08:35:42 UTC | fix(compiler-cli): interpret string concat calls (#44167) These changes add support for interpreting `String.prototype.concat` calls. We need to support it, because in TypeScript 4.5 string template expressions are transpiled to `concat` calls, rather than string concatenations. See https://github.com/microsoft/TypeScript/pull/45304. PR Close #44167 | 19 November 2021, 19:30:59 UTC |
2e6b07a | Kristiyan Kostadinov | 18 November 2021, 08:38:13 UTC | refactor(core): clean up leftover isDevMode usages (#44208) Removes a couple of leftover calls to `isDevMode`. PR Close #44208 | 19 November 2021, 19:30:20 UTC |
b930547 | JoostK | 18 November 2021, 22:44:06 UTC | fix(core): support cyclic metadata in TestBed overrides (#44215) The TestBed APIs to override metadata would crash when the metadata contained objects with cyclic references. Metadata overrides use the JSON serialized representation of a value to compare objects, which throws an error if the value has cyclic references. This commit avoids the error by replacing multiple occurrences of the same object using a unique string representation for the object. Fixes #43948 PR Close #44215 | 19 November 2021, 19:27:08 UTC |
894aaea | George Kalpakas | 18 November 2021, 20:05:21 UTC | refactor(elements): remove unneeded Custom Elements polyfill from docs examples (#44214) In PR #43975, the `Angular Elements` guide was updated to remove mentions of the Custom Elements-related polyfills, since they are no longer necessary in v13+ (due to all CLI projects being ES2015+ and all supported browsers natively supporting Custom Elements). This commit updates the related docs example boilerplate to not include the unneeded `@webcomponents/custom-elements` polyfill. PR Close #44214 | 19 November 2021, 18:46:16 UTC |
e397a4c | George Kalpakas | 18 November 2021, 19:57:54 UTC | docs(docs-infra): remove obsolete mention of skipping HTTPS-related audits (#44214) Since commit 6e405513942f675c6c64ff4cb4a62e0df649e26a, the `audit-web-app` script no longer needs to skip HTTPS-related audits. Update the docs comment to reflect that. PR Close #44214 | 19 November 2021, 18:46:16 UTC |
7e121e4 | Renovate Bot | 19 November 2021, 09:06:18 UTC | build: update dependency @angular-eslint/builder to v13 (#44222) PR Close #44222 | 19 November 2021, 18:43:59 UTC |
f4c1501 | Renovate Bot | 19 November 2021, 10:11:37 UTC | build: update dependency @angular-eslint/template-parser to v13 (#44226) PR Close #44226 | 19 November 2021, 18:43:11 UTC |
76833aa | George Kalpakas | 18 November 2021, 18:42:58 UTC | build(docs-infra): upgrade cli command docs sources to b8e198ba5 (#44212) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/afd86f0cd...b8e198ba5): **Modified** - help/new.json PR Close #44212 | 18 November 2021, 21:30:26 UTC |