angular-cn/packages/compiler-cli/src/metadata
JoostK 0984fbc748 fix(compiler-cli): allow declaration-only template type check members (#34296)
The metadata collector for View Engine compilations emits error symbols
for static class members that have not been initialized, which prevents
a library from building successfully when `strictMetadataEmit` is
enabled, which is recommended for libraries to avoid issues in library
consumers. This is troublesome for libraries that are adopting static
members for the Ivy template type checker: these members don't need a
value assignment as only their type is of importance, however this
causes metadata errors. As such, a library used to be required to
initialize the special static members to workaround this error,
undesirably introducing a code-size overhead in terms of emitted
JavaScript code.

This commit modifies the collector logic to specifically ignore
the special static members for Ivy's template type checker, preventing
any errors from being recorded during the metadata collection.

PR Close #34296
2019-12-10 16:31:23 -08:00
..
bundle_index_host.ts fix(compiler-cli): flatModuleIndex files not generated on windows with multiple input files (#27200) 2018-12-04 14:01:25 -08:00
bundler.ts refactor(core): rename ngInjectableDef to ɵprov (#33151) 2019-10-16 16:36:19 -04:00
collector.ts fix(compiler-cli): allow declaration-only template type check members (#34296) 2019-12-10 16:31:23 -08:00
evaluator.ts refactor: utilize type narrowing (#33075) 2019-10-10 15:18:44 -07:00
index.ts refactor(compiler): remove all source-level traces to tsc-wrapped (#18966) 2017-09-13 20:47:37 -04:00
index_writer.ts refactor(compiler): remove all source-level traces to tsc-wrapped (#18966) 2017-09-13 20:47:37 -04:00
schema.ts build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
symbols.ts build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00