angular-cn/packages/compiler-cli/ngcc/test
JoostK 9d9c9e43e5 feat(ivy): static evaluation of TypeScript's `__spread` helper (#30492)
The usage of array spread syntax in source code may be downleveled to a
call to TypeScript's `__spread` helper function from `tslib`, depending
on the options `downlevelIteration` and `emitHelpers`. This proves
problematic for ngcc when it is processing ES5 formats, as the static
evaluator won't be able to interpret those calls.

A custom foreign function resolver is not sufficient in this case, as
`tslib` may be emitted into the library code itself. In that case, a
helper function can be resolved to an actual function with body, such
that it won't be considered as foreign function. Instead, a reflection
host can now indicate that the definition of a function corresponds with
a certain TypeScript helper, such that it becomes statically evaluable
in ngtsc.

Resolves #30299

PR Close #30492
2019-06-10 23:53:04 +00:00
..
analysis refactor(ivy): ngcc - add MockFileSystem (#29643) 2019-04-29 12:37:21 -07:00
dependencies feat(ivy): ngcc - turn on CommonJS support (#30200) 2019-05-22 16:24:15 -07:00
helpers refactor(ivy): ngcc - fake core and tslib should be typings files (#25445) 2019-05-16 12:11:04 -07:00
host feat(ivy): static evaluation of TypeScript's `__spread` helper (#30492) 2019-06-10 23:53:04 +00:00
integration feat(ivy): ngcc - turn on UMD processing (#25445) 2019-05-16 12:11:04 -07:00
logging feat(compiler-cli): ngcc - make logging more configurable (#29591) 2019-04-01 11:53:28 -07:00
packages feat(ivy): ngcc - turn on CommonJS support (#30200) 2019-05-22 16:24:15 -07:00
rendering refactor(ivy): inherently call ɵɵselect(0) (#30830) 2019-06-07 08:48:31 -07:00
writing test: fix ngcc unit tests in windows (#30297) 2019-05-13 11:26:56 -07:00
BUILD.bazel refactor(ivy): use a named type for ImportManager import structures (#25445) 2019-05-16 12:11:03 -07:00
utils_spec.ts refactor(ivy): ngcc - implement new module resolver (#29643) 2019-04-29 12:37:21 -07:00