The support for decorators that were imported via a namespace, e.g. `import * as core from `@angular/core` was implemented piecemeal. This meant that it was easy to miss situations where a decorator identifier needed to be handled as a namepsaced import rather than a direct import. One such issue was that UMD processing of decorators was not correct: the namespace was being omitted from references to decorators. Now the types have been modified to make it clear that a `Decorator.identifier` could hold a namespaced identifier, and the corresponding code that uses these types has been fixed. Fixes #31394 PR Close #31426
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