refactor(core): support non reflective bootstrap.

This changes Angular so that it can be used without reflection (assuming a codegen for injectors).

BREAKIKNG CHANGE:
- Drops `APP_COMPONENT` provider. Instead, inject
  `ApplicationRef` and read its `componentTypes` property.
- long form bootstrap has changed into the following:
  ```
  var platform = createPlatform(ReflectiveInjector.resolveAndCreate(BROWSER_PROVIDERS));
  var appInjector =
    ReflectiveInjector.resolveAndCreate([BROWSER_APP_PROVIDERS, appProviders], platform.injector);
  coreLoadAndBootstrap(appInjector, MyApp);
  ```
This commit is contained in:
Tobias Bosch
2016-04-14 14:52:35 -07:00
parent 0a7d10ba55
commit 9092ac79d4
73 changed files with 784 additions and 649 deletions

View File

@ -140,7 +140,6 @@ var NG_COMPILER = [
];
var NG_CORE = [
'APP_COMPONENT',
'APP_INITIALIZER',
'APP_ID',
'AngularEntrypoint:dart',
@ -261,7 +260,12 @@ var NG_CORE = [
'provide',
'createNgZone',
'forwardRef:js',
'platform',
'coreBootstrap',
'coreLoadAndBootstrap',
'createPlatform',
'disposePlatform',
'getPlatform',
'assertPlatform',
'resolveForwardRef:js',
'PLATFORM_COMMON_PROVIDERS',
'PLATFORM_INITIALIZER',
@ -306,6 +310,7 @@ var NG_PLATFORM_BROWSER = [
'ELEMENT_PROBE_PROVIDERS_PROD_MODE',
'Title',
'bootstrap',
'browserPlatform',
'disableDebugTools',
'enableDebugTools',
'inspectNativeElement'