Recently ng-packagr was updated to include a transform that used to be done in tsickle (https://github.com/ng-packagr/ng-packagr/pull/1401), where only constructor parameter decorators are emitted in tsickle's format, not any of the other decorators. ngcc used to extract decorators from only a single format, so once it saw the `ctorParameters` static property it assumed the library is using the tsickle format. Therefore, none of the `__decorate` calls were considered. This resulted in missing decorator information, preventing proper processing of a package. This commit changes how decorators are extracted by always looking at both the static properties and the `__decorate` calls, merging these sources appropriately. Resolves FW-1573 PR Close #32901
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