Previously declarations that were imported via a namespace import were given the same `bestGuessOwningModule` as the context where they were imported to. This causes problems with resolving `ModuleWithProviders` that have a type that has been imported in this way, causing errors like: ``` ERROR in Symbol UIRouterModule declared in .../@uirouter/angular/uiRouterNgModule.d.ts is not exported from .../@uirouter/angular/uirouter-angular.d.ts (import into .../src/app/child.module.ts) ``` This commit modifies the `TypescriptReflectionHost.getDirectImportOfIdentifier()` method so that it also understands how to attach the correct `viaModule` to the identifier of the namespace import. Resolves #32166 PR Close #33495
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