angular-docs-cn/packages/core/test
Vikram Subramanian 6b859daea4 fix(core): stop reusing provider definitions across NgModuleRef instances (#25022)
Fixes #25018.

Instantiating a NgModuleRef from NgModuleFactory reuses the NgModuleDefinition if it is already present. However the NgModuleDefinition has a providers array which modified when tree shakable providers are instantiated. This corrupts the provider definitions the next time the same factory is used to create a new NgModuleRef - Two provider definitions can end up with the same index anf the injector could potentially return a completely wrong object for a provider token.

This scenario is more likely on the server where the same NgModuleFactory is reused across requests.

The fix clones the cached NgModuleDefinition so that any tree shakable providers added later do not affect the cached copy.

PR Close #25022
2018-07-23 08:13:29 -07:00
..
animation build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
bundling fix(core): stop reusing provider definitions across NgModuleRef instances (#25022) 2018-07-23 08:13:29 -07:00
change_detection refactor: ensure all 'TODO's are consistent (#23252) 2018-04-13 13:11:01 -07:00
debug build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
di fix(ivy): ignore imports without ngInjectorDef in r3_injector (#24862) 2018-07-20 11:48:36 -07:00
dom fix(platform-server): add styles to elements correctly (#22527) 2018-03-14 14:12:31 -07:00
linker fix(core): stop reusing provider definitions across NgModuleRef instances (#25022) 2018-07-23 08:13:29 -07:00
metadata feat(ivy): Support resource resolution in JIT mode. (#24637) 2018-06-28 14:59:48 -07:00
reflection build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
render3 fix(ivy): invoke lifecycle hooks of directives placed on ng-template (#24899) 2018-07-20 10:45:51 -07:00
sanitization feat(ivy): provide sanitization methods which can be tree shaken (#22540) 2018-03-07 18:24:07 -08:00
testability feat(core): add support for using async/await with Jasmine (#24637) 2018-06-28 14:59:48 -07:00
util feat(core): upgrade rxjs to 6.0.0-alpha.4 (#22573) 2018-03-19 21:51:51 -07:00
view fix(core): mark NgModule as not the root if APP_ROOT is set to false (#24814) 2018-07-10 11:09:36 -07:00
zone build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
BUILD.bazel ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
application_init_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
application_module_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
application_ref_integration_spec.ts fix(ivy): correctly export all *Def symbols as private (#24862) 2018-07-20 11:48:36 -07:00
application_ref_spec.ts build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
component_fixture_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
dev_mode_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
directive_lifecycle_integration_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
error_handler_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
event_emitter_spec.ts fix(core): fix proper propagation of subscriptions in EventEmitter (#22016) 2018-02-06 07:56:33 -08:00
fake_async_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00
forward_ref_integration_spec.ts build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
ivy_local_empty_spec.ts ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
spies.ts build: fix file paths after moving modules/@angular/* to packages/* 2017-03-08 16:29:28 -08:00
testing_internal_spec.ts fix(core): use addCustomEqualityTester instead of overriding toEqual (#22983) 2018-07-03 08:35:15 -07:00
util_spec.ts build(core): remove `main()` from specs (#21053) 2017-12-22 13:10:51 -08:00