angular-docs-cn/tools
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
..
build build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
cjs-jasmine test: run unit tests in random order (#19904) 2018-07-06 13:48:02 -07:00
code.angularjs.org build: use subshells when changing directories 2017-05-12 12:19:51 -07:00
gulp-tasks fix(common): use correct currency format for locale de-AT (#24658) 2018-07-09 15:10:06 -07:00
http-server feat(bazel): protractor_web_test_suite for release (#24787) 2018-07-12 16:34:45 -04:00
ngcontainer build: update to Bazel 0.15 (#24841) 2018-07-13 15:05:16 -04:00
npm build: remove local yarn (#19981) 2017-11-02 15:11:34 -07:00
public_api_guard feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
source-map-test build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
symbol-extractor build(bazel): update to rule_nodejs 0.10.0 (#24759) 2018-07-06 10:17:36 -07:00
testing feat(ivy): first steps towards ngtsc mode (#23455) 2018-04-25 13:25:33 -07:00
travis build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
tree-shaking-test refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
ts-api-guardian build(bazel): update to rule_nodejs 0.10.0 (#24759) 2018-07-06 10:17:36 -07:00
tsc-watch build: make `internal-angular` karma reporter compatible with latest karma (#24803) 2018-07-09 15:10:49 -07:00
tslint feat(elements): add schematics (#23298) 2018-04-11 18:13:30 -07:00
types-ext build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
validate-commit-message build(bazel): turn on preserve-symlinks (#24881) 2018-07-20 10:37:30 -07:00
yarn build: upgrade yarn to 1.3.2 (#21406) 2018-01-10 12:32:26 -08:00
BUILD.bazel build: fix bazel stamping (#22965) 2018-03-28 09:00:02 -07:00
bazel.rc build(ivy): support alternate compilation modes to enable Ivy testing (#24056) 2018-05-29 18:02:29 -04:00
bazel_stamp_vars.sh build: only match version tags for BUILD_SCM_VERSION (#23903) 2018-05-14 12:44:26 -07:00
check-environment.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
defaults.bzl build(ivy): support alternate compilation modes to enable Ivy testing (#24056) 2018-05-29 18:02:29 -04:00
jasmine-seed-generator.js test: run unit tests in random order (#19904) 2018-07-06 13:48:02 -07:00
jsconfig.json
postinstall-patches.js build: remove a postinstall-patch to fix rxjs (#23234) 2018-04-17 14:09:02 -07:00
tsconfig.json test(bazel): Build and test ts-api-guardian locally (#22544) 2018-03-02 15:00:00 -08:00
types.d.ts fix(fakeAsync): have fakeAsync use Proxy zone. (#10797) 2016-08-19 12:10:53 -07:00
utils.inc