angular-cn/packages
Alex Rickabaugh 60aeee7abf feat(ivy): selector side of ModuleWithProviders via type metadata (#24862)
Within an @NgModule it's common to include in the imports a call to
a ModuleWithProviders function, for example RouterModule.forRoot().
The old ngc compiler was able to handle this pattern because it had
global knowledge of metadata of not only the input compilation unit
but also all dependencies.

The ngtsc compiler for Ivy doesn't have this knowledge, so the
pattern of ModuleWithProviders functions is more difficult. ngtsc
must be able to determine which module is imported via the function
in order to expand the selector scope and properly tree-shake
directives and pipes.

This commit implements a solution to this problem, by adding a type
parameter to ModuleWithProviders through which the actual module
type can be passed between compilation units.

The provider side isn't a problem because the imports are always
copied directly to the ngInjectorDef.

PR Close #24862
2018-07-20 11:48:35 -07:00
..
animations fix(animations): @internal must use JSDoc tags. (#24928) 2018-07-18 18:18:04 -04:00
bazel build(bazel): turn on preserve-symlinks (#24881) 2018-07-20 10:37:30 -07:00
benchpress refactor: infer type for `it()` assertion functions (#19904) 2018-07-06 13:48:02 -07:00
common docs: more info on currency digits (#24661) 2018-07-20 10:33:06 -07:00
compiler feat(ivy): properly apply class="", [class], [class.foo] and [attr.class] bindings (#24822) 2018-07-17 16:33:25 -04:00
compiler-cli feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
core feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
docs refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
elements build(bazel): turn on preserve-symlinks (#24881) 2018-07-20 10:37:30 -07:00
examples docs: more info on currency digits (#24661) 2018-07-20 10:33:06 -07:00
forms feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
http test: make `NgMatchers` type-aware (#19904) 2018-07-06 13:48:02 -07:00
language-service fix(language-service): do not overwrite native `Reflect` (#24299) 2018-07-09 15:09:16 -07:00
platform-browser feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
platform-browser-dynamic ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
platform-server fix(animations): set animations styles properly on platform-server (#24624) 2018-06-25 07:58:11 -07:00
platform-webworker test(platform-webworker): avoid flakes due to existing `PlatformRef` (#24916) 2018-07-20 10:47:17 -07:00
platform-webworker-dynamic ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
router feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
service-worker fix(service-worker): avoid network requests when looking up hashed resources in cache (#24127) 2018-07-06 13:50:37 -07:00
upgrade fix(ivy): allow building router with ngtsc (#24862) 2018-07-20 11:48:35 -07:00
BUILD.bazel feat(bazel): introduce a binary stamping feature (#22176) 2018-02-15 14:08:53 -08:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
es6-subset.d.ts build: switch from npm to yarn (#19328) 2017-09-22 13:20:52 -07:00
goog.d.ts fix(compiler): add typings for `COMPILED`. 2017-09-29 09:26:38 -07:00
license-banner.txt docs(common): update copyright years (#21232) 2018-01-04 17:45:36 -05:00
rollup.config.js refactor: make all rollup config ES5 compatible (#20028) 2017-10-30 23:09:17 -04:00
system.d.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
tsconfig-build.json build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
tsconfig-metadata.json refactor(compiler): bump metadata version to 4 (#19338) 2017-09-26 13:31:59 -07:00
tsconfig.json build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
types.d.ts build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00

README.md

Angular

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

License: MIT