build: remove deprecated downlevelIteration from tsconfig files - #5201
Merged
markostanimirovic merged 2 commits intoAug 6, 2026
Merged
Conversation
Removes the deprecated downlevelIteration compiler option from 38 tsconfig files as part of the TypeScript 6/7 deprecation cleanup. - 23 files already had an explicit modern target (ES2015+): flag removed, no other change needed. - 15 files had no explicit target anywhere in their extends chain and relied only on lib, which does not affect the compiler's actual target. These now get an explicit target matching their existing lib level, alongside the flag removal.
3 tasks
Contributor
Author
Verification Guide for ReviewersThe 15 files below received an explicit Please spot-check these to confirm the
All other 23 files already had an explicit modern target, so only the flag was removed. |
Contributor
Author
|
Summary of local verification and rationale
If reviewers would like, I can:
|
timdeschryver
approved these changes
Jul 23, 2026
3 tasks
markostanimirovic
approved these changes
Aug 6, 2026
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.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Several
tsconfig.jsonfiles across the workspace set thedownlevelIterationcompiler option, which TypeScript has marked for removal as part of the
target/moduleResolutiondeprecation cleanup tracked in #5163. Left as-is,these configs will start failing once the workspace upgrades to a TypeScript
version where the option is removed.
What is the new behavior?
Removes
downlevelIterationfrom the 38tsconfig.jsonfiles where it nolonger serves a purpose:
target(ES2015or newer)set somewhere in their
extendschain, so the flag was already redundant.These simply had the flag removed.
targetanywhere in their chain and reliedonly on a modern
libentry (e.g.lib: ["es2022", "dom"]). Testingconfirmed that
libalone does not change the compiler's actualtarget — TypeScript still compiles to its ES3/ES5 default without an
explicit
target, which surfaced as a real compile error(
TS2802: ...can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher)during local verification. These 15 files now get an explicit
targetadded (matching their existing
liblevel), alongside the flag removal,so behavior no longer depends on an assumption that doesn't hold.
All affected packages (
store,component-store,effects,entity,router-store,store-devtools,schematics,operators,signals, andtheir respective
schematics-core/buildtargets) were built locally vianx run <project>:buildafter the change, with no compilation errors.This PR addresses the
downlevelIterationportion of the broader scopeoutlined in #5163. Remaining categories from that issue
(
moduleResolution: "node", the one remainingtarget: "ES5"config, andbaseUrl/rootDir) are being tracked separately and are not part of this PR.Does this PR introduce a breaking change?
Other information
Related to #5163 (partial — see scope note above; not marked as closing
since further work from that issue is still in progress).