From 1f47fe5be8934eeaa48fdaf0f46c82c6cfc59b06 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 23 Nov 2021 13:55:07 +0100 Subject: [PATCH 1/2] fix(@schematics/angular): change `karma-jasmine-html-reporter` dependency to use tilde Older versions of `karma-jasmine-html-reporter` require `jasmine-core@>=3.8` which causes unmet peer dependencies errors when using NPM 7+ Closes #22217 --- .../schematics/angular/workspace/files/package.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/workspace/files/package.json.template b/packages/schematics/angular/workspace/files/package.json.template index b8537fd0aa33..008ef449e253 100644 --- a/packages/schematics/angular/workspace/files/package.json.template +++ b/packages/schematics/angular/workspace/files/package.json.template @@ -35,7 +35,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", + "karma-jasmine-html-reporter": "~1.5.0", "protractor": "~7.0.0",<% } %> "ts-node": "~8.3.0", "tslint": "~6.1.0", From 4343c552ad413ad671a1a814c284de28ea257bd3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 23 Nov 2021 15:04:58 +0100 Subject: [PATCH 2/2] test(@angular/cli): fix failing LTS e2e tests --- .../e2e/assets/webpack/test-app/package.json | 18 +++++----- tests/legacy-cli/e2e/tests/build/material.ts | 2 +- .../e2e/tests/commands/add/add-pwa-yarn.ts | 35 ++++++++++--------- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json index f51413216fd4..dfb0b2539d73 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json @@ -2,14 +2,14 @@ "name": "test", "license": "MIT", "dependencies": { - "@angular/common": "9.0.0", - "@angular/compiler": "9.0.0", - "@angular/compiler-cli": "9.0.0", - "@angular/core": "9.0.0", - "@angular/platform-browser": "9.0.0", - "@angular/platform-browser-dynamic": "9.0.0", - "@angular/platform-server": "9.0.0", - "@angular/router": "9.0.0", + "@angular/common": "^10.0.0", + "@angular/compiler": "^10.0.0", + "@angular/compiler-cli": "^10.0.0", + "@angular/core": "^10.0.0", + "@angular/platform-browser": "^10.0.0", + "@angular/platform-browser-dynamic": "^10.0.0", + "@angular/platform-server": "^10.0.0", + "@angular/router": "^10.0.0", "@ngtools/webpack": "0.0.0", "core-js": "^3.0.0", "rxjs": "^6.4.0", @@ -20,7 +20,7 @@ "performance-now": "^0.2.0", "raw-loader": "^0.5.1", "sass-loader": "^6.0.0", - "typescript": "~3.6.4", + "typescript": "~4.0.2", "webpack": "~4.0.1", "webpack-cli": "~2.0.9" } diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 3719bc4eab42..f29c1c3e7db9 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -27,7 +27,7 @@ export default async function () { await silentNpm('install'); } else { - await silentNpm('install', '@angular/material-moment-adapter'); + await silentNpm('install', '@angular/material-moment-adapter@10'); } await silentNpm('install', 'moment'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-pwa-yarn.ts b/tests/legacy-cli/e2e/tests/commands/add/add-pwa-yarn.ts index 44f3ac239e8e..432b6c7a1e28 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-pwa-yarn.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-pwa-yarn.ts @@ -3,23 +3,26 @@ import { expectFileToExist, readFile, rimraf } from '../../../utils/fs'; import { ng, npm } from '../../../utils/process'; export default async function () { - // forcibly remove in case another test doesn't clean itself up - await rimraf('node_modules/@angular/pwa'); + // forcibly remove in case another test doesn't clean itself up + await rimraf('node_modules/@angular/pwa'); - // set yarn as package manager - await ng('config', 'cli.packageManager', 'yarn'); - await ng('add', '@angular/pwa'); - await expectFileToExist(join(process.cwd(), 'src/manifest.webmanifest')); + // set yarn as package manager + await ng('config', 'cli.packageManager', 'yarn'); + await ng('add', '@angular/pwa', '--registry=http://localhost:4873'); + await expectFileToExist(join(process.cwd(), 'src/manifest.webmanifest')); - // Angular PWA doesn't install as a dependency - const { dependencies, devDependencies } = JSON.parse(await readFile(join(process.cwd(), 'package.json'))); - const hasPWADep = Object.keys({ ...dependencies, ...devDependencies }) - .some(d => d === '@angular/pwa'); - if (hasPWADep) { - throw new Error(`Expected 'package.json' not to contain a dependency on '@angular/pwa'.`); - } + // Angular PWA doesn't install as a dependency + const { dependencies, devDependencies } = JSON.parse( + await readFile(join(process.cwd(), 'package.json')), + ); + const hasPWADep = Object.keys({ ...dependencies, ...devDependencies }).some( + (d) => d === '@angular/pwa', + ); + if (hasPWADep) { + throw new Error(`Expected 'package.json' not to contain a dependency on '@angular/pwa'.`); + } - // 'yarn' will nuke the entire node_modules when it is triggered during the above tests. - await rimraf('node_modules'); - await npm('install'); + // 'yarn' will nuke the entire node_modules when it is triggered during the above tests. + await rimraf('node_modules'); + await npm('install'); }