Go to file
Alex Rickabaugh 6c6d43086f fix(ivy): make module registration by id idempotent (#28033)
An @NgModule with an 'id' property has its type registered in a global map
of modules by id. This happens during compilation of the module.

In Ivy, modules are first compiled when the @NgModule decorator executes.
In tests, they might be passed again through the TestBed's compiler,
resulting in a second compilation and registration.

Before this fix, this second registration would cause an error, as the id
was previously registered. This commit makes the registration idempotent,
so if the same module type is being registered for the same id then no
error is thrown.

Testing strategy: future commits change the way the TestBed compiles
modules, causing tests to become sensitive to this bug if not fixed.

PR Close #28033
2019-01-11 11:18:09 -08:00
.buildkite ci: use image based cache for windows BuildKite (#27990) 2019-01-09 10:45:59 -08:00
.circleci docs: document why not using `compare-url` orb (#28010) 2019-01-10 10:50:30 -08:00
.github ci: add brandonroberts to @angular/docs-infra codeowners (#28023) 2019-01-09 11:50:40 -08:00
aio docs(service-worker): fix example of manually checking for updates (#28020) 2019-01-11 11:17:18 -08:00
docs build: use cross platform workspace_status_command (#27431) 2019-01-09 10:47:13 -08:00
integration fix(ivy): ngcc - identify all ESM5 decorated classes (#27848) 2019-01-11 11:14:01 -08:00
modules build: re-enable disabled e2e tests (#27979) 2019-01-09 10:41:16 -08:00
packages fix(ivy): make module registration by id idempotent (#28033) 2019-01-11 11:18:09 -08:00
scripts build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
third_party/github.com/bazelbuild/bazel-toolchains/bazelrc build: update to Bazel 0.21.0 (#27935) 2019-01-04 18:38:44 -08:00
tools refactor(core): improve type for EventEmitter (#27228) 2019-01-10 17:02:52 -08:00
.bazelignore build: add aio/tools/examples/shared/node_modules to .bazelignore (#27278) 2018-11-27 10:30:58 -08:00
.bazelrc build: use cross platform workspace_status_command (#27431) 2019-01-09 10:47:13 -08: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 chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build: introduce remote bazel caching (#27358) 2018-12-06 11:25:03 -08: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: load angular.js minified output in upgrade tests (#27711) 2018-12-18 09:29:27 -08:00
CHANGELOG.md docs: group fixes and features for 7.2.0 in changelog desc (#27974) 2019-01-08 11:28:27 -08: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: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
LICENSE build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md docs: remove Travis status from README (#27973) 2019-01-08 10:38:34 -08:00
WORKSPACE build: enforce minimum Bazel version of 0.21.0 in WORKSPACE so cache works with `yarn bazel` (#27935) 2019-01-04 18:38:44 -08:00
browser-providers.conf.js build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
gulpfile.js build: remove obsolete gulp build task (#27386) 2018-12-05 20:55:32 -08:00
index.bzl style: format .bzl files with buildifier (#23544) 2018-08-08 13:12:07 -07:00
karma-js.conf.js ci: move local and saucelabs unit tests to circle (#27937) 2019-01-07 15:35:09 -08:00
package.json build(bazel): Bump @bazel/typescript & @bazel/karma to 0.22.1 (#28031) 2019-01-10 16:49:56 -08:00
protractor-e2e.conf.js build: re-enable disabled e2e tests (#27979) 2019-01-09 10:41:16 -08:00
protractor-examples-e2e.conf.js build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
protractor-perf.conf.js build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -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(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
tslint.json style: tslint enforces no debugger statements left behind (#25532) 2018-08-16 16:00:22 -07:00
yarn.lock build(bazel): Bump @bazel/typescript & @bazel/karma to 0.22.1 (#28031) 2019-01-10 16:49:56 -08: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.