The `DirectoryWalkerEntryPointFinder` has to traverse the entire node_modules library everytime it executes in order to identify the entry-points that need to be processed. This is very time consuming (several seconds for big projects on Windows). This commit changes the `DirectoryWalkerEntryPointFinder` to use the `EntryPointManifest` to store the paths to entry-points that were found when doing this initial node_modules traversal in a file to be reused for subsequent calls. This dramatically speeds up ngcc processing when it has been run once already. PR Close #35931
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