angular/packages/compiler-cli/ngcc/src
Alex Rickabaugh 16c7441c2f refactor(compiler-cli): introduce the TemplateTypeChecker abstraction (#38105)
This commit significantly refactors the 'typecheck' package to introduce a
new abstraction, the `TemplateTypeChecker`. To achieve this:

* a 'typecheck:api' package is introduced, containing common interfaces that
  consumers of the template type-checking infrastructure can depend on
  without incurring a dependency on the template type-checking machinery as
  a whole.
* interfaces for `TemplateTypeChecker` and `TypeCheckContext` are introduced
  which contain the abstract operations supported by the implementation
  classes `TemplateTypeCheckerImpl` and `TypeCheckContextImpl` respectively.
* the `TemplateTypeChecker` interface supports diagnostics on a whole
  program basis to start with, but the implementation is purposefully
  designed to support incremental diagnostics at a per-file or per-component
  level.
* `TemplateTypeChecker` supports direct access to the type check block of a
  component.
* the testing utility is refactored to be a lot more useful, and new tests
  are added for the new abstraction.

PR Close #38105
2020-07-29 10:31:20 -07:00
..
analysis refactor(compiler-cli): introduce the TemplateTypeChecker abstraction (#38105) 2020-07-29 10:31:20 -07:00
dependencies refactor(ngcc): move logging code into ngtsc (#37114) 2020-06-22 13:38:47 -07:00
entry_point_finder fix(compiler-cli): ensure file_system handles mixed Windows drives (#37959) 2020-07-13 12:05:21 -07:00
execution fix(ngcc): ensure lockfile is removed when analyzeFn fails (#37739) 2020-06-29 10:29:11 -07:00
host refactor(ngcc): let isWithinPackage operate on paths instead of source files (#37596) 2020-06-29 12:21:22 -07:00
locking fix(ngcc): ensure lockfile is removed when analyzeFn fails (#37739) 2020-06-29 10:29:11 -07:00
migrations build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
packages fix(ngcc): prevent including JavaScript sources outside of the package (#37596) 2020-06-29 12:21:22 -07:00
rendering fix(compiler-cli): ensure file_system handles mixed Windows drives (#37959) 2020-07-13 12:05:21 -07:00
writing fix(compiler-cli): ensure file_system handles mixed Windows drives (#37959) 2020-07-13 12:05:21 -07:00
command_line_options.ts refactor(ngcc): move logging code into ngtsc (#37114) 2020-06-22 13:38:47 -07:00
constants.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
main.ts perf(ngcc): use EntryPointManifest to speed up noop ProgramBaseEntryPointFinder (#37665) 2020-06-25 14:11:03 -07:00
ngcc_options.ts fix(ngcc): report a warning if ngcc tries to use a solution-style tsconfig (#38003) 2020-07-14 13:21:31 -07:00
path_mappings.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
utils.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00