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