Angular 21 upgrade#7143
Open
cdavalos7 wants to merge 5 commits into
Open
Conversation
… to official docs.
…on pins still declaring node16/20 as their runtime.
…0100 in TestBed, update expected date strings for DatePipe's new U+202F AM/PM spacing, and point autocomplete test helpers at the overlay's new DOM location.
cdavalos7
marked this pull request as ready for review
July 20, 2026 20:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation for features / changes
Upgrades Angular 20 → 21 (with matching NgRx, Material, TypeScript, Node.js, and Bazel-toolchain updates), and fixes the karma test regressions that surfaced from that upgrade. Following official steps https://angular.dev/update-guide?v=20.0-21.0&l=3
Technical description of changes
@angular/* core, cdk, material, forms, router, animations, localize, platform-browser(-dynamic), cli, compiler, compiler-cli, build, build-angularand @ngrx/* (store, effects) from 20 to 21 and TypeScript 5.8.3 to 5.9.3.Node.js 22.23.1 to 24.18.0in WORKSPACE, updated the pinned GitHub Actions (checkout, setup-python, setup-node, cache, upload-artifact) in ci.yml to match and avoid CI checks errors.tsconfig.json: switch moduleResolution from node to bundler, required by Angular 21, disable@bazel/tsetselint rules that crash under TS 5.9 against concatjs's harcoded tsutils@3.21.0.@bazel/concatjsto map each Angular/CDK/NgRx package new folder structure: types/*.d.ts layout, so Bazel's TS rules can still resolve type declarations.app_module.ts: explicitly add provideZoneChangeDetection(), no longer implicit in Angular 21.column_selector_component.ts: drop the unused ['$event'] arg from three @HostListener decorators.Screenshots of UI changes (or N/A)
Detailed steps to verify changes work correctly (as executed by you)
Alternate designs / implementations considered (or N/A)