
This introduces the `BrowserModule` to be used for long form bootstrap and offline compile bootstrap: ``` @AppModule({ modules: [BrowserModule], precompile: [MainComponent], providers: […], // additional providers directives: […], // additional platform directives pipes: […] // additional platform pipes }) class MyModule { constructor(appRef: ApplicationRef) { appRef.bootstrap(MainComponent); } } // offline compile import {bootstrapModuleFactory} from ‘@angular/platform-browser’; bootstrapModuleFactory(MyModuleNgFactory); // runtime compile long form import {bootstrapModule} from ‘@angular/platform-browser-dynamic’; bootstrapModule(MyModule); ``` The short form, `bootstrap(...)`, can now creates a module on the fly, given `directives`, `pipes, `providers`, `precompile` and `modules` properties. Related changes: - make `SanitizationService`, `SecurityContext` public in `@angular/core` so that the offline compiler can resolve the token - move `AnimationDriver` to `platform-browser` and make it public so that the offline compiler can resolve the token BREAKING CHANGES: - short form bootstrap does no longer allow to inject compiler internals (i.e. everything from `@angular/compiler). Inject `Compiler` instead. To provide custom providers for the compiler, create a custom compiler via `browserCompiler({providers: [...]})` and pass that into the `bootstrap` method.
131 lines
4.0 KiB
TypeScript
131 lines
4.0 KiB
TypeScript
/** @stable */
|
|
export declare function addProviders(providers: Array<any>): void;
|
|
|
|
/** @deprecated */
|
|
export declare var afterEach: Function;
|
|
|
|
/** @stable */
|
|
export declare function async(fn: Function): (done: any) => any;
|
|
|
|
/** @deprecated */
|
|
export declare var beforeEach: any;
|
|
|
|
/** @deprecated */
|
|
export declare function beforeEachProviders(fn: () => Array<any>): void;
|
|
|
|
/** @stable */
|
|
export declare class ComponentFixture<T> {
|
|
changeDetectorRef: ChangeDetectorRef;
|
|
componentInstance: T;
|
|
componentRef: ComponentRef<T>;
|
|
debugElement: DebugElement;
|
|
elementRef: ElementRef;
|
|
nativeElement: any;
|
|
ngZone: NgZone;
|
|
constructor(componentRef: ComponentRef<T>, ngZone: NgZone, autoDetect: boolean);
|
|
autoDetectChanges(autoDetect?: boolean): void;
|
|
checkNoChanges(): void;
|
|
destroy(): void;
|
|
detectChanges(checkNoChanges?: boolean): void;
|
|
isStable(): boolean;
|
|
whenStable(): Promise<any>;
|
|
}
|
|
|
|
/** @experimental */
|
|
export declare var ComponentFixtureAutoDetect: OpaqueToken;
|
|
|
|
/** @experimental */
|
|
export declare var ComponentFixtureNoNgZone: OpaqueToken;
|
|
|
|
/** @deprecated */
|
|
export declare var ddescribe: any;
|
|
|
|
/** @deprecated */
|
|
export declare var describe: Function;
|
|
|
|
/** @experimental */
|
|
export declare function discardPeriodicTasks(): void;
|
|
|
|
/** @deprecated */
|
|
export declare var expect: Function;
|
|
|
|
/** @experimental */
|
|
export declare function fakeAsync(fn: Function): (...args: any[]) => any;
|
|
|
|
/** @deprecated */
|
|
export declare var fdescribe: any;
|
|
|
|
/** @deprecated */
|
|
export declare var fit: any;
|
|
|
|
/** @experimental */
|
|
export declare function flushMicrotasks(): void;
|
|
|
|
/** @experimental */
|
|
export declare function getTestInjector(): TestInjector;
|
|
|
|
/** @deprecated */
|
|
export declare var iit: any;
|
|
|
|
/** @stable */
|
|
export declare function inject(tokens: any[], fn: Function): () => any;
|
|
|
|
/** @experimental */
|
|
export declare class InjectSetupWrapper {
|
|
constructor(_providers: () => any);
|
|
inject(tokens: any[], fn: Function): () => any;
|
|
}
|
|
|
|
/** @deprecated */
|
|
export declare var it: any;
|
|
|
|
/** @experimental */
|
|
export declare function resetBaseTestProviders(): void;
|
|
|
|
/** @experimental */
|
|
export declare function setBaseTestProviders(platformProviders: Array<Type | Provider | any[]>, applicationProviders: Array<Type | Provider | any[]>): void;
|
|
|
|
/** @stable */
|
|
export declare class TestComponentBuilder {
|
|
protected _injector: Injector;
|
|
constructor(_injector: Injector);
|
|
createAsync<T>(rootComponentType: ConcreteType<T>): Promise<ComponentFixture<T>>;
|
|
createFakeAsync<T>(rootComponentType: ConcreteType<T>): ComponentFixture<T>;
|
|
protected createFromFactory<C>(ngZone: NgZone, componentFactory: ComponentFactory<C>): ComponentFixture<C>;
|
|
createSync<T>(rootComponentType: ConcreteType<T>): ComponentFixture<T>;
|
|
overrideAnimations(componentType: Type, animations: AnimationEntryMetadata[]): TestComponentBuilder;
|
|
overrideDirective(componentType: Type, from: Type, to: Type): TestComponentBuilder;
|
|
overrideProviders(type: Type, providers: any[]): TestComponentBuilder;
|
|
overrideTemplate(componentType: Type, template: string): TestComponentBuilder;
|
|
overrideView(componentType: Type, view: ViewMetadata): TestComponentBuilder;
|
|
overrideViewProviders(type: Type, providers: any[]): TestComponentBuilder;
|
|
}
|
|
|
|
/** @experimental */
|
|
export declare class TestComponentRenderer {
|
|
insertRootElement(rootElementId: string): void;
|
|
}
|
|
|
|
/** @experimental */
|
|
export declare class TestInjector {
|
|
applicationProviders: Array<Type | Provider | any[] | any>;
|
|
platformProviders: Array<Type | Provider | any[] | any>;
|
|
addProviders(providers: Array<Type | Provider | any[] | any>): void;
|
|
createInjector(): ReflectiveInjector;
|
|
execute(tokens: any[], fn: Function): any;
|
|
get(token: any): any;
|
|
reset(): void;
|
|
}
|
|
|
|
/** @experimental */
|
|
export declare function tick(millis?: number): void;
|
|
|
|
/** @experimental */
|
|
export declare function withProviders(providers: () => any): InjectSetupWrapper;
|
|
|
|
/** @deprecated */
|
|
export declare var xdescribe: Function;
|
|
|
|
/** @deprecated */
|
|
export declare var xit: any;
|