Go to file
JoostK 3c7da767d8 fix(ngcc): resolve imports in `.d.ts` files for UMD/CommonJS bundles (#32619)
In ngcc's reflection host for UMD and CommonJS bundles, custom logic is
present to resolve import details of an identifier. However, this custom
logic is unable to resolve an import for an identifier inside of
declaration files, as such files use the regular ESM import syntax.

As a consequence of this limitation, ngtsc is unable to resolve
`ModuleWithProviders` imports that are declared in an external library.
In that situation, ngtsc determines the type of the actual `NgModule`
that is imported, by looking in the library's declaration files for the
generic type argument on `ModuleWithProviders`. In this process, ngtsc
resolves the import for the `ModuleWithProviders` identifier to verify
that it is indeed the `ModuleWithProviders` type from `@angular/core`.
So, when the UMD reflection host was in use this resolution would fail,
therefore no `NgModule` type could be detected.

This commit fixes the bug by using the regular import resolution logic
in addition to the custom resolution logic that is required for UMD
and CommonJS bundles.

Fixes #31791

PR Close #32619
2019-09-12 13:18:20 -07:00
.circleci ci: pin docker images by ID for hermeticity (#32602) 2019-09-11 12:34:14 -04:00
.devcontainer build: add recommended config files for VSCode remote development (#30450) 2019-05-20 10:13:53 -07:00
.github docs: add undecorated classes migration faq (#32478) 2019-09-12 12:16:14 -07:00
.vscode build: add recommended config files for VSCode remote development (#30450) 2019-05-20 10:13:53 -07:00
aio docs: add undecorated classes migration faq (#32478) 2019-09-12 12:16:14 -07:00
docs docs: create Issue and Pull Request markdown doc, explaining automatic locking policy (#32405) 2019-08-30 14:44:24 -04:00
integration fix(core): initialize global ngDevMode without toplevel side effects (#32079) 2019-09-11 20:31:14 -04:00
modules revert: refactor(ivy): remove styling state storage and introduce direct style writing (#32259) 2019-09-11 15:24:10 -07:00
packages fix(ngcc): resolve imports in `.d.ts` files for UMD/CommonJS bundles (#32619) 2019-09-12 13:18:20 -07:00
scripts ci: exclude dev-app subpackage targets in material-unit-tests job (#32485) 2019-09-10 15:19:31 -04:00
third_party build: bump yarn requirement to 1.17.3 (#32344) 2019-08-28 17:13:05 -07:00
tools feat(core): Deprecate TestBed.get as deprecated (#32406) 2019-09-11 20:28:56 -04:00
.bazelignore build: update to rules_nodejs 0.32.2 (#31325) 2019-07-01 14:16:42 -07:00
.bazelrc build: use bazel workers for ngc and tsc in local development (#32246) 2019-08-21 15:21:52 -07:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes test: fix ts api guardian and public guard tests on windows (#30105) 2019-04-26 16:32:22 -07:00
.gitignore build: add .vimrc to .gitignore (#32253) 2019-08-22 06:40:20 -07:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: update .nvmrc file to correct node version (#25992) 2018-09-18 13:11:58 -07:00
BUILD.bazel build: update to rules_nodejs 0.32.2 (#31325) 2019-07-01 14:16:42 -07:00
CHANGELOG.md docs: remove duplicate entry in changelog for 8.2.6 2019-09-11 13:40:10 -07:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md build: add `ngcc` as a valid commit message scope (#32144) 2019-08-15 10:33:36 -07:00
LICENSE build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md docs: fix typo of Typescript to TypeScript (#32153) 2019-08-15 12:44:41 -07:00
WORKSPACE build: bump yarn requirement to 1.17.3 (#32344) 2019-08-28 17:13:05 -07:00
browser-providers.conf.js ci: re-enable chrome mobile tests on android (#32447) 2019-09-03 11:58:30 -07:00
browser_repositories.bzl build(bazel): update to latest stable chromium 74 on osx and linux for karma under bazel (#30502) 2019-05-16 14:38:14 -07:00
gulpfile.js build(zone.js): add changelog gulptask for zone.js (#31852) 2019-07-26 11:30:08 -07:00
karma-js.conf.js refactor(ivy): update the compiler to emit `$localize` tags (#31609) 2019-08-30 12:53:26 -07:00
package.json release: cut the v9.0.0-next.6 release 2019-09-11 13:02:57 -07:00
protractor-perf.conf.js fixup! test(ivy): make the test run with benchpress (#30449) 2019-05-16 20:04:04 -07:00
renovate.json ci: update packageFiles to be renovated (#29071) 2019-03-05 09:43:23 -08:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js fix(platform-browser): run BLACK_LISTED_EVENTS outside of ngZone (#18993) 2017-09-05 15:33:22 -05:00
test-main.js refactor(ivy): update the compiler to emit `$localize` tags (#31609) 2019-08-30 12:53:26 -07:00
tslint.json refactor: remove toplevel property accesses (#29329) 2019-05-16 12:08:49 -07:00
yarn.lock feat(bazel): update to the latest `@microsoft/api-extractor` (#32185) 2019-08-30 13:55:32 -04:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

CircleCI BrowserStack Status Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.