angular-cn/packages/compiler-cli/ngcc
Pete Bacon Darwin 348ff0c8ea perf(ngcc): use binary search when flattening mappings (#36027)
The `@angular/core` package has a large number of source files
and mappings which exposed performance issues in the new source-map
flattening algorithm.

This change uses a binary search (rather than linear) when finding
matching mappings to merge. Initial measurements indicate that this
reduces processing time for `@angular/core` by about 50%.

PR Close #36027
2020-03-13 08:00:28 -07:00
..
src perf(ngcc): use binary search when flattening mappings (#36027) 2020-03-13 08:00:28 -07:00
test perf(ngcc): use binary search when flattening mappings (#36027) 2020-03-13 08:00:28 -07:00
BUILD.bazel feat(ngcc): implement source-map flattening (#35132) 2020-02-26 12:51:35 -08:00
README.md refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
index.ts refactor(ngcc): expose logging level on the logger (#35861) 2020-03-05 18:17:15 -05:00
main-ivy-ngcc.ts fix(ngcc): rename the executable from `ivy-ngcc` to `ngcc` (#33140) 2019-10-14 16:29:14 +00:00
main-ngcc.ts feat(ngcc): support invalidating the entry-point manifest (#35931) 2020-03-11 15:01:59 -07: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