Previously, it was not possible to block a partial-linker from trying to process a declaration that was defined in a newer version of Angular than that of the partial-linker. For example, if a partial-linker was published as part of version 12.0.0, there was no way for a partially-compiled declaration compiled via version 13.0.0 to tell the 12.0.0 linker that it would be invalid to attempt to process it. This commit adds a new `minVersion` property to partial-declarations, which is interpreted as the "minimum partial-linker version" that can process this declaration. When selecting a partial-linker for such a declaration, the known linker version ranges are checked to find the most recent linker whose version range has an overlap with the interpreted declaration range. This approach allows us to set a minimum version for a declaration, which can inform an old partial-linker that will it not be able to accurately process the declaration. Note that any pre-release part to versions are ignored in this selection process. The file-linker can be configured, via the `unknownDeclarationVersionHandling` property of `LinkerOptions`, to handle such a situation in one of three ways: - `error` - the version mismatch is a fatal error - `warn` - a warning is sent to the logger but the most recent partial-linker will attempt to process the declaration anyway. - `ignore` - the most recent partial-linker will, silently, attempt to process the declaration. The default is to throw an error. Closes #41497 PR Close #41578
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 ⭐ ⬆️.