TB Angular upgrade v22 - #7147
Open
cdavalos7 wants to merge 6 commits into
Open
Conversation
Contributor
|
Heads-up that you'll probably need #7144 |
…non-null assertions from async pipe bindings strictNullInputTypes rejects every `[x]="obs$ | async"` binding, because AsyncPipe.transform is typed `T | null` regardless of the observable. Disable the check and remove the assertions.
…in a new PR for easier review.
cdavalos7
marked this pull request as ready for review
August 18, 2026 21:26
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 from 21 to 22, continuing the one-major-version-per-PR series.
Also enables
strictTemplates. The flag was already set but never reached theAngular compiler due to a gap in the Bazel build tooling. Fixing that surfaced
the template errors this PR resolves.
Versions
@angular/*to^22.0.0.compilerandcommonpinned to exactly22.1.1because of exact peer requirements.
typescript5.9.3 to 6.0.3.compiler-cli@22requires>=6.0 <6.1.@ngrx/*stays at^21.0.0. It works with Angular 22.Technical description of changes
Patched
@bazel/concatjssoangularCompilerOptionsfrom the roottsconfig.jsonreaches the compiler. This is what madestrictTemplatesactually apply.Patched
@bazel/concatjsto map@angular/localizetypes, needed by a new TypeScript 6.0 error on side-effect imports.Added a
tsc_wrappedbinary intensorboard/defsthat shipstypescriptin its runfiles. Without it,tf_ts_librarytargets fail in CI only.strictTemplatestouched 38 source files. Clean up summary:trackByfunctions receiving the index instead of the item, an observable field assigned a plain value, and an input never passed down from its container.floatLabel="never"that stopped being valid several versions ago.strictNullInputTypesisfalsehere, sinceAsyncPipeis typedT | nulland rejects all 166asyncbindings. A follow-up PR moves those containers onto signals and turns it back on.Verification
//tensorboard/webapp/...builds clean, 691 targets.feature_flag.