diff --git a/packages/angular/migrations.json b/packages/angular/migrations.json index fe2a00bd64495..d573a291a33be 100644 --- a/packages/angular/migrations.json +++ b/packages/angular/migrations.json @@ -150,6 +150,12 @@ "version": "13.8.1", "description": "Angular doesn't attach styles.js to index.html with type=module in dev mode, meaning an error is written to the console. Cypress falls over on this error. Add logic to Cypress e2e projects to ignore this error.", "factory": "./src/migrations/update-13-8-1/add-cypress-mfe-workaround" + }, + "migrate-karma-config": { + "cli": "nx", + "version": "13.8.4", + "description": "Karma coverage is broken since Angular 13 upgarde and the karma config is severely out of date. Bring it up to date fixing the coverage issue.", + "factory": "./src/migrations/update-13-8-4/migrate-karma-conf" } }, "packageJsonUpdates": { @@ -1355,6 +1361,20 @@ "alwaysAddToPackageJson": false } } + }, + "13.8.4": { + "version": "13.8.4-beta.0", + "packages": { + "karma": { "version": "~6.3.0", "alwaysAddToPackageJson": false }, + "karma-jasmine-html-reporter": { + "version": "~1.7.0", + "alwaysAddToPackageJson": false + }, + "jasmine-core": { + "version": "~3.10.0", + "alwaysAddToPackageJson": false + } + } } } } diff --git a/packages/angular/src/migrations/update-13-8-4/__snapshots__/migrate-karma-conf.spec.ts.snap b/packages/angular/src/migrations/update-13-8-4/__snapshots__/migrate-karma-conf.spec.ts.snap index e14847609dfc4..99d5c268e27af 100644 --- a/packages/angular/src/migrations/update-13-8-4/__snapshots__/migrate-karma-conf.spec.ts.snap +++ b/packages/angular/src/migrations/update-13-8-4/__snapshots__/migrate-karma-conf.spec.ts.snap @@ -5,10 +5,7 @@ exports[`Migrate Karma Config should successfully migrate outdate karma setup 1` \\"name\\": \\"test-name\\", \\"dependencies\\": {}, \\"devDependencies\\": { - \\"jasmine-core\\": \\"~3.10.0\\", - \\"karma\\": \\"~6.3.0\\", - \\"karma-coverage\\": \\"~2.2.0\\", - \\"karma-jasmine-html-reporter\\": \\"~1.7.0\\" + \\"karma-coverage\\": \\"~2.2.0\\" } } " @@ -39,7 +36,7 @@ exports[`Migrate Karma Config should successfully migrate outdate karma setup 2` dir: join(__dirname, './coverage'), subdir: '.', reporters: [{ type: 'html' }, { type: 'text-summary' }], - fixWebpackSourcePaths: true, + }, reporters: ['progress', 'kjhtml'], port: 9876, diff --git a/packages/angular/src/migrations/update-13-8-4/migrate-karma-conf.ts b/packages/angular/src/migrations/update-13-8-4/migrate-karma-conf.ts index 7ccf8056b5a01..8c6cb1d1a40ee 100644 --- a/packages/angular/src/migrations/update-13-8-4/migrate-karma-conf.ts +++ b/packages/angular/src/migrations/update-13-8-4/migrate-karma-conf.ts @@ -36,10 +36,11 @@ export default async function (tree: Tree) { .replace(/coverageIstanbulReporter/g, 'coverageReporter') .replace(/karma-coverage-istanbul-reporter/, 'karma-coverage') .replace( - /reports: \['html', 'lcovonly'\]/, + /reports: \[(.+)\]/, `subdir: '.',\nreporters: [{ type: 'html' }, { type: 'text-summary' }]` ) - .replace(/'\.\.\/\.\.\/coverage'/, `'./coverage'`); + .replace(/'\.\.\/\.\.\/coverage'/, `'./coverage'`) + .replace(/fixWebpackSourcePaths: true,/, ''); tree.write(pathToRootKarmaConf, updatedKarmaContents); @@ -47,10 +48,7 @@ export default async function (tree: Tree) { tree, {}, { - karma: '~6.3.0', 'karma-coverage': '~2.2.0', - 'karma-jasmine-html-reporter': '~1.7.0', - 'jasmine-core': '~3.10.0', } );