New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(compiler-cli): exclude type-only imports from cycle analysis #42453
Closed
Conversation
This file contains 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
Type-only imports are known to be elided by TypeScript, so the compiler can be certain that such imports do not contribute to potential import cycles. As such, type-only imports are no longer considered during cycle analysis. Regular import statements that would eventually be fully elided by TypeScript during emit if none of the imported symbols are used in a value position continue to be included in the cycle analysis, as the cycle analyzer is unaware of these elision opportunities. Only explicit `import type` statements are excluded.
JoostK
added
target: patch
This PR is targeted for the next patch release
area: compiler
Issues related to `ngc`, Angular's template compiler
labels
Jun 2, 2021
JoostK
added
the
action: review
The PR is still awaiting reviews from at least one requested reviewer
label
Jun 2, 2021
alxhub
approved these changes
Jun 2, 2021
JoostK
added
action: merge
The PR is ready for merge by the caretaker
action: presubmit
The PR is in need of a google3 presubmit
and removed
action: review
The PR is still awaiting reviews from at least one requested reviewer
labels
Jun 2, 2021
AndrewKushnir
removed
the
action: presubmit
The PR is in need of a google3 presubmit
label
Jun 2, 2021
jessicajaniuk
pushed a commit
that referenced
this pull request
Jun 3, 2021
) Type-only imports are known to be elided by TypeScript, so the compiler can be certain that such imports do not contribute to potential import cycles. As such, type-only imports are no longer considered during cycle analysis. Regular import statements that would eventually be fully elided by TypeScript during emit if none of the imported symbols are used in a value position continue to be included in the cycle analysis, as the cycle analyzer is unaware of these elision opportunities. Only explicit `import type` statements are excluded. PR Close #42453
JoostK
added a commit
to JoostK/angular
that referenced
this pull request
Jun 5, 2021
Since angular#42453, type-only imports are not considered for cyclic imports. This commit adds a note to the NG3003 error documentation to mention using type-only imports to avoid the error.
jessicajaniuk
pushed a commit
that referenced
this pull request
Jun 7, 2021
jessicajaniuk
pushed a commit
that referenced
this pull request
Jun 7, 2021
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
action: merge
The PR is ready for merge by the caretaker
area: compiler
Issues related to `ngc`, Angular's template compiler
cla: yes
target: patch
This PR is targeted for the next patch release
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.
Type-only imports are known to be elided by TypeScript, so the compiler
can be certain that such imports do not contribute to potential import
cycles. As such, type-only imports are no longer considered during cycle
analysis.
Regular import statements that would eventually be fully elided by
TypeScript during emit if none of the imported symbols are used in a
value position continue to be included in the cycle analysis, as the
cycle analyzer is unaware of these elision opportunities. Only explicit
import type
statements are excluded.