File tree Expand file tree Collapse file tree 3 files changed +9
-5
lines changed
packages/angular/build/src/builders/unit-test Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ import { OutputHashing } from '../application/schema';
2424import { writeTestFiles } from '../karma/application_builder' ;
2525import { findTests , getTestEntrypoints } from '../karma/find-tests' ;
2626import { useKarmaBuilder } from './karma-bridge' ;
27- import { NormalizedUnitTestOptions , normalizeOptions } from './options' ;
27+ import { NormalizedUnitTestOptions , injectTestingPolyfills , normalizeOptions } from './options' ;
2828import type { Schema as UnitTestOptions } from './schema' ;
2929
3030export type { UnitTestOptions } ;
@@ -111,9 +111,7 @@ export async function* execute(
111111 await context . getBuilderNameForTarget ( normalizedOptions . buildTarget ) ,
112112 ) ) as unknown as ApplicationBuilderInternalOptions ;
113113
114- if ( buildTargetOptions . polyfills ?. includes ( 'zone.js' ) ) {
115- buildTargetOptions . polyfills . push ( 'zone.js/testing' ) ;
116- }
114+ buildTargetOptions . polyfills = injectTestingPolyfills ( buildTargetOptions . polyfills ) ;
117115
118116 const outputPath = path . join ( context . workspaceRoot , generateOutputPath ( ) ) ;
119117 const buildOptions : ApplicationBuilderInternalOptions = {
Original file line number Diff line number Diff line change 99import type { BuilderContext , BuilderOutput } from '@angular-devkit/architect' ;
1010import type { ApplicationBuilderInternalOptions } from '../application/options' ;
1111import type { KarmaBuilderOptions } from '../karma' ;
12- import type { NormalizedUnitTestOptions } from './options' ;
12+ import { type NormalizedUnitTestOptions , injectTestingPolyfills } from './options' ;
1313
1414export async function useKarmaBuilder (
1515 context : BuilderContext ,
@@ -26,6 +26,8 @@ export async function useKarmaBuilder(
2626 await context . getBuilderNameForTarget ( unitTestOptions . buildTarget ) ,
2727 ) ) as unknown as ApplicationBuilderInternalOptions ;
2828
29+ buildTargetOptions . polyfills = injectTestingPolyfills ( buildTargetOptions . polyfills ) ;
30+
2931 const options : KarmaBuilderOptions = {
3032 tsConfig : unitTestOptions . tsConfig ,
3133 polyfills : buildTargetOptions . polyfills ,
Original file line number Diff line number Diff line change @@ -64,3 +64,7 @@ export async function normalizeOptions(
6464 providersFile : options . providersFile && path . join ( workspaceRoot , options . providersFile ) ,
6565 } ;
6666}
67+
68+ export function injectTestingPolyfills ( polyfills : string [ ] = [ ] ) : string [ ] {
69+ return polyfills . includes ( 'zone.js' ) ? [ ...polyfills , 'zone.js/testing' ] : polyfills ;
70+ }
You can’t perform that action at this time.
0 commit comments