9c210281d4
This change marks all relevant define* callsites as pure, causing the compiler to emmit either @__PURE__ or @pureOrBreakMyCode annotation based on whether we are compiling code annotated for closure or terser. This change is needed in g3 where we don't run build optimizer but we need the code to be annotated for the closure compiler. Additionally this change allows for simplification of CLI and build optimizer as they will no longer need to rewrite the generated code (there are still other places where a build optimizer rewrite will be necessary so we can't remove it, we can only simplify it). PR Close #41096 |
||
---|---|---|
.. | ||
src | ||
test | ||
BUILD.bazel | ||
README.md | ||
index.ts | ||
main-ivy-ngcc.ts | ||
main-ngcc.ts |
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