angular-cn/packages/language-service
Keen Yee Liau 8f1317f06f fix(language-service): [Ivy] create compiler only when program changes (#39231)
This commit fixes a bug in which a new Ivy Compiler is created every time
language service receives a new request. This is not needed if the
`ts.Program` has not changed.

A new class `CompilerFactory` is created to manage Compiler lifecycle and
keep track of template changes so that it knows when to override them.
With this change, we no longer need the method `getModifiedResourceFile()`
on the adapter. Instead, we call `overrideComponentTemplate` on the
template type checker.

This commit also changes the incremental build strategy from
`PatchedIncrementalBuildStrategy` to `TrackedIncrementalBuildStrategy`.

PR Close #39231
2020-10-14 14:10:37 -07:00
..
bundles build(language-service): remove typescript from ivy bundle (#38088) 2020-07-16 11:04:57 -07:00
common refactor(language-service): Extract common methods from VE and Ivy to new package (#39098) 2020-10-05 16:14:54 -07:00
ivy fix(language-service): [Ivy] create compiler only when program changes (#39231) 2020-10-14 14:10:37 -07:00
src feat(language-service): Add module name to directive quick info (#39121) 2020-10-08 08:45:29 -07:00
test feat(language-service): Add getTypeDefinitionAtPosition (go to type definition) (#39145) 2020-10-09 10:57:37 -07:00
BUILD.bazel refactor(language-service): Extract common methods from VE and Ivy to new package (#39098) 2020-10-05 16:14:54 -07:00
build.sh build(language-service): add script to build package locally (#38103) 2020-07-16 16:39:54 -07:00
index.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
language-service.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
package.json build(language-service): Remove ls_rollup_bundle (#38086) 2020-07-16 11:04:28 -07:00