The Angular compiler has to actively keep default import statements alive if they were only used in type-only positions, but have been emitted as value expressions for DI purposes. A problem occurred in incremental recompilations, where the relationship between an identifier usage and its corresponding default import would not be considered. This could result in the removal of the default import statement and caused a `ReferenceError` at runtime. This commit fixes the issue by storing the association from an identifier to its default import declaration on the source file itself, instead of within the `DefaultImportTracker` instance. The `DefaultImportTracker` instance is only valid for a single compilation, whereas the association from an identifier to a default import declaration is valid as long as the `ts.SourceFile` is the same instance. A subsequent commit refactor the `DefaultImportTracker` to no longer be responsible for registering the association, as its lifetime is conceptually too short to do so. Fixes #41377 PR Close #41557
Angular - One framework. Mobile & desktop.
Angular is a development platform for building mobile and desktop web applications
using Typescript/JavaScript and other languages.
Contributing Guidelines
·
Submit an Issue
·
Blog
Documentation
Get started with Angular, learn the fundamentals and explore advanced topics on our documentation website.
Advanced
Development Setup
Prerequisites
- Install Node.js which includes Node Package Manager
Setting Up a Project
Install the Angular CLI globally:
npm install -g @angular/cli
Create workspace:
ng new [PROJECT NAME]
Run the application:
cd [PROJECT NAME]
ng serve
Angular is cross-platform, fast, scalable, has incredible tooling, and is loved by millions.
Quickstart
Ecosystem
Changelog
Learn about the latest improvements.
Upgrading
Check out our upgrade guide to find out the best way to upgrade your project.
Contributing
Contributing Guidelines
Read through our contributing guidelines to learn about our submission process, coding rules and more.
Want to Help?
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues labeled as help wanted or good first issue.
Code of Conduct
Help us keep Angular open and inclusive. Please read and follow our Code of Conduct.
Community
Join the conversation and help the community.
Love Angular? Give our repo a star ⭐ ⬆️.