Previously, when `ngcc` was called with `compileAllFormats === false` (i.e. how `@angular/cli` calls it), it would not attempt to process more properties, once the first was successfully processed. However, it _would_ continue looping over them and perform some unnecessary operations, such as: - Determining the format each property maps to (which can be an expensive operation for some properties mapping to either UMD or CommonJS). - Checking whether each property has been processed (which involves checking whether any property has been processed with a different version of `ngcc` each time). - Potentially marking properties as processed (which involves a file-write operation). This commit avoids the unnecessary operations by entirely skipping subsequent properties, once the first one has been successfully processed. While this theoretically improves performance, it is not expected to have any noticeable impact in practice, since the list of `propertiesToConsider` is typically small and the most expensive operation (marking a property as processed) has low likelihood of happening (plus these operations are a tiny fraction of `ngcc`'s work). PR Close #32003
build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871)
Angular
Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
Quickstart
Changelog
Learn about the latest improvements.
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 in the hotlist: community-help.
Languages
TypeScript
68.6%
HTML
12.8%
JavaScript
8.4%
Pug
7%
Starlark
1.4%
Other
1.7%