angular/packages/compiler-cli/src/transformers
Alex Rickabaugh 0b9094ec63 feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743)
This commit adds tracking of modules, directives, and pipes which are made
visible to consumers through NgModules exported from the package entrypoint.
ngtsc will now produce a diagnostic if such classes are not themselves
exported via the entrypoint (as this is a requirement for downstream
consumers to use them with Ivy).

To accomplish this, a graph of references is created and populated via the
ReferencesRegistry. Symbols exported via the package entrypoint are compared
against the graph to determine if any publicly visible symbols are not
properly exported. Diagnostics are produced for each one which also show the
path by which they become visible.

This commit also introduces a diagnostic (instead of a hard compiler crash)
if an entrypoint file cannot be correctly determined.

PR Close #27743
2019-01-08 16:36:18 -08:00
..
api.ts feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743) 2019-01-08 16:36:18 -08:00
compiler_host.ts refactor: remove redundant error in catch (#25478) 2019-01-04 15:42:19 -08:00
entry_points.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
inline_resources.ts fix(compiler-cli): enableResourceInlining handles both styles and styleUrls (#22688) 2018-03-11 22:14:32 -07:00
lower_expressions.ts feat: add TypeScript 3 support (#25275) 2018-08-27 21:07:53 -04:00
metadata_cache.ts fix(compiler-cli): strictMetadataEmit should not break on non-compliant libraries (#23275) 2018-04-09 15:35:23 -07:00
metadata_reader.ts fix(compiler-cli): propagate ts.SourceFile moduleName into metadata 2017-12-01 14:19:06 -08:00
nocollapse_hack.ts fix(ivy): add @nocollapse when writing closure-annotated code (#25775) 2018-09-11 06:53:21 -07:00
node_emitter.ts fix(ivy): use 'typeof' and 'never' for type metadata (#24862) 2018-07-20 11:48:36 -07:00
node_emitter_transform.ts fix(compiler-cli): merge @fileoverview comments. (#20870) 2017-12-12 11:37:55 -08:00
program.ts feat: add support for typescript 3.2 (#27536) 2018-12-18 13:20:01 -08:00
r3_metadata_transform.ts feat(compiler-cli): reflect static methods added to classes in metadata (#21926) 2018-02-01 08:30:58 -08:00
r3_strip_decorators.ts feat(ivy): @NgModule -> ngInjectorDef compilation (#22458) 2018-03-16 12:57:11 -07:00
r3_transform.ts feat: change @Injectable() to support tree-shakeable tokens (#22005) 2018-02-12 14:34:59 -08:00
tsc_pass_through.ts refactor(ivy): obviate the Bazel component of the ivy_switch (#26550) 2018-10-19 09:23:05 -07:00
util.ts feat: change @Injectable() to support tree-shakeable tokens (#22005) 2018-02-12 14:34:59 -08:00