bfd07b3c94
In ES5 modules, the class declarations consist of an IIFE with inner and outer declarations that represent the class. The `EsmReflectionHost` has logic to ensure that `getDeclarationOfIdentifier()` always returns the outer declaration. Before this commit, if an identifier referred to an alias of the inner declaration, then `getDeclarationOfIdentifier()` was failing to find the outer declaration - instead returning the inner declaration. Now the identifier is correctly resolved up to the outer declaration as expected. This should fix some of the failing 3rd party packages discussed in https://github.com/angular/ngcc-validation/issues/57. PR Close #33252 |
||
---|---|---|
.. | ||
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