angular-cn/packages/compiler-cli/test/ngtsc
Alex Rickabaugh 3e569767e3 fix(ivy): avoid remote scoping if it's not actually required (#29404)
Currently, ngtsc decides to use remote scoping if the compilation of a
component may create a cyclic import. This happens if there are two
components in a scope (say, A and B) and A directly uses B. During
compilation of B ngtsc will then note that if B were to use A, a cycle would
be generated, and so it will opt to use remote scoping for B.

ngtsc already uses the R3TargetBinder to correctly track the imports that
are actually required, for future cycle tracking. This commit expands that
usage to not trigger remote scoping unless B actually does consume A in its
template.

PR Close #29404
2019-04-01 15:13:35 -07:00
..
fake_core style: enforce buildifier lint on CI (#28186) 2019-02-26 16:57:41 -08:00
BUILD.bazel build(bazel): back out of @bazel/jasmine 0.27.7 with shard count (#29444) 2019-03-21 09:59:13 -07:00
env.ts fix(ivy): avoid missing imports for types that can be represented as values (#28941) 2019-02-27 15:13:40 -08:00
ngtsc_spec.ts fix(ivy): avoid remote scoping if it's not actually required (#29404) 2019-04-01 15:13:35 -07:00
scope_spec.ts fix(ivy): produce ts.Diagnostics for NgModule scope errors (#29191) 2019-03-08 14:21:48 -08:00
sourcemap_utils.ts feat(ivy): add source mappings to compiled Angular templates (#28055) 2019-02-12 20:58:28 -08:00
template_mapping_spec.ts test(ivy): add template source mapping tests (#28055) 2019-02-12 20:58:28 -08:00
template_typecheck_spec.ts build: remove unused "test.sh" leftover code in compiler-cli (#28352) 2019-02-05 14:31:10 -05:00