feat(angular): support angular v22#35851
Conversation
✅ Deploy Preview for nx-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for nx-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
View your CI Pipeline Execution ↗ for commit fcdd393
☁️ Nx Cloud last updated this comment at |
f861bb9 to
1ff1267
Compare
|
@leosvelperez Angular 22 release has finally arrived 15 minutes ago But it seems that nx still relies on the baseUrl, which is deprecated in TS6 |
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
|
Is there an estimated timeline for when this version might be released? 🙏🏼 |
I only see drop support for Angular 19 in this PR, so I think they still need more time |
4c53e04 to
12a0f67
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Nx Cloud has identified a flaky task in your failed CI:
🔂 Since the failure was identified as flaky, we triggered a CI rerun by adding an empty commit to this branch.
🎓 Learn more about Self-Healing CI on nx.dev
## Current Behavior `@nx/angular` supports Angular 19, 20, and 21. ## Expected Behavior Drops support for Angular 19; the minimum supported version is now 20. Removes the Angular 19 version mappings, compatibility branches, SSR templates, and the v19-only `serverRouting` option. > [!NOTE] > Part of the Angular v22 upgrade. This targets the `angular-v22` integration branch rather than `master`. <!-- polygraph-session-start --> --- [View session information ↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/angular-v22.0.0-rc.2-5a2c66d4) <!-- polygraph-session-end --> --------- Co-authored-by: nx-cloud[bot] <71083854+nx-cloud[bot]@users.noreply.github.com>
Nx installs and generates TypeScript 5.9. Generated tsconfigs use options that are hard errors on TypeScript 6 (`moduleResolution: node`, `esModuleInterop: false`, etc.), so workspaces cannot move to TS 6. Nx defaults to TypeScript ~6.0.3 while still supporting >=5.8.0. Generators emit version-appropriate config (`bundler` resolution on TS 6 workspaces, `node10` on TS 5.x), an update migration moves eligible workspaces to TS 6 and keeps their existing tsconfigs compiling via `ignoreDeprecations: "6.0"`, and Remix workspaces stay on TS 5.x (generators error on TS 6 and pin 5.x on fresh setups). The repo itself builds and tests on TS 6.0.3. > [!NOTE] > The Angular 22 toolchain bump and Angular-specific tsconfig fixes land as a follow-up on this branch. Until then, the Angular 21.2 toolchain peers `typescript <6.0`, so peer warnings are expected in the interim. <!-- polygraph-session-start --> --- [View session information ↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/nxc-4501-e52da5bd) <!-- polygraph-session-end --> --------- Co-authored-by: nx-cloud[bot] <71083854+nx-cloud[bot]@users.noreply.github.com>
7598ed1 to
37abecf
Compare
Bumps angular-eslint to v22 (and its now-required @typescript-eslint v8) for Angular 22 workspaces, and aligns the repo eslint catalog to ^22.0.0. <!-- polygraph-session-start --> --- [View session information ↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/angular-v22-76d725d8) <!-- polygraph-session-end -->
37abecf to
d9473ca
Compare
…ngular v22 (#35935) ## Current Behavior `@nx/angular-rspack` exposes `subresourceIntegrity`, but only initial scripts receive an integrity attribute. Under Angular v22 - whose `@angular/build` emits an integrity importmap for dynamically imported chunks - lazy chunks built with `@nx/angular-rspack` ship without subresource integrity protection. ## Expected Behavior On Angular v22+, SRI builds emit a `<script type="importmap">` block carrying a sha384 hash for every lazy chunk, matching `@angular/build`'s application builder, so dynamically imported chunks are validated by the browser. Behavior on Angular 20/21 is unchanged. <!-- polygraph-session-start --> --- [View session information ↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/angular-v22-76d725d8) <!-- polygraph-session-end -->
…heet processor (#35933) ## Current Behavior Nx's custom ng-packagr `StylesheetProcessor` sets the browserslist baseline only for ng-packagr v20 and v21. Under ng-packagr v22 no branch applies, so it falls back to the generic `browserslist` default and compiles component CSS for the wrong browser targets. ## Expected Behavior The processor applies ng-packagr v22's browserslist baseline (`2026-05-07`), so libraries built with `@nx/angular:package` and `@nx/angular:ng-packagr-lite` target the same browsers as ng-packagr's own build pipeline. <!-- polygraph-session-start --> --- [View session information ↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/angular-v22-76d725d8) <!-- polygraph-session-end -->
No description provided.