angular-cn/packages/compiler-cli/test/ngtsc/fake_core
Alex Rickabaugh 0822dc70f2 feat(ivy): generate .ngfactory stubs if requested (#25176)
Existing bootstrap code in the wild depends on the existence of
.ngfactory files, which Ivy does not need. This commit adds the
capability in ngtsc to generate .ngfactory files which bridge
existing bootstrap code with Ivy.

This is an initial step. Remaining work includes complying with
the compiler option to specify a generated file directory, as well
as presumably testing in g3.

PR Close #25176
2018-08-03 09:42:06 -07:00
..
BUILD.bazel build: update buildifier to latest (#24296) 2018-06-12 11:42:35 -07:00
README.md feat(ivy): first steps towards ngtsc mode (#23455) 2018-04-25 13:25:33 -07:00
index.ts feat(ivy): generate .ngfactory stubs if requested (#25176) 2018-08-03 09:42:06 -07:00
package.json feat(ivy): first steps towards ngtsc mode (#23455) 2018-04-25 13:25:33 -07:00

README.md

fake_core is a library designed to expose some of the same symbols as @angular/core, without requiring compilation of the whole of @angular/core. This enables unit tests for the compiler to be written without incurring long rebuilds for every change.

  • @angular/core is compiled with @angular/compiler-cli, and therefore has an implicit dependency on it. Therefore core must be rebuilt if the compiler changes.
  • Tests for the compiler which intend to build code that depends on @angular/core must have a data dependency on @angular/core. Therefore core must be built to run the compiler tests, and thus rebuilt if the compiler changes.

This rebuild cycle is expensive and slow. fake_core avoids this by exposing a subset of the @angular/core API, which enables applications to be built by the ngtsc compiler without needing a full version of core present at compile time.