angular/packages/compiler-cli/src
Alex Rickabaugh 1c39ad38d3 feat(ivy): reference external classes by their exported name (#27743)
Previously, ngtsc would assume that a given directive/pipe being imported
from an external package was importable using the same name by which it
was declared. This isn't always true; sometimes a package will export a
directive under a different name. For example, Angular frequently prefixes
directive names with the 'ɵ' character to indicate that they're part of
the package's private API, and not for public consumption.

This commit introduces the TsReferenceResolver class which, given a
declaration to import and a module name to import it from, can determine
the exported name of the declared class within the module. This allows
ngtsc to pick the correct name by which to import the class instead of
making assumptions about how it was exported.

This resolver is used to select a correct symbol name when creating an
AbsoluteReference.

FW-517 #resolve
FW-536 #resolve

PR Close #27743
2019-01-08 16:36:18 -08:00
..
diagnostics fix(compiler-cli): create LiteralLikeNode for String and Number literal (#27536) 2018-12-18 13:20:01 -08:00
metadata fix(compiler-cli): flatModuleIndex files not generated on windows with multiple input files (#27200) 2018-12-04 14:01:25 -08:00
ngcc feat(ivy): reference external classes by their exported name (#27743) 2019-01-08 16:36:18 -08:00
ngtsc feat(ivy): reference external classes by their exported name (#27743) 2019-01-08 16:36:18 -08:00
transformers feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743) 2019-01-08 16:36:18 -08:00
extract_i18n.ts refactor(compiler): remove all source-level traces to tsc-wrapped (#18966) 2017-09-13 20:47:37 -04:00
language_services.ts refactor(compiler): remove old ngtools api and add listLazyRoutes to new api (#19836) 2017-10-23 18:46:04 -04:00
main.ts fix(ivy): ngtsc program emit ignoring custom transformers (#27837) 2019-01-04 12:29:15 -08:00
ngtools_api.ts build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
ngtools_api2.ts feat(ivy): produce diagnostics for missing exports, incorrect entrypoint (#27743) 2019-01-08 16:36:18 -08:00
perform_compile.ts feat(compiler-cli): add support to extend angularCompilerOptions (#22717) 2018-09-19 16:17:28 -07:00
perform_watch.ts refactor(compiler): typo (#25496) 2018-11-05 12:53:04 -08:00
version.ts style: remove empty comments (#23404) 2018-05-10 15:48:13 -07:00