angular-cn/packages/language-service/ivy
Alex Rickabaugh 300c2fec9c refactor(compiler-cli): make IncrementalBuild strategy configurable (#37339)
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
2020-06-15 09:50:08 -07:00
..
compiler refactor(compiler-cli): make IncrementalBuild strategy configurable (#37339) 2020-06-15 09:50:08 -07:00
test test(language-service): disable ivy ls tests on CI (#37348) 2020-06-01 17:18:51 -04:00
BUILD.bazel feat(language-service): [ivy] wrap ngtsc to handle typecheck files (#36930) 2020-05-08 14:42:11 -07:00
language_service.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
ts_plugin.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00