@@ -10,7 +10,7 @@ import {compileNgModuleFactory} from '../application/application_ngmodule_factor
1010import { BootstrapOptions , optionsReducer } from '../application/application_ref' ;
1111import { validAppIdInitializer } from '../application/application_tokens' ;
1212import { provideZonelessChangeDetectionInternal } from '../change_detection/scheduling/zoneless_scheduling_impl' ;
13- import { Injectable , Injector , StaticProvider } from '../di' ;
13+ import { EnvironmentProviders , Injectable , Injector , Provider , StaticProvider } from '../di' ;
1414import { errorHandlerEnvironmentInitializer } from '../error_handler' ;
1515import { RuntimeError , RuntimeErrorCode } from '../errors' ;
1616import { Type } from '../interface/type' ;
@@ -27,18 +27,6 @@ import {getNgZone} from '../zone/ng_zone';
2727
2828const ZONELESS_BY_DEFAULT = true ;
2929
30- // Holds the set of providers to be used for the *next* application to be bootstrapped.
31- // Used only for providing the zone related providers by default with `downgradeModule`.
32- let _additionalApplicationProviders : StaticProvider [ ] | undefined = undefined ;
33- export function setZoneProvidersForNextBootstrap ( ) : void {
34- _additionalApplicationProviders = internalProvideZoneChangeDetection ( { } ) ;
35- }
36- function getAndClearAdditionalProviders ( ) : StaticProvider [ ] | undefined {
37- const providers = _additionalApplicationProviders ;
38- _additionalApplicationProviders = undefined ;
39- return providers ;
40- }
41-
4230/**
4331 * The Angular platform is the entry point for Angular on a web page.
4432 * Each page has exactly one platform. Services (such as reflection) which are common
@@ -65,19 +53,7 @@ export class PlatformRef {
6553 */
6654 bootstrapModuleFactory < M > (
6755 moduleFactory : NgModuleFactory < M > ,
68- options ?: BootstrapOptions ,
69- ) : Promise < NgModuleRef < M > > {
70- return this . bootstrapModuleFactoryWithApplicationProviders (
71- moduleFactory ,
72- options ,
73- getAndClearAdditionalProviders ( ) ,
74- ) ;
75- }
76-
77- private bootstrapModuleFactoryWithApplicationProviders < M > (
78- moduleFactory : NgModuleFactory < M > ,
79- options ?: BootstrapOptions ,
80- applicationProviders ?: StaticProvider [ ] ,
56+ options ?: BootstrapOptions & { applicationProviders ?: Array < Provider | EnvironmentProviders > } ,
8157 ) : Promise < NgModuleRef < M > > {
8258 const defaultZoneCdProviders = [ ] ;
8359 if ( ! ZONELESS_BY_DEFAULT ) {
@@ -93,7 +69,7 @@ export class PlatformRef {
9369 const allAppProviders = [
9470 provideZonelessChangeDetectionInternal ( ) ,
9571 ...defaultZoneCdProviders ,
96- ...( applicationProviders ?? [ ] ) ,
72+ ...( options ?. applicationProviders ?? [ ] ) ,
9773 errorHandlerEnvironmentInitializer ,
9874 ...( ngDevMode ? [ validAppIdInitializer ] : [ ] ) ,
9975 ] ;
@@ -130,18 +106,17 @@ export class PlatformRef {
130106 bootstrapModule < M > (
131107 moduleType : Type < M > ,
132108 compilerOptions :
133- | ( CompilerOptions & BootstrapOptions )
134- | Array < CompilerOptions & BootstrapOptions > = [ ] ,
109+ | ( CompilerOptions &
110+ BootstrapOptions & { applicationProviders ?: Array < Provider | EnvironmentProviders > } )
111+ | Array <
112+ CompilerOptions &
113+ BootstrapOptions & { applicationProviders ?: Array < Provider | EnvironmentProviders > }
114+ > = [ ] ,
135115 ) : Promise < NgModuleRef < M > > {
136- const additionalApplicationProviders = getAndClearAdditionalProviders ( ) ;
137116 const options = optionsReducer ( { } , compilerOptions ) ;
138117 setModuleBootstrapImpl ( ) ;
139118 return compileNgModuleFactory ( this . injector , options , moduleType ) . then ( ( moduleFactory ) =>
140- this . bootstrapModuleFactoryWithApplicationProviders (
141- moduleFactory ,
142- options ,
143- additionalApplicationProviders ,
144- ) ,
119+ this . bootstrapModuleFactory ( moduleFactory , options ) ,
145120 ) ;
146121 }
147122
0 commit comments