Previously, when `ngcc` was reflecting on class members it did not account for the fact that a member could be of the kind `IndexSignature`. This can happen, for example, on abstract classes (as is the case for [JsonCallbackContext][1]). Trying to reflect on such members (and failing to recognize their kind), resulted in warnings, such as: ``` Warning: Unknown member type: "[key: string]: (data: any) => void; ``` While these warnings are harmless, they can be confusing and worrisome for users. This commit avoids such warnings by detecting class members of the `IndexSignature` kind and ignoring them. [1]: https://github.com/angular/angular/blob/4659cc26e/packages/common/http/src/jsonp.ts#L39 PR Close #33198
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