angular-docs-cn/packages/compiler-cli/ngcc
Pete Bacon Darwin bd7f440357 perf(ngcc): shortcircuit tokenizing in ESM dependency host (#37639)
This dependency host tokenizes files to identify all the imported
paths. This commit calculates the last place in the source code
where there can be an import path; it then exits the tokenization
when we get to this point in the file.

Testing with a reasonably large project showed that the tokenizer
spends about 2/3 as much time scanning files. For example in a
"noop" hot run of ngcc using the program-based entry-point
finder the percentage of time spent in the `scan()` function of
the TS tokenizer goes down from 9.9% to 6.6%.

PR Close #37639
2020-06-18 16:05:42 -07:00
..
src perf(ngcc): shortcircuit tokenizing in ESM dependency host (#37639) 2020-06-18 16:05:42 -07:00
test fix(ngcc): correctly get config for packages in nested `node_modules/` (#37040) 2020-06-11 18:58:36 -07:00
BUILD.bazel fix(ngcc): use path-mappings from tsconfig in dependency resolution (#36180) 2020-03-24 10:16:12 -07:00
README.md refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
index.ts perf(ngcc): cache parsed tsconfig between runs (#37417) 2020-06-04 09:19:38 -07:00
main-ivy-ngcc.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
main-ngcc.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00

README.md

Angular Compatibility Compiler (ngcc)

This compiler will convert node_modules compiled with ngc, into node_modules which appear to have been compiled with ngtsc.

This conversion will allow such "legacy" packages to be used by the Ivy rendering engine.

Building

The project is built using Bazel:

yarn bazel build //packages/compiler-cli/ngcc

Unit Testing

The unit tests are built and run using Bazel:

yarn bazel test //packages/compiler-cli/ngcc/test

Integration Testing

There are tests that check the behavior of the overall executable:

yarn bazel test //packages/compiler-cli/ngcc/test:integration