angular-cn/packages/compiler-cli/ngcc
Pete Bacon Darwin 94fa140888 refactor(ngcc): separate `(Async/Sync)Locker` and `LockFile` (#35861)
The previous implementation mixed up the management
of locking a piece of code (both sync and async) with the
management of writing and removing the lockFile that is
used as the flag for which process has locked the code.

This change splits these two concepts up. Apart from
avoiding the awkward base class it allows the `LockFile`
implementation to be replaced cleanly.

PR Close #35861
2020-03-05 18:17:15 -05:00
..
src refactor(ngcc): separate `(Async/Sync)Locker` and `LockFile` (#35861) 2020-03-05 18:17:15 -05:00
test refactor(ngcc): separate `(Async/Sync)Locker` and `LockFile` (#35861) 2020-03-05 18:17:15 -05:00
BUILD.bazel feat(ngcc): implement source-map flattening (#35132) 2020-02-26 12:51:35 -08:00
README.md refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
index.ts refactor(ngcc): expose logging level on the logger (#35861) 2020-03-05 18:17:15 -05:00
main-ivy-ngcc.ts fix(ngcc): rename the executable from `ivy-ngcc` to `ngcc` (#33140) 2019-10-14 16:29:14 +00:00
main-ngcc.ts refactor(ngcc): expose logging level on the logger (#35861) 2020-03-05 18:17:15 -05:00

README.md

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