File tree Expand file tree Collapse file tree 7 files changed +43
-9
lines changed
Expand file tree Collapse file tree 7 files changed +43
-9
lines changed Original file line number Diff line number Diff line change @@ -96,10 +96,14 @@ export default function (options: PwaOptions): Rule {
9696 for ( const target of project . targets . values ( ) ) {
9797 if (
9898 target . builder === '@angular-devkit/build-angular:browser' ||
99- target . builder === '@angular-devkit/build-angular:application'
99+ target . builder === '@angular-devkit/build-angular:application' ||
100+ target . builder === '@angular/build:application'
100101 ) {
101102 buildTargets . push ( target ) ;
102- } else if ( target . builder === '@angular-devkit/build-angular:karma' ) {
103+ } else if (
104+ target . builder === '@angular-devkit/build-angular:karma' ||
105+ target . builder === '@angular/build:karma'
106+ ) {
103107 testTargets . push ( target ) ;
104108 }
105109 }
Original file line number Diff line number Diff line change 44module.exports = function (config) {
55 config.set({
66 basePath: '',
7- frameworks: ['jasmine', '@angular-devkit/build-angular'],
7+ frameworks: ['jasmine'<% if (needDevkitPlugin) { %> , '@angular-devkit/build-angular'<% } %> ],
88 plugins: [
99 require('karma-jasmine'),
1010 require('karma-chrome-launcher'),
1111 require('karma-jasmine-html-reporter'),
12- require('karma-coverage'),
13- require('@angular-devkit/build-angular/plugins/karma')
12+ require('karma-coverage'),<% if (needDevkitPlugin) { %>
13+ require('@angular-devkit/build-angular/plugins/karma')<% } %>
1414 ],
1515 client: {
1616 jasmine: {
Original file line number Diff line number Diff line change @@ -66,9 +66,13 @@ function addKarmaConfig(options: ConfigOptions): Rule {
6666 ) ;
6767 }
6868
69- if ( testTarget . builder !== AngularBuilder . Karma ) {
69+ if (
70+ testTarget . builder !== AngularBuilder . Karma &&
71+ testTarget . builder !== AngularBuilder . BuildKarma
72+ ) {
7073 throw new SchematicsException (
71- `Cannot add a karma configuration as builder for "test" target in project does not use "${ AngularBuilder . Karma } ".` ,
74+ `Cannot add a karma configuration as builder for "test" target in project does not` +
75+ ` use "${ AngularBuilder . Karma } " or "${ AngularBuilder . BuildKarma } ".` ,
7276 ) ;
7377 }
7478
@@ -87,6 +91,7 @@ function addKarmaConfig(options: ConfigOptions): Rule {
8791 applyTemplates ( {
8892 relativePathToWorkspaceRoot : relativePathToWorkspaceRoot ( project . root ) ,
8993 folderName,
94+ needDevkitPlugin : testTarget . builder === AngularBuilder . Karma ,
9095 } ) ,
9196 move ( project . root ) ,
9297 ] ) ,
Original file line number Diff line number Diff line change @@ -58,6 +58,24 @@ describe('Config Schematic', () => {
5858 expect ( tree . exists ( 'projects/foo/karma.conf.js' ) ) . toBeTrue ( ) ;
5959 } ) ;
6060
61+ it ( 'should include devkit karma plugin by default' , async ( ) => {
62+ const tree = await runConfigSchematic ( ConfigType . Karma ) ;
63+ const karmaConf = tree . readText ( 'projects/foo/karma.conf.js' ) ;
64+ expect ( karmaConf ) . toContain ( `'@angular-devkit/build-angular'` ) ;
65+ } ) ;
66+
67+ it ( 'should not include devkit karma plugin with angular/build:karma is used' , async ( ) => {
68+ applicationTree . overwrite (
69+ 'angular.json' ,
70+ applicationTree
71+ . readText ( 'angular.json' )
72+ . replace ( '@angular-devkit/build-angular:karma' , '@angular/build:karma' ) ,
73+ ) ;
74+ const tree = await runConfigSchematic ( ConfigType . Karma ) ;
75+ const karmaConf = tree . readText ( 'projects/foo/karma.conf.js' ) ;
76+ expect ( karmaConf ) . not . toContain ( `'@angular-devkit/build-angular'` ) ;
77+ } ) ;
78+
6179 it ( 'should set the right coverage folder' , async ( ) => {
6280 const tree = await runConfigSchematic ( ConfigType . Karma ) ;
6381 const karmaConf = tree . readText ( 'projects/foo/karma.conf.js' ) ;
Original file line number Diff line number Diff line change @@ -75,7 +75,8 @@ function* generateConfigurationEnvironments(
7575 if (
7676 buildTarget . builder !== AngularBuilder . Browser &&
7777 buildTarget . builder !== AngularBuilder . BrowserEsbuild &&
78- buildTarget . builder !== AngularBuilder . Application
78+ buildTarget . builder !== AngularBuilder . Application &&
79+ buildTarget . builder !== AngularBuilder . BuildApplication
7980 ) {
8081 yield log (
8182 'warn' ,
Original file line number Diff line number Diff line change @@ -122,7 +122,10 @@ export default function (options: ServiceWorkerOptions): Rule {
122122 let browserEntryPoint : string | undefined ;
123123 const ngswConfigPath = join ( normalize ( project . root ) , 'ngsw-config.json' ) ;
124124
125- if ( buildTarget . builder === Builders . Application ) {
125+ if (
126+ buildTarget . builder === Builders . Application ||
127+ buildTarget . builder === Builders . BuildApplication
128+ ) {
126129 browserEntryPoint = buildOptions . browser as string ;
127130 const productionConf = buildTarget . configurations ?. production ;
128131 if ( productionConf ) {
Original file line number Diff line number Diff line change @@ -26,11 +26,14 @@ export enum Builders {
2626 Prerender = '@angular-devkit/build-angular:prerender' ,
2727 BrowserEsbuild = '@angular-devkit/build-angular:browser-esbuild' ,
2828 Karma = '@angular-devkit/build-angular:karma' ,
29+ BuildKarma = '@angular/build:karma' ,
2930 TsLint = '@angular-devkit/build-angular:tslint' ,
3031 NgPackagr = '@angular-devkit/build-angular:ng-packagr' ,
3132 BuildNgPackagr = '@angular/build:ng-packagr' ,
3233 DevServer = '@angular-devkit/build-angular:dev-server' ,
34+ BuildDevServer = '@angular/build:dev-server' ,
3335 ExtractI18n = '@angular-devkit/build-angular:extract-i18n' ,
36+ BuildExtractI18n = '@angular/build:extract-i18n' ,
3437 Protractor = '@angular-devkit/build-angular:private-protractor' ,
3538 BuildApplication = '@angular/build:application' ,
3639}
You can’t perform that action at this time.
0 commit comments