angular-cn/packages/compiler-cli/ngcc
Pete Bacon Darwin 16d7dde2ad refactor(ivy): ngcc - implement abstract FileSystem (#29643)
This commit introduces a new interface, which abstracts access
to the underlying `FileSystem`. There is initially one concrete
implementation, `NodeJsFileSystem`, which is simply wrapping the
`fs` library of NodeJs.

Going forward, we can provide a `MockFileSystem` for test, which
should allow us to stop using `mock-fs` for most of the unit tests.
We could also implement a `CachedFileSystem` that may improve the
performance of ngcc.

PR Close #29643
2019-04-29 12:37:21 -07:00
..
src refactor(ivy): ngcc - implement abstract FileSystem (#29643) 2019-04-29 12:37:21 -07:00
test refactor(ivy): ngcc - implement abstract FileSystem (#29643) 2019-04-29 12:37:21 -07:00
BUILD.bazel refactor(ivy): move metadata registration to its own package (#29698) 2019-04-19 11:15:25 -07:00
README.md refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
index.ts feat(ivy): ngcc - support additional paths to process (#29643) 2019-04-29 12:37:21 -07:00
main-ngcc.ts fix(ivy): ngcc - show logging via CLI by default (#29686) 2019-04-03 15:27:39 -07: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