angular-cn/packages/compiler/test/aot
Paul Gschwendtner 872a3656fe refactor(compiler): allow disabling external symbol factory reexports (#28594)
Currently external static symbols which are referenced by AOT
compiler generated code, will be re-exported in the corresponding
`.ngfactory` files.

This way of handling the symbol resolution has been introduced in
favor of avoding dynamically generated module dependencies. This
behavior therefore avoids any strict dependency failures.

Read more about a particular scenario here: https://github.com/angular/angular/issues/25644#issuecomment-458354439

Now with `ngtsc`, this behavior has changed since `ngtsc` just
introduces these module dependencies in order to properly reference
the external symbol from its original location (also eliminating the need
for factories). Similarly we should provide a way to use the same
behavior with `ngc` because the downside of using the re-exported symbol
resolution is that user-code transformations (e.g. the `ngInjectableDef`
metadata which is added to the user source code), can resolve external
symbols to previous factory symbol re-exports. This is a critical issue
because it means that the actual JIT code references factory files in order
to access external symbols. This means that the generated output cannot
shipped to NPM without shipping the referenced factory files.

A specific example has been reported here: https://github.com/angular/angular/issues/25644#issue-353554070

PR Close #28594
2019-02-11 17:12:50 +00:00
..
README.md refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
compiler_spec.ts refactor: fix broken linting rules due to revert 2018-12-19 13:06:43 -08:00
jit_summaries_spec.ts refactor: fix broken linting rules due to revert 2018-12-19 13:06:43 -08:00
regression_spec.ts Revert "Revert "Revert "perf(compiler): skip type check and emit in bazel in some cases. (#19646)""" 2017-10-12 16:09:49 -07:00
static_reflector_spec.ts style: typos fixed - https://github.com/vlajos/misspell-fixer (#22975) 2018-03-27 14:51:53 -04:00
static_symbol_resolver_spec.ts refactor: fix broken linting rules due to revert 2018-12-19 13:06:43 -08:00
summary_resolver_spec.ts feat(compiler): implement "enableIvy" compiler option (#21427) 2018-01-18 18:22:44 -06:00
summary_serializer_spec.ts refactor(compiler): allow disabling external symbol factory reexports (#28594) 2019-02-11 17:12:50 +00:00
test_util.ts test(ivy): run compiler compliance tests without rebuilding core,common (#25248) 2018-08-03 13:08:51 -07:00

README.md

Tests in this directory are excluded from running in the browser and only run in node.