angular/packages/compiler-cli/ngcc/src
JoostK 080a8bfd43 fix(ngcc): do not attempt compilation when analysis fails (#34889)
In #34288, ngtsc was refactored to separate the result of the analysis
and resolve phase for more granular incremental rebuilds. In this model,
any errors in one phase transition the trait into an error state, which
prevents it from being ran through subsequent phases. The ngcc compiler
on the other hand did not adopt this strict error model, which would
cause incomplete metadata—due to errors in earlier phases—to be offered
for compilation that could result in a hard crash.

This commit updates ngcc to take advantage of ngtsc's `TraitCompiler`,
that internally manages all Ivy classes that are part of the
compilation. This effectively replaces ngcc's own `AnalyzedFile` and
`AnalyzedClass` types, together with all of the logic to drive the
`DecoratorHandler`s. All of this is now handled in the `TraitCompiler`,
benefiting from its explicit state transitions of `Trait`s so that the
ngcc crash is a thing of the past.

Fixes #34500
Resolves FW-1788

PR Close #34889
2020-01-23 14:47:04 -08:00
..
analysis fix(ngcc): do not attempt compilation when analysis fails (#34889) 2020-01-23 14:47:04 -08:00
dependencies fix(ngcc): do not add DTS deep imports to missing packages list (#34695) 2020-01-15 10:24:50 -08:00
entry_point_finder fix(ngcc): do not analyze dependencies for non Angular entry-points (#32303) 2019-08-26 10:08:44 -07:00
execution fix(ngcc): update package.json deterministically (#34870) 2020-01-23 10:16:36 -08:00
host fix(ngcc): do not collect private declarations from external packages (#34811) 2020-01-23 13:58:38 -08:00
logging feat(compiler-cli): ngcc - make logging more configurable (#29591) 2019-04-01 11:53:28 -07:00
migrations fix(ngcc): do not attempt compilation when analysis fails (#34889) 2020-01-23 14:47:04 -08:00
packages fix(ngcc): libraries using spread in object literals cannot be processed (#34661) 2020-01-23 10:29:58 -08:00
rendering fix(ngcc): do not attempt compilation when analysis fails (#34889) 2020-01-23 14:47:04 -08:00
writing fix(ngcc): update package.json deterministically (#34870) 2020-01-23 10:16:36 -08:00
constants.ts refactor(ivy): move ngcc into a higher level folder (#29092) 2019-03-20 14:45:54 -04:00
main.ts fix(ngcc): only lock ngcc after targeted entry-point check (#34722) 2020-01-22 15:35:35 -08:00
utils.ts fix(ngcc): avoid error due to circular dependency in EsmDependencyHost (#34512) 2020-01-08 15:00:51 -08:00