785ab81 | Alan Agius | 28 February 2023, 14:30:35 UTC | ci: add several dependencies to renovate ignore list (#49258) Add ignored dependencies in Renovate config. These have been collected from the dependency dashboard (https://github.com/angular/angular/issues/46728) The reason for this change is that Renovate is re-opened dependency updates for ignored PRs. Example: https://github.com/angular/angular/pull/49256 https://github.com/angular/angular/pull/47852 PR Close #49258 | 28 February 2023, 16:15:05 UTC |
19a4cde | Virginia Dooley | 02 November 2022, 00:47:39 UTC | docs: New document extracted from the original Communicating with backend services using HTTP document, which is to be retired. (#47937) PR Close #47937 | 27 February 2023, 23:24:41 UTC |
3062442 | Iván Navarro | 22 February 2023, 17:10:43 UTC | fix(router): add error message when using loadComponent with a NgModule (#49164) Add a more specific error message when defining a lazy-loaded route using `loadComponent` and passing it a NgModule instead of a standalone component, when the user should actually be using `loadChildren`. PR Close #49164 | 27 February 2023, 18:09:55 UTC |
138b493 | Doug Parker | 16 February 2023, 23:39:10 UTC | release: bump DevTools version (#49121) PR Close #49121 | 27 February 2023, 18:07:54 UTC |
af31adb | Matthieu Riegler | 26 February 2023, 03:15:06 UTC | refactor(common): Use isPromise from @angular/core (#49210) This commit removes `isPromise()` from Common as it's a duplicate function that can be imported from `@angular/core`. PR Close #49210 | 27 February 2023, 18:03:21 UTC |
f0e9260 | Vincent | 23 February 2023, 16:48:14 UTC | fix(common): make Location.normalize() return the correct path when the base path contains characters that interfere with regex syntax. (#49181) Fix the function stripping the base path from the URL, as the current implementation uses the base path as part of a regex, which wrongly makes paths fails that contain characters such as a parenthesis (example: C:/Users/MyUser(Test)/project). Fixes #49179 PR Close #49181 | 27 February 2023, 18:02:33 UTC |
7ec76de | Andrew Kushnir | 27 February 2023, 03:33:37 UTC | refactor(core): add previous sibling node reference to TNode (#49223) This commit updates the `TNode` to include a reference to the previous sibling node. Currently, TNode has references to the next sibling and parent nodes, but in followup changes we'd need to have access to previous TNodes (to determine position of the current node). PR Close #49223 | 27 February 2023, 18:00:26 UTC |
a852862 | Paul Gschwendtner | 27 February 2023, 13:18:38 UTC | build: cleanup unused dependencies (#49227) Cleans up a few more unused dependencies. Related: https://github.com/angular/angular/pull/49226 PR Close #49227 | 27 February 2023, 16:06:00 UTC |
6107d2e | Aristeidis Bampakos | 24 February 2023, 19:18:16 UTC | docs: change link for Angular Projects book (#49198) PR Close #49198 | 27 February 2023, 16:05:21 UTC |
56f7d1f | Aristeidis Bampakos | 24 February 2023, 19:20:21 UTC | docs: add new edition of Learning Angular book (#49199) PR Close #49199 | 27 February 2023, 16:04:35 UTC |
6d91296 | Matthieu Riegler | 26 February 2023, 17:48:00 UTC | docs: bump first-app to 15.2 (#49217) The stackblitz demo of the quick-start guide was broken with incompatible dependencies. This commit fixes this. Fixes #49213 PR Close #49217 | 27 February 2023, 16:03:47 UTC |
8542593 | Andrew Kushnir | 23 February 2023, 23:29:50 UTC | refactor(platform-browser): move TransferState init logic into its constructor (#49191) This commit updates the TransferState class to move its init logic from the `useFactory` function to its constructor. The change is needed to make the init behavior consistent across different injection scenarios and tolerate the issue described in https://github.com/angular/angular/issues/49190. PR Close #49191 | 24 February 2023, 18:41:17 UTC |
d0fa598 | Andrew Kushnir | 23 February 2023, 05:46:45 UTC | refactor(core): avoid creating DOM nodes before creating a TNode (#49172) This commit updates the `elementStart` instruction to avoid creating DOM nodes before creating a corresponding TNode. This refactoring is needed to make sure this internal logic is consistent across all instructions. PR Close #49172 | 24 February 2023, 16:29:06 UTC |
04d8b6c | Paul Gschwendtner | 23 February 2023, 17:27:25 UTC | fix(compiler-cli): do not persist component analysis if template/styles are missing (#49184) Consider the following scenario: 1. A TS file with a component and templateUrl exists 2. The template file does not exist. 3. First build: ngtsc will properly report the error, via a FatalDiagnosticError 4. The template file is now created 5. Second build: ngtsc still reports the same errror. ngtsc persists the analysis data of the component and never invalidates it when the template/style file becomes available later. This breaks incremental builds and potentially common workflows where resource files are added later after the TS file is created. This did surface as an issue in the Angular CLI yet because Webpack requires users to re-start the process when a new file is added. With ESBuild this will change and this also breaks incremental builds with Bazel/Blaze workers. To fix this, we have a few options: * Invalidate the analysis when e.g. the template file is missing. Never caching it means that it will be re-analyzed on every build iteration. * Add the resource dependency to ngtsc's incremental file graph. ngtsc will then know via `host.getModifiedResources` when the file becomes available- and fresh analysis of component would occur. The first approach is straightforward to implement and was chosen here. The second approach would allow ngtsc to re-use more of the analysis when we know that e.g. the template file still not there, but it increases complexity unnecessarily because there is no **single** obvious resource path for e.g. a `templateUrl`. The URL is attempted to be resolved using multiple strategies, such as TS program root dirs, or there is support for a custom resolution through `host.resourceNameToFileName`. It would be possible to determine some candidate paths and add them to the dependency tracker, but it seems incomplete given possible external resolvers like `resourceNameToFileName` and also would likely not have a sufficient-enough impact given that a broken component decorator is not expected to remain for too long between N incremental build iterations. PR Close #49184 | 24 February 2023, 16:24:08 UTC |
92b0bda | Kristiyan Kostadinov | 24 February 2023, 08:12:48 UTC | fix(migrations): delete barrel exports in standalone migration (#49176) Adds some logic to automatically delete `export * from './foo'` style imports. Previously they weren't being picked up, because finding all the references using the language service doesn't include barrel exports. PR Close #49176 | 24 February 2023, 16:23:02 UTC |
d7835e4 | Michael Ziluck | 23 February 2023, 17:42:32 UTC | docs(router): fix code block closing ticks (#49185) PR Close #49185 | 23 February 2023, 18:37:25 UTC |
e384c69 | Craig Spence | 23 February 2023, 03:32:02 UTC | docs(core): Improved README.md (#49171) PR Close #49171 | 23 February 2023, 18:35:42 UTC |
aa10532 | Angular Robot | 22 February 2023, 17:07:31 UTC | build: update io_bazel_rules_sass digest to 1f27790 (#49132) See associated pull request for more information. PR Close #49132 | 23 February 2023, 18:34:43 UTC |
7677963 | Alex Rickabaugh | 22 February 2023, 21:00:32 UTC | release: cut the v15.2.0 release | 22 February 2023, 21:04:10 UTC |
03fcb36 | cexbrayat | 03 February 2023, 17:21:10 UTC | fix(migrations): migrate HttpClientModule to provideHttpClient() (#48949) The `standalone-bootstrap` migration now migrates `HttpClientModule` imports to `provideHttpClient(withInterceptorsFromDi())` instead of `importProvidersFrom(HttpClientModule)`. The `withInterceptorsFromDi()` feature is added to make sure class-based interceptors still works if there are any in the application. Fixes #48948 PR Close #48949 | 22 February 2023, 19:30:01 UTC |
2f08560 | Matthieu Riegler | 21 February 2023, 23:03:39 UTC | docs: escape script tag to prevent rendering problems (#49152) un-commented tags are responsible for rendering problem of markdown document. This commit fixes the http make jsonp request guide. fixes #49151 PR Close #49152 | 22 February 2023, 19:29:33 UTC |
7b4d3c0 | Angular Robot | 21 February 2023, 12:08:39 UTC | build: update actions/cache digest to 69d9d44 (#49148) See associated pull request for more information. PR Close #49148 | 21 February 2023, 21:36:41 UTC |
c98c6a8 | Kristiyan Kostadinov | 21 February 2023, 09:57:49 UTC | fix(migrations): don't copy animations modules into the imports of test components (#49147) Since we have less information about how to copy test components, we copy all the `imports` from the `configureTestingModule` call into the component's `imports`. It fixes some tests, but it can cause issues with animations modules, because they throw errors if they're imported multiple times. These changes add an exception for animations modules imported in testing modules. PR Close #49147 | 21 February 2023, 21:35:43 UTC |
6301935 | Angular Robot | 21 February 2023, 06:07:18 UTC | build: update eslint dependencies to v5.53.0 (#49146) See associated pull request for more information. PR Close #49146 | 21 February 2023, 21:24:16 UTC |
cff84d0 | Walid Bouguima | 20 February 2023, 08:48:16 UTC | docs(router): `canMatch` route guard method signature update (#49140) Very cosmetic, but it might be necessary : I updated the ```canAccess``` method second signature name and type in the provided sample. As it stands, it triggers `TS(2345): Argument of type 'Route' is not assignable to parameter of type 'string'`. PR Close #49140 | 21 February 2023, 21:23:08 UTC |
ba7a757 | Kristiyan Kostadinov | 20 February 2023, 08:13:53 UTC | fix(migrations): return correct alias when conflicting import exists (#49139) Fixes that the `ImportManager` was returning the `propertyName` instead of the `name` when there's an import with a conflicting identifier. PR Close #49139 | 21 February 2023, 21:17:21 UTC |
ecb3091 | Kristiyan Kostadinov | 19 February 2023, 09:11:21 UTC | build: update AIO to TypeScript 4.9 (#49135) Updates AIO to the latest stable version of TypeScript as a prerequisite to drop support for 4.8. PR Close #49135 | 21 February 2023, 21:16:36 UTC |
2fd8194 | Kalbarczyk | 06 February 2023, 15:09:10 UTC | docs: add NG Poland 2023 and JS Poland 2023 to events (#48972) docs: add NG Poland 2023 and JS Poland 2023 to events PR Close #48972 | 21 February 2023, 21:16:06 UTC |
0950ef6 | Paul Gschwendtner | 20 February 2023, 14:18:40 UTC | ci: attempt to fix node windows job flakiness (#49142) Ocasionally Node is randomly not installed in the Windows job. We've been trying to debug this for a while. With the additonal debug information it looks like in some situations the NodeJS folder from NVM is not even present. One idea is to use `nvm on` to ensure NVM is actually enabled. It's unclear why it would be `off` at VM start, but it's worth giving a try. Trying `nvm off` via SSH yields similar issues as we saw in the flaky workflows: https://app.circleci.com/pipelines/github/angular/angular/56160/workflows/2f1b80b3-29c7-4274-804e-cb994c20aff0/jobs/1287228 PR Close #49142 | 20 February 2023, 15:16:54 UTC |
e69ba26 | Paul Gschwendtner | 20 February 2023, 14:14:46 UTC | ci: fix rbe initialization failing in windows job (#49142) The RBE init script from dev-infra is using ES2020 but the image NodeJS version does not support e.g. nullish coalescing. PR Close #49142 | 20 February 2023, 15:16:54 UTC |
6187888 | Joey Perrott | 18 February 2023, 02:22:49 UTC | build: update to latest remote build execution setup (#49133) Update to the latest RBE setup after key rotation. PR Close #49133 | 18 February 2023, 02:42:28 UTC |
8ed653b | Andrew Kushnir | 17 February 2023, 19:41:58 UTC | ci: update AIO payload size tracking (#49130) This commit updates a golden file to decrease an expected payload size. PR Close #49130 | 17 February 2023, 19:55:02 UTC |
b76b176 | cexbrayat | 05 February 2023, 08:35:51 UTC | refactor(http): simplify HttpClientModule XSRF configuration (#48957) The current configuration of `HttpClientModule` explicitely enables the XSRF configuration, but this XSRF configuration is the one used by default by `provideHttpClient`. See https://github.com/angular/angular/blob/main/packages/common/http/src/provider.ts#L50-L98 PR Close #48957 | 17 February 2023, 19:17:55 UTC |
f8a932a | Angular Robot | 17 February 2023, 02:33:44 UTC | build: update io_bazel_rules_sass digest to a2efcd6 (#49122) See associated pull request for more information. PR Close #49122 | 17 February 2023, 19:11:01 UTC |
d784986 | Alan Agius | 17 February 2023, 07:13:27 UTC | Revert "fix(platform-server): insert transfer state `script` before other `script` tags (#48868)" (#49112) This reverts commit 2fc5b70fcedb8ac35b825b245c0ae394dc125244 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM. PR Close #49112 | 17 February 2023, 19:09:22 UTC |
31a71a0 | Matthieu Riegler | 12 February 2023, 20:59:01 UTC | refactor: remove unnecessary file (#49042) view had a single export from a file located in the same package, no need to keep it. PR Close #49042 | 17 February 2023, 19:08:34 UTC |
3d8efec | Alan Agius | 16 February 2023, 13:34:23 UTC | test: remove `cli-hello-world-ivy-compat` integration test (#49111) This now is the same as `cli-hello-world` since this test does not use View Engine PR Close #49111 | 17 February 2023, 19:07:28 UTC |
345817f | Virginia Dooley | 02 February 2023, 01:55:11 UTC | docs: New doc HTTP client - Pass metadata to interceptors. (#48918) PR Close #48918 | 17 February 2023, 19:06:58 UTC |
24b6eea | Virginia Dooley | 02 February 2023, 01:48:12 UTC | docs: New doc HTTP client - Test requests (#48917) PR Close #48917 | 17 February 2023, 19:06:04 UTC |
d457ffc | Virginia Dooley | 02 February 2023, 01:37:32 UTC | docs: New doc HTTP client - Security: Cross-Site Request Forgery (XSRF) protection (#48916) PR Close #48916 | 17 February 2023, 19:05:27 UTC |
a378267 | Virginia Dooley | 02 February 2023, 01:11:05 UTC | docs: New doc extract from original HTTP doc to be retired. (#48913) PR Close #48913 | 17 February 2023, 19:04:51 UTC |
11f8f8d | Virginia Dooley | 02 February 2023, 00:53:17 UTC | docs: new doc extract from original HTTP doc to be retired. (#48911) PR Close #48911 | 17 February 2023, 19:04:22 UTC |
4811850 | Virginia Dooley | 01 February 2023, 23:03:23 UTC | docs: new doc extract from original HTTP doc which is to be retired. (#48905) PR Close #48905 | 17 February 2023, 19:03:49 UTC |
5d64409 | Virginia Dooley | 04 November 2022, 00:10:05 UTC | docs: New document extracted from the original Communicating with backend services using HTTP document, which is to be retired. (#47965) PR Close #47965 | 17 February 2023, 19:03:06 UTC |
25e220a | Andrew Kushnir | 16 February 2023, 02:39:25 UTC | fix(platform-server): avoid duplicate TransferState info after renderApplication call (#49094) This commit updates the `renderApplication` function to avoid duplicate serialization of the data from the `TransferState` class. The `renderApplication` function imports providers from the `ServerModule`, which already include the `TransferState` serialization providers, but the same providers were also included inside the `renderApplication` as well, which led to the duplication. PR Close #49094 | 17 February 2023, 00:00:30 UTC |
c95766e | Matthieu Riegler | 14 February 2023, 21:49:35 UTC | refactor: restore tree shaking for a warning message (#49064) `getInheritedInjectableDef` logs a depreciation warning that can be tree shaked in prod. Let's do it. PR Close #49064 | 16 February 2023, 23:55:44 UTC |
43e9301 | Matthieu Riegler | 15 February 2023, 18:31:46 UTC | docs: fixing typo in angular compiler options (#49085) The strictness flags that this "option" instead of "open". Fixes #49078 PR Close #49085 | 16 February 2023, 23:54:15 UTC |
e63fb80 | Andrew Scott | 16 February 2023, 21:42:48 UTC | refactor(router): Remove warning for an invalid ActivatedRoute (#49117) This warning was put in place to surface an error when developers use an ActivatedRoute with an invalid structure in tests. However, there isn't a clear path to fixing it and the tests continue to pass (ideally - that's what the recovery code is there for). Rather than surfacing an error that developers would be confused by and likely ignore, it would be better to not warn at all unless there is a clearer action to take to resolve the issue. resolves #49116 PR Close #49117 | 16 February 2023, 23:53:29 UTC |
25bed17 | John Manners | 16 February 2023, 11:52:06 UTC | docs: fix typo in toh-pt5.md (#49108) Line 254 - change 'liberate' to 'liberates'. PR Close #49108 | 16 February 2023, 23:52:33 UTC |
117af7d | John Manners | 16 February 2023, 12:45:56 UTC | docs: improve sentence in toh-pt5.md (#49109) Line 302 - improve clarity. PR Close #49109 | 16 February 2023, 23:51:27 UTC |
ee7a924 | Ikko Eltociear Ashimine | 16 February 2023, 03:41:37 UTC | docs: fix typo in router-tutorial-toh.md (#49095) non-existant -> non-existent PR Close #49095 | 16 February 2023, 23:50:56 UTC |
e1607cd | Ilyass | 15 February 2023, 19:06:32 UTC | docs(core): typo adding missing comma (#49088) PR Close #49088 | 16 February 2023, 23:49:09 UTC |
b06a1d0 | Kristiyan Kostadinov | 16 February 2023, 22:30:02 UTC | docs: add guide for standalone migration (#49044) Adds a guide describing how to use the standalone migration schematic. The new guide is grouped together with the existing standalone guide. PR Close #49044 | 16 February 2023, 23:33:18 UTC |
a814ed1 | mgechev | 15 February 2023, 21:28:28 UTC | docs: close the developer survey (#49092) PR Close #49092 | 16 February 2023, 23:32:45 UTC |
1a7444f | Paul Gschwendtner | 16 February 2023, 10:25:36 UTC | build: avoid unnecessary re-evaluation of starlark code (#49106) The experimental allow tags propagation flag is a `BuildLanguage` option and causes all Starlark code to be re-invoked. This causes a slow-down when switching between bazel query/ bazel build because the option is not set for `bazel query`. We fix it by applying the option to all commands, using `common`. PR Close #49106 | 16 February 2023, 23:31:56 UTC |
bf4ad38 | Alan Agius | 13 February 2023, 11:42:25 UTC | fix(platform-browser): remove styles from DOM of destroyed components (#48298) Currently style of components using `encapsulation`, `None` or `Emulated` will not be removed from the DOM once the component get destroyed. This change addresses this by keeping track of the number of times a component is rendered, when the component is destroyed the counter is decreased and once this reaches zero the style element is removed from the DOM. Currently, this new behaviour is on opt-in bases, but it will be changed in the next major version. To opt-in, set the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token to `true`. Example ```ts @NgModule({ declarations: [ AppComponent, ], imports: [ BrowserModule ], providers: [ { provide: REMOVE_STYLES_ON_COMPONENT_DESTROY, useValue: true } ], bootstrap: [AppComponent] }) export class AppModule { } ``` Closes #16670 PR Close #48298 | 16 February 2023, 23:31:24 UTC |
86d4016 | Kristiyan Kostadinov | 15 February 2023, 20:06:58 UTC | refactor(compiler): remove remaining usage of getMutableClone (#49070) Uses an alternate approach of preserving default imports that doesn't involve the `getMutableClone` function that is being removed in TypeScript 5.0. The alternate approach was already used in the downlevel transform and it works by patching the EmitResolver of the current transformation context to tell TypeScript to preserve the import. PR Close #49070 | 16 February 2023, 23:30:53 UTC |
440b51b | Pawel Kozlowski | 15 February 2023, 17:41:25 UTC | release: cut the v15.2.0-rc.0 release | 15 February 2023, 17:45:14 UTC |
44f13e2 | Pawel Kozlowski | 15 February 2023, 17:37:37 UTC | docs: release notes for the v15.1.5 release | 15 February 2023, 17:38:17 UTC |
2ca4972 | AleksanderBodurri | 08 February 2023, 07:48:18 UTC | refactor(devtools): consolidate devtools global styles into 1 file (#49001) Previously the DevTools demo app and browser app had duplicated styles in their respective styles.scss files. This commit creates a global styles.scss that is imported with sass @use into the demo and browser app styles.scss files. This will prevent any issues where css changes to one are missed in the other. Also reduces duplication of material css theme definitions by consolidating it inone place. The respective styles.scss files for the demo app and browser app continue to exist incase those need environment specific css. For example the browser app requires that height: 100% is set on a document in order to render properly in a browsers devtools tab. PR Close #49001 | 14 February 2023, 19:25:23 UTC |
7321154 | Joey Perrott | 08 February 2023, 15:44:30 UTC | docs: remove former team members from bios (#48999) PR Close #48999 | 14 February 2023, 17:46:20 UTC |
6529ade | Joey Perrott | 08 February 2023, 15:15:25 UTC | ci: clean up pull approve file from former team members (#48999) Cleanup pullapprove file PR Close #48999 | 14 February 2023, 17:46:20 UTC |
1f1a312 | Angular Robot | 14 February 2023, 16:07:55 UTC | build: update dependency json5 to v2.2.2 [security] (#48989) See associated pull request for more information. PR Close #48989 | 14 February 2023, 17:04:01 UTC |
a4fdc8f | Angular Robot | 14 February 2023, 06:07:26 UTC | build: update eslint dependencies to v5.52.0 (#49056) See associated pull request for more information. PR Close #49056 | 14 February 2023, 15:28:01 UTC |
7e4c554 | Alvaro Junqueira | 13 February 2023, 14:02:53 UTC | docs: fix the broke URL to w3c Trusted Types spec (#49047) PR Close #49047 | 14 February 2023, 15:25:54 UTC |
f874d6e | Angular Robot | 10 February 2023, 22:07:17 UTC | build: update dependency google-closure-compiler to v20230206 (#49028) See associated pull request for more information. PR Close #49028 | 14 February 2023, 15:24:22 UTC |
b98b2b3 | Angular Robot | 14 February 2023, 14:08:04 UTC | build: update cross-repo angular dependencies (#49058) See associated pull request for more information. PR Close #49058 | 14 February 2023, 15:18:46 UTC |
62453bf | Angular Robot | 14 February 2023, 06:07:00 UTC | build: update github/codeql-action action to v2.2.4 (#49055) See associated pull request for more information. PR Close #49055 | 14 February 2023, 14:02:33 UTC |
1c5ae63 | Matthieu Riegler | 06 February 2023, 14:09:51 UTC | refactor(docs-infra): Drop deprecated rxjs multicasting operators (#48969) RxJS has deprecated the `publishReplay` & `publishLast` operators which will be removed in RxJS 8. `connectable()` should be used instead. PR Close #48969 | 14 February 2023, 13:48:29 UTC |
31a2e21 | Angular Robot | 10 February 2023, 17:07:20 UTC | build: update cross-repo angular dependencies (#48929) See associated pull request for more information. PR Close #48929 | 14 February 2023, 13:46:07 UTC |
64f3684 | Angular Robot | 14 February 2023, 01:34:44 UTC | build: update io_bazel_rules_sass digest to b603e6f (#49053) See associated pull request for more information. PR Close #49053 | 14 February 2023, 13:40:22 UTC |
3ec2e2d | Paul Gschwendtner | 12 February 2023, 10:49:00 UTC | build: never cache monitoring bazel test target (#49039) We recently switched some of the monitoring e2e tests to Bazel. These tests should never be cached because they rely on an external URL and on network access. The URL itself might stay the same for quite a while, but the underlying site might change based on new deployments. Bazel only sees the URL and caches the test then. We want to avoid this. PR Close #49039 | 13 February 2023, 19:04:47 UTC |
ebae506 | Kristiyan Kostadinov | 13 February 2023, 12:03:30 UTC | fix(migrations): use import remapper in root component (#49046) Fixes that in #49022 the component import remapping function was being passed into the standalone migration. PR Close #49046 | 13 February 2023, 15:08:18 UTC |
0b725a8 | Angular Robot | 11 February 2023, 16:06:34 UTC | build: update dependency eslint-plugin-jsdoc to v40 (#49037) See associated pull request for more information. PR Close #49037 | 13 February 2023, 15:07:26 UTC |
816e76a | Kristiyan Kostadinov | 11 February 2023, 08:06:43 UTC | fix(migrations): automatically prune root module after bootstrap step (#49030) Currently as a part of the bootstrapping API migration we comment out the metadata of the root module and instruct users to re-run the module pruning step which can be cumbersome. These changes run the module pruning automatically. Note that initially I tried to reuse the module pruning logic and to run it against the existing program, but it was problematic, because it was common to have conflicting changes for the same AST nodes. PR Close #49030 | 13 February 2023, 08:52:07 UTC |
b97d591 | Paul Gschwendtner | 08 February 2023, 16:13:42 UTC | build: improve debugging of symbol extractor tests (#49000) Always print the path to the JS input file so that its easy to jump to it. PR Close #49000 | 13 February 2023, 08:12:50 UTC |
3c91d7e | Paul Gschwendtner | 08 February 2023, 16:12:29 UTC | test: update symbol extractor test goldens to reflect terser updates (#49000) The terser update included various changes, including changes to the inline optimizations. Constants like for the bloom filter are no longer inlined multiple times, but instead the constant is preserved and used with a shortened/mangled name. Note this also applies to other symbols like `SimpleChanges` too. This means that such new variables now show up in the symbols goldens. Concrete examples of inlined & no-longer inlined constants can be seen in the PR description: https://github.com/angular/angular/pull/49000#issue-1576416106 PR Close #49000 | 13 February 2023, 08:12:50 UTC |
3b74be9 | Angular Robot | 07 February 2023, 21:08:02 UTC | build: update dependency terser to 5.16.3 [security] (#49000) See associated pull request for more information. PR Close #49000 | 13 February 2023, 08:12:50 UTC |
42619bd | Paul Gschwendtner | 10 February 2023, 15:09:58 UTC | build: remove puppeteer, remaining usages of `webdriver-manager` and migrate AIO production test to Bazel (#49025) This commit does three things that all related and required to get rid of `webdriver-manager`: * Our puppeteer protractor setup in AIO relies on webdriver-manager because we install a corresponding chromedriver based on the puppeteer chromium version. We would like to get rid of this brittle setup. * We don't use `puppeteer` in many places because we manage chromium and the driver through Bazel. This commit removes the remaining puppeteer usage and replaces it with the Bazel-managed canonical browser * We need to migrate the AIO production URL tests to Bazel. These weren't part of Aspect's migration. This is needed so that we can drop puppeteer and use the Bazel browser setup. * Migrates some at-runtime TS `ts-node` test setup to proper idiomatic Bazel code. Needed because it depends on code that also had to be migrated to Bazel given the production e2e test Bazel migration (above points). Note: The xregexp dependency had to be added to the root project because `ts_library` does not support compilation deps from `@aio_npm`. This is something we will fix anyway when we have a more modern toolchain! PR Close #49025 | 10 February 2023, 19:22:18 UTC |
993a43f | Paul Gschwendtner | 09 February 2023, 15:58:25 UTC | test: update size goldens to reflect devkit update and terser (#48996) The Angular devkit updated Terser. Terser landed various changes related to variable inlining. Most constants are no longer inlined, but instead the variables are re-used. This led to a bundle size increase of around ~600B in AIO and most integration tests. Here is an example diff: https://screenshot.googleplex.com/4M8owBYDAqU982T PR Close #48996 | 10 February 2023, 16:28:36 UTC |
cb0feed | Angular Robot | 08 February 2023, 23:07:17 UTC | build: update cross-repo angular dependencies (#48996) See associated pull request for more information. PR Close #48996 | 10 February 2023, 16:28:36 UTC |
7af4ea6 | Angular Robot | 10 February 2023, 07:07:34 UTC | build: update actions/cache digest to 6998d13 (#49020) See associated pull request for more information. PR Close #49020 | 10 February 2023, 16:24:47 UTC |
40c976c | Kristiyan Kostadinov | 10 February 2023, 10:30:10 UTC | fix(migrations): use NgForOf instead of NgFor (#49022) Adds a function that allows for the import resolution for files to be customized in the standalone migration. Externally it's only use is to change `NgForOf` to `NgFor`, but we'll need it internally to deduplicate some Material modules. Fixes #49006. PR Close #49022 | 10 February 2023, 16:19:49 UTC |
5968561 | Dylan Hunn | 27 January 2023, 01:18:32 UTC | fix(forms): Make radio buttons respect `[attr.disabled]` (#48864) `setDisabledState` is supposed to be called whenever the disabled state of a control changes, including upon control creation. However, a longstanding bug caused the method to not fire when an *enabled* control was attached. This bug was fixed in v15. This had a side effect: previously, it was possible to instantiate a reactive form control with `[attr.disabled]=true`, even though the the corresponding control was enabled in the model. (Note that the similar-looking property binding version `[disabled]=true` was always rejected, though.) This resulted in a mismatch between the model and the DOM. Now, because `setDisabledState` is always called, the value in the DOM will be immediately overwritten with the "correct" enabled value. Users should instead disable the control directly in their model. (There are many ways to do this, such as using the `{value: 'foo', disabled: true}` constructor format, or immediately calling `FooControl.disable()` in `ngOnInit`.) If this incompatibility is too breaking, you may also opt out using `FormsModule.withConfig` or `ReactiveFormsModule.withConfig` at the time you import it, via the `callSetDisabledState` option. However, there is an exceptional case: radio buttons. Because Reactive Forms models the entire group of radio buttons as a single `FormControl`, there is no way to control the disabled state for individual radios, so they can no longer be configured as disabled. In this PR, we have special cased radio buttons to ignore their first call to `setDisabledState` when in `callSetDisabledState: 'always'` mode. This preserves the old behavior. PR Close #48864 | 10 February 2023, 10:25:11 UTC |
c194867 | cexbrayat | 09 February 2023, 15:12:08 UTC | test: typos in standalone test names (#49014) Fixes a recurring typo in test names containing `bootstrap` PR Close #49014 | 10 February 2023, 09:22:21 UTC |
0331473 | PaloMiklo | 18 January 2023, 18:09:55 UTC | docs(platform-browser): Sanitize method has more explicit documentation (#48765) PR Close #48765 | 10 February 2023, 08:28:19 UTC |
84ad4d0 | cexbrayat | 09 February 2023, 15:06:30 UTC | docs: missing closing parenthesis in withNavigationErrorHandler() example (#49013) PR Close #49013 | 10 February 2023, 07:46:48 UTC |
a28cf24 | cexbrayat | 09 February 2023, 15:34:08 UTC | docs(router): fix error handler deprecation (#49015) The deprecation mentions `withErrorHandler` whereas the feature is called `withNavigationErrorHandler` since 15eccef4ebf58c889b2a28988ebcc297e3cd2df6. PR Close #49015 | 10 February 2023, 07:41:55 UTC |
865e67f | Paul Gschwendtner | 09 February 2023, 13:12:24 UTC | build: remove unused webdriver-manager code (#49009) We no longer need webdriver-manager as everything is tested using Bazel with the Bazel-managed browsers and chrome/gecko drivers. The drivers and browser binaries are managed as part of dev-infra's shared browser/driver configuration in `bazel/browsers`. PR Close #49009 | 10 February 2023, 07:25:58 UTC |
4ac25b2 | Kristiyan Kostadinov | 09 February 2023, 13:31:18 UTC | perf(migrations): avoid re-traversing nodes when resolving bootstrap call dependencies (#49010) Fixes that the migration was unnecessarily traversing top-level nodes. This was a large performance bottle-neck, because it involves a lot of language service lookups. PR Close #49010 | 09 February 2023, 14:37:18 UTC |
521ccfb | Kristiyan Kostadinov | 09 February 2023, 09:44:24 UTC | fix(migrations): avoid interrupting the migration if language service lookup fails (#49010) In some internal migrations the language service was throwing for some file reads which was crashing the migration. These changes add a `try/catch` to avoid interrupting it. PR Close #49010 | 09 February 2023, 14:37:18 UTC |
26cb7ab | Kristiyan Kostadinov | 09 February 2023, 09:30:49 UTC | perf(migrations): speed up language service lookups (#49010) For the module pruning and bootstrap API migration steps we depend heavily upon the TypeScript `LanguageService` which ends up being slow on a large project. E.g. in some large internal projects single-file lookups were taking around 30s. These changes introduce a wrapper around the `LanguageService` that we can use to trick it into not traversing the entire project every time. PR Close #49010 | 09 February 2023, 14:37:18 UTC |
642cc1c | Pawel Kozlowski | 08 February 2023, 18:23:17 UTC | release: cut the v15.2.0-next.4 release | 08 February 2023, 18:26:45 UTC |
47387d4 | Pawel Kozlowski | 08 February 2023, 18:18:34 UTC | docs: release notes for the v15.1.4 release | 08 February 2023, 18:20:03 UTC |
bdbf21d | Kristiyan Kostadinov | 08 February 2023, 12:34:13 UTC | fix(migrations): avoid generating imports with forward slashes (#48993) We're using Node's `path` utilities to remap existing imports and create new ones which can yield paths with forward slash separators. These changes add some logic to ensure that we only generate forward slashes. PR Close #48993 | 08 February 2023, 14:19:59 UTC |
c7926b5 | Kristiyan Kostadinov | 08 February 2023, 09:32:45 UTC | fix(migrations): move standalone migrations into imports (#48987) Normally having a standalone declaration in the `imports` array is an error and something we handle in the conversion to standalone, but tests can end up in this situation, because apps may have separate tsconfigs for the main app and for tests. These changes make it so that we move any incorrectly-defined standalone declarations, even if they aren't part of the current migration. PR Close #48987 | 08 February 2023, 14:18:06 UTC |
ffad1b4 | Kristiyan Kostadinov | 07 February 2023, 10:43:40 UTC | fix(migrations): reduce number of files that need to be checked (#48987) Attempts to speed up the standalone migration by: 1. Not analyzing typechecker files. 2. Telling TS not to check libraries. PR Close #48987 | 08 February 2023, 14:18:05 UTC |
e9e4449 | Kristiyan Kostadinov | 07 February 2023, 10:41:05 UTC | fix(migrations): preserve tsconfig in standalone migration (#48987) For the standalone migration we need to pass a couple of compiler flags which accidentally also overwrote the project's compiler options. These changes extend the options instead. PR Close #48987 | 08 February 2023, 14:18:05 UTC |
1afa6ed | Kristiyan Kostadinov | 07 February 2023, 10:27:32 UTC | fix(migrations): don't add ModuleWithProviders to standalone test components (#48987) Fixes that we were copying all expressions in the `imports` array of the test to the `imports` of the component, including any potential `ModuleWithProviders`. Fixes #48971. PR Close #48987 | 08 February 2023, 14:18:05 UTC |
770191c | Kristiyan Kostadinov | 07 February 2023, 10:14:55 UTC | fix(migrations): migrate tests when switching to standalone bootstrap API (#48987) The first step of the migration updates the tests of the component being migrated, however it also skips any bootstraped declarations. We get back to the these declarations when converting to the standalone bootstrapping APIs, but we weren't updating their tests. These changes rework some of the logic so that we migrate any remaining tests as a part of the final step. Relates to #48944. PR Close #48987 | 08 February 2023, 14:18:05 UTC |