Commit 24b2f1da2b introduced an `NgCompiler` which operates on a `ts.Program` independently of the `NgtscProgram`. The NgCompiler got its `IncrementalDriver` (for incremental reuse of Angular compilation results) by looking at a monkey-patched property on the `ts.Program`. This monkey-patching operation causes problems with the Angular indexer (specifically, it seems to cause the indexer to retain too much of prior programs, resulting in OOM issues). To work around this, `IncrementalDriver` reuse is now handled by a dedicated `IncrementalBuildStrategy`. One implementation of this interface is used by the `NgtscProgram` to perform the old-style reuse, relying on the previous instance of `NgtscProgram` instead of monkey-patching. Only for `NgTscPlugin` is the monkey-patching strategy used, as the plugin sits behind an interface which only provides access to the `ts.Program`, not a prior instance of the plugin. PR Close #37339
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.
Description
Languages
TypeScript
68.6%
HTML
12.8%
JavaScript
8.4%
Pug
7%
Starlark
1.4%
Other
1.7%