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
17 lines
485 B
Python
17 lines
485 B
Python
load("//tools:defaults.bzl", "ts_library")
|
|
|
|
package(default_visibility = ["//packages/language-service/ivy:__pkg__"])
|
|
|
|
ts_library(
|
|
name = "compiler",
|
|
srcs = glob(["*.ts"]),
|
|
deps = [
|
|
"//packages/compiler-cli",
|
|
"//packages/compiler-cli/src/ngtsc/core",
|
|
"//packages/compiler-cli/src/ngtsc/file_system",
|
|
"//packages/compiler-cli/src/ngtsc/incremental",
|
|
"//packages/compiler-cli/src/ngtsc/typecheck",
|
|
"@npm//typescript",
|
|
],
|
|
)
|