fix(schematics): do not run migrations multiple times #15424
Merged
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.
Currently when someone runs the update schematic within a CLI project,
the migration could be executed multiple times for the same
tsconfig
pathThis can happen because the
getProjectTsConfigPaths
function canincorrectly return the same tsconfig multiple times. The paths are not properly
deduped as we don't normalize the determined project tsconfig paths.
e.g.
/tsconfig.json
exists and the common tsconfig path is detected. At the same time theworkspace configuration specifies
tsconfig.json
in the project options. Both paths referto the same tsconfig project, but are different strings and therefore aren't filtered out
by the
Set
which contains all possible tsconfig locations --> migrations are executedfor both paths.