ngc can now validate metadata before emitting to verify it doesn't contain an error symbol that will result in a runtime error if it is used by the StaticReflector. To enable this add the section, "angularCompilerOptions": { "strictMetadataEmit": true } to the top level of the tsconfig.json file passed to ngc. Enabled metadata validation for packages that are intended to be used statically.
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
import {APP_ID, NgModule, NgZone, PLATFORM_INITIALIZER, PlatformRef, Provider, createPlatformFactory, platformCore} from '@angular/core';
|
|
|
|
import {BrowserModule} from '../src/browser';
|
|
import {BrowserDomAdapter} from '../src/browser/browser_adapter';
|
|
import {AnimationDriver} from '../src/dom/animation_driver';
|
|
import {ELEMENT_PROBE_PROVIDERS} from '../src/dom/debug/ng_probe';
|
|
|
|
import {BrowserDetection, createNgZone} from './browser_util';
|
|
|
|
function initBrowserTests() {
|
|
BrowserDomAdapter.makeCurrent();
|
|
BrowserDetection.setup();
|
|
}
|
|
|
|
const _TEST_BROWSER_PLATFORM_PROVIDERS: Provider[] =
|
|
[{provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}];
|
|
|
|
/**
|
|
* Platform for testing
|
|
*
|
|
* @experimental API related to bootstrapping are still under review.
|
|
*/
|
|
export const platformBrowserTesting =
|
|
createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);
|
|
|
|
/**
|
|
* NgModule for testing.
|
|
*
|
|
* @experimental
|
|
*/
|
|
@NgModule({
|
|
exports: [BrowserModule],
|
|
providers: [
|
|
{provide: APP_ID, useValue: 'a'}, ELEMENT_PROBE_PROVIDERS,
|
|
{provide: NgZone, useFactory: createNgZone},
|
|
{provide: AnimationDriver, useValue: AnimationDriver.NOOP}
|
|
]
|
|
})
|
|
export class BrowserTestingModule {
|
|
}
|