angular-cn/packages/compiler-cli/ngcc/src
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
..
analysis refactor(ngcc): rename `EntryPoint#package` to `EntryPoint#packagePath` (#37040) 2020-06-11 18:58:36 -07:00
dependencies perf(ngcc): shortcircuit tokenizing in ESM dependency host (#37639) 2020-06-18 16:05:42 -07:00
entry_point_finder fix(ngcc): correctly get config for sub-entry-points when primary entry-point is ignored (#37040) 2020-06-11 18:58:36 -07:00
execution build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
host fix(ngcc): find decorated constructor params on IIFE wrapped classes (#37436) 2020-06-05 09:22:04 -07:00
locking perf(ngcc): allow immediately reporting a stale lock file (#37250) 2020-06-02 17:30:03 -04:00
logging build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
migrations build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
packages fix(ngcc): correctly get config for packages in nested `node_modules/` (#37040) 2020-06-11 18:58:36 -07:00
rendering fix(ngcc): use annotateForClosureCompiler option (#36652) 2020-06-11 11:12:56 -07:00
sourcemaps build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
writing refactor(ngcc): rename `EntryPoint#package` to `EntryPoint#packagePath` (#37040) 2020-06-11 18:58:36 -07:00
command_line_options.ts feat(ngcc): implement a program-based entry-point finder (#37075) 2020-06-04 09:22:39 -07:00
constants.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
main.ts feat(ngcc): implement a program-based entry-point finder (#37075) 2020-06-04 09:22:39 -07:00
ngcc_options.ts feat(ngcc): implement a program-based entry-point finder (#37075) 2020-06-04 09:22:39 -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