angular-cn/packages
Pete Bacon Darwin 61e8ed6623 fix(ngcc): ensure that bundle `rootDir` is the package path (#34212)
Previously the `rootDir` was set to the entry-point path but
this is incorrect if the source files are stored in a directory outside
the entry-point path. This is the case in the latest versions of the
Angular CDK.

Instead the `rootDir` should be the containing package path, which is
guaranteed to include all the source for the entry-point.

---

A symptom of this is an error when ngcc is trying to process the source of
an entry-point format after the entry-point's typings have already been
processed by a previous processing run.

During processing the `_toR3Reference()` function gets called which in turn
makes a call to `ReflectionHost.getDtsDeclaration()`. If the typings files
are also being processed this returns the node from the dts typings files.

But if we have already processed the typings files and are now processing
only an entry-point format without typings, the call to
`ReflectionHost.getDtsDeclaration()` returns `null`.

When this value is `null`, a JS `valueRef` is passed through as the DTS
`typeRef` to the `ReferenceEmitter`. In this case, the `ReferenceEmitter`
fails during `emit()` because no `ReferenceEmitStrategy` is able to provide
an emission:

1) The `LocalIdentifierStrategy` is not able help because in this case
`ImportMode` is `ForceNewImport`.
2) The `LogicalProjectStrategy` cannot find the JS file below the `rootDir`.

The second strategy failure is fixed by this PR.

Fixes https://github.com/angular/ngcc-validation/issues/495

PR Close #34212
2019-12-05 10:13:02 -08:00
..
animations docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
bazel build: disable buildifier print warning for compile=aot deprecation (#34199) 2019-12-03 10:07:21 -08:00
benchpress feat: update rxjs peerDependencies minimum requirment to 6.5.3 (#32812) 2019-10-01 14:56:45 -07:00
common fix(common): update closure locales to include directionality data (#34240) 2019-12-04 15:04:17 -08:00
compiler fix(compiler-cli): ensure that `ngI18nClosureMode` is guarded in generated code (#34211) 2019-12-03 16:18:12 -08:00
compiler-cli fix(ngcc): ensure that bundle `rootDir` is the package path (#34212) 2019-12-05 10:13:02 -08:00
core fix(core): ensure that `ngI18nClosureMode` is guarded (#34211) 2019-12-03 16:18:12 -08:00
docs refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
elements refactor(elements): ng-add schematics (#33723) 2019-11-22 17:36:47 -05:00
examples build: re-enable template type-checking for various targets across the repo (#34144) 2019-12-02 11:24:18 -08:00
forms Revert "refactor: use isObservable provided by rxjs 6.1+ (#27668)" 2019-11-27 13:00:59 -08:00
http build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
language-service fix(language-service): Insert parentheses for method completion (#33860) 2019-12-03 10:13:36 -08:00
localize refactor(ivy): i18n - store legacy message ids separately to custom ids (#34135) 2019-12-03 10:15:53 -08:00
platform-browser docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-browser-dynamic docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-server docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-webworker docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-webworker-dynamic build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
private/testing build: migrate determining if Ivy is enabled in typescript genrule files to use angular_ivy_enabled (#33983) 2019-11-26 16:38:40 -05:00
router Revert "refactor: use isObservable provided by rxjs 6.1+ (#27668)" 2019-11-27 13:00:59 -08:00
service-worker fix(service-worker): allow creating post api requests after cache failure (#33930) 2019-11-22 13:15:56 -05:00
upgrade docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
zone.js fix: implement Symbol.specics of Promise (#34162) 2019-12-03 10:29:04 -08:00
BUILD.bazel build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
README.md docs: add doc reference to npm package readme (#33911) 2019-11-20 14:46:23 -08:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
goog.d.ts fix(ivy): use goog.LOCALE for Closure Compiler to define default LOCALE_ID (#31519) 2019-07-16 13:02:10 -04:00
license-banner.txt build: bump year (#27880) 2019-01-11 11:15:59 -08:00
system.d.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json build: consolidate @angular-devkit/build-angular to the root package.json (#34002) 2019-12-02 10:49:12 -08:00
types.d.ts build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00

README.md

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT