In ES2015 IIFE wrapped classes, the identifier that would reference the class of the NgModule may be an alias variable. Previously the `Esm2015ReflectionHost` was not able to match this alias to the original class declaration. This resulted in failing to identify some `ModuleWithProviders` functions in such case. These IIFE wrapped classes were introduced in TypeScript 3.9, which is why this issue is only recently appearing. Since 9.1.x does not support TS 3.9 there is no reason to backport this commit to that branch. Fixes #37189 PR Close #37206
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