This commit changes the emit order of ngcc when a class has multiple static fields being assigned. Previously, ngcc would emit each static field followed immediately by any extra statements specified for that field. This causes issues with downstream tooling such as build optimizer, which expects all of the static fields for a class to be grouped together. ngtsc already groups static fields and additional statements. This commit changes ngcc's ordering to match. PR Close #31933
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