diff --git a/tests/e2e/assets/19.0-project/package.json b/tests/e2e/assets/19.0-project/package.json deleted file mode 100644 index 7b65d66807a2..000000000000 --- a/tests/e2e/assets/19.0-project/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "nineteen-project", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/common": "^19.2.0", - "@angular/compiler": "^19.2.0", - "@angular/core": "^19.2.0", - "@angular/forms": "^19.2.0", - "@angular/platform-browser": "^19.2.0", - "@angular/platform-browser-dynamic": "^19.2.0", - "@angular/router": "^19.2.0", - "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.15.0" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^19.2.13", - "@angular/cli": "^19.2.13", - "@angular/compiler-cli": "^19.2.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.6.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.7.2" - } -} diff --git a/tests/e2e/assets/19.0-project/src/app/app.component.spec.ts b/tests/e2e/assets/19.0-project/src/app/app.component.spec.ts deleted file mode 100644 index e390fd7bd137..000000000000 --- a/tests/e2e/assets/19.0-project/src/app/app.component.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [AppComponent], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have the 'nineteen-project' title`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('nineteen-project'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, nineteen-project'); - }); -}); diff --git a/tests/e2e/assets/19.0-project/src/app/app.component.ts b/tests/e2e/assets/19.0-project/src/app/app.component.ts deleted file mode 100644 index 620c8a058372..000000000000 --- a/tests/e2e/assets/19.0-project/src/app/app.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component } from '@angular/core'; -import { RouterOutlet } from '@angular/router'; - -@Component({ - selector: 'app-root', - imports: [RouterOutlet], - templateUrl: './app.component.html', - styleUrl: './app.component.css', -}) -export class AppComponent { - title = 'nineteen-project'; -} diff --git a/tests/e2e/assets/19.0-project/src/app/app.config.ts b/tests/e2e/assets/19.0-project/src/app/app.config.ts deleted file mode 100644 index 7afc797fbab7..000000000000 --- a/tests/e2e/assets/19.0-project/src/app/app.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; -import { provideRouter } from '@angular/router'; - -import { routes } from './app.routes'; - -export const appConfig: ApplicationConfig = { - providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes)], -}; diff --git a/tests/e2e/assets/19.0-project/src/index.html b/tests/e2e/assets/19.0-project/src/index.html deleted file mode 100644 index f374b0fe3d5e..000000000000 --- a/tests/e2e/assets/19.0-project/src/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - NineteenProject - - - - - - - - diff --git a/tests/e2e/assets/19.0-project/src/main.ts b/tests/e2e/assets/19.0-project/src/main.ts deleted file mode 100644 index 17447a5dce2c..000000000000 --- a/tests/e2e/assets/19.0-project/src/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; -import { AppComponent } from './app/app.component'; - -bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err)); diff --git a/tests/e2e/assets/19.0-project/.editorconfig b/tests/e2e/assets/20.0-project/.editorconfig similarity index 100% rename from tests/e2e/assets/19.0-project/.editorconfig rename to tests/e2e/assets/20.0-project/.editorconfig diff --git a/tests/e2e/assets/19.0-project/.gitignore b/tests/e2e/assets/20.0-project/.gitignore similarity index 97% rename from tests/e2e/assets/19.0-project/.gitignore rename to tests/e2e/assets/20.0-project/.gitignore index cc7b141350ff..b1d225e26e57 100644 --- a/tests/e2e/assets/19.0-project/.gitignore +++ b/tests/e2e/assets/20.0-project/.gitignore @@ -36,6 +36,7 @@ yarn-error.log /libpeerconnection.log testem.log /typings +__screenshots__/ # System files .DS_Store diff --git a/tests/e2e/assets/20.0-project/.vscode/extensions.json b/tests/e2e/assets/20.0-project/.vscode/extensions.json new file mode 100644 index 000000000000..77b374577de8 --- /dev/null +++ b/tests/e2e/assets/20.0-project/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/tests/e2e/assets/20.0-project/.vscode/launch.json b/tests/e2e/assets/20.0-project/.vscode/launch.json new file mode 100644 index 000000000000..925af837050a --- /dev/null +++ b/tests/e2e/assets/20.0-project/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/tests/e2e/assets/20.0-project/.vscode/tasks.json b/tests/e2e/assets/20.0-project/.vscode/tasks.json new file mode 100644 index 000000000000..a298b5bd8796 --- /dev/null +++ b/tests/e2e/assets/20.0-project/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/tests/e2e/assets/19.0-project/README.md b/tests/e2e/assets/20.0-project/README.md similarity index 96% rename from tests/e2e/assets/19.0-project/README.md rename to tests/e2e/assets/20.0-project/README.md index 80d80f5a3f1f..1f4d992edb5b 100644 --- a/tests/e2e/assets/19.0-project/README.md +++ b/tests/e2e/assets/20.0-project/README.md @@ -1,6 +1,6 @@ -# NineteenProject +# TwentyProject -This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.13. +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.27. ## Development server diff --git a/tests/e2e/assets/19.0-project/angular.json b/tests/e2e/assets/20.0-project/angular.json similarity index 70% rename from tests/e2e/assets/19.0-project/angular.json rename to tests/e2e/assets/20.0-project/angular.json index b435223e9930..6c24b184adf2 100644 --- a/tests/e2e/assets/19.0-project/angular.json +++ b/tests/e2e/assets/20.0-project/angular.json @@ -3,7 +3,7 @@ "version": 1, "newProjectRoot": "projects", "projects": { - "nineteen-project": { + "twenty-project": { "projectType": "application", "schematics": {}, "root": "", @@ -11,12 +11,13 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:application", + "builder": "@angular/build:application", "options": { - "outputPath": "dist/nineteen-project", - "index": "src/index.html", + "outputPath": "dist/twenty-project", "browser": "src/main.ts", - "polyfills": ["zone.js"], + "polyfills": [ + "zone.js" + ], "tsConfig": "tsconfig.app.json", "assets": [ { @@ -24,8 +25,9 @@ "input": "public" } ], - "styles": ["src/styles.css"], - "scripts": [] + "styles": [ + "src/styles.css" + ] }, "configurations": { "production": { @@ -52,24 +54,27 @@ "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", + "builder": "@angular/build:dev-server", "configurations": { "production": { - "buildTarget": "nineteen-project:build:production" + "buildTarget": "twenty-project:build:production" }, "development": { - "buildTarget": "nineteen-project:build:development" + "buildTarget": "twenty-project:build:development" } }, "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n" + "builder": "@angular/build:extract-i18n" }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular/build:karma", "options": { - "polyfills": ["zone.js", "zone.js/testing"], + "polyfills": [ + "zone.js", + "zone.js/testing" + ], "tsConfig": "tsconfig.spec.json", "assets": [ { @@ -77,8 +82,9 @@ "input": "public" } ], - "styles": ["src/styles.css"], - "scripts": [] + "styles": [ + "src/styles.css" + ] } } } diff --git a/tests/e2e/assets/20.0-project/package.json b/tests/e2e/assets/20.0-project/package.json new file mode 100644 index 000000000000..dbbe2cd1478a --- /dev/null +++ b/tests/e2e/assets/20.0-project/package.json @@ -0,0 +1,48 @@ +{ + "name": "twenty-project", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "prettier": { + "printWidth": 100, + "singleQuote": true, + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] + }, + "private": true, + "dependencies": { + "@angular/common": "^20.3.0", + "@angular/compiler": "^20.3.0", + "@angular/core": "^20.3.0", + "@angular/forms": "^20.3.0", + "@angular/platform-browser": "^20.3.0", + "@angular/router": "^20.3.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.3.27", + "@angular/cli": "^20.3.27", + "@angular/compiler-cli": "^20.3.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.9.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.9.2" + } +} \ No newline at end of file diff --git a/tests/e2e/assets/19.0-project/public/favicon.ico b/tests/e2e/assets/20.0-project/public/favicon.ico similarity index 100% rename from tests/e2e/assets/19.0-project/public/favicon.ico rename to tests/e2e/assets/20.0-project/public/favicon.ico diff --git a/tests/e2e/assets/20.0-project/src/app/app.config.ts b/tests/e2e/assets/20.0-project/src/app/app.config.ts new file mode 100644 index 000000000000..d953f4c41b31 --- /dev/null +++ b/tests/e2e/assets/20.0-project/src/app/app.config.ts @@ -0,0 +1,12 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes) + ] +}; diff --git a/tests/e2e/assets/19.0-project/src/app/app.component.css b/tests/e2e/assets/20.0-project/src/app/app.css similarity index 100% rename from tests/e2e/assets/19.0-project/src/app/app.component.css rename to tests/e2e/assets/20.0-project/src/app/app.css diff --git a/tests/e2e/assets/19.0-project/src/app/app.component.html b/tests/e2e/assets/20.0-project/src/app/app.html similarity index 91% rename from tests/e2e/assets/19.0-project/src/app/app.component.html rename to tests/e2e/assets/20.0-project/src/app/app.html index f8135391366c..752837241913 100644 --- a/tests/e2e/assets/19.0-project/src/app/app.component.html +++ b/tests/e2e/assets/20.0-project/src/app/app.html @@ -36,18 +36,9 @@ --pill-accent: var(--bright-blue); - font-family: - 'Inter', - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Helvetica, - Arial, - sans-serif, - 'Apple Color Emoji', - 'Segoe UI Emoji', - 'Segoe UI Symbol'; + font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol"; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -60,18 +51,9 @@ line-height: 100%; letter-spacing: -0.125rem; margin: 0; - font-family: - 'Inter Tight', - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Helvetica, - Arial, - sans-serif, - 'Apple Color Emoji', - 'Segoe UI Emoji', - 'Segoe UI Symbol'; + font-family: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol"; } p { @@ -142,6 +124,7 @@ line-height: 1.4rem; letter-spacing: -0.00875rem; text-decoration: none; + white-space: nowrap; } .pill:hover { @@ -152,11 +135,15 @@ --pill-accent: var(--bright-blue); } .pill-group .pill:nth-child(6n + 2) { + --pill-accent: var(--electric-violet); + } + .pill-group .pill:nth-child(6n + 3) { --pill-accent: var(--french-violet); } - .pill-group .pill:nth-child(6n + 3), + .pill-group .pill:nth-child(6n + 4), - .pill-group .pill:nth-child(6n + 5) { + .pill-group .pill:nth-child(6n + 5), + .pill-group .pill:nth-child(6n + 6) { --pill-accent: var(--hot-red); } @@ -227,7 +214,14 @@ - + @@ -236,26 +230,26 @@ -

Hello, {{ title }}

+

Hello, {{ title() }}

Congratulations! Your app is running. 🎉

- @for ( - item of [ - { title: 'Explore the Docs', link: 'https://angular.dev' }, - { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' }, - { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' }, - { - title: 'Angular Language Service', - link: 'https://angular.dev/tools/language-service', - }, - { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' }, - ]; - track item.title - ) { - + @for (item of [ + { title: 'Explore the Docs', link: 'https://angular.dev' }, + { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' }, + { title: 'Prompt and best practices for AI', link: 'https://angular.dev/ai/develop-with-ai'}, + { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' }, + { title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' }, + { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' }, + ]; track item.title) { + {{ item.title }} Hello, {{ title }} /> - + Hello, {{ title }} + diff --git a/tests/e2e/assets/19.0-project/src/app/app.routes.ts b/tests/e2e/assets/20.0-project/src/app/app.routes.ts similarity index 100% rename from tests/e2e/assets/19.0-project/src/app/app.routes.ts rename to tests/e2e/assets/20.0-project/src/app/app.routes.ts diff --git a/tests/e2e/assets/20.0-project/src/app/app.spec.ts b/tests/e2e/assets/20.0-project/src/app/app.spec.ts new file mode 100644 index 000000000000..e2efaa52a155 --- /dev/null +++ b/tests/e2e/assets/20.0-project/src/app/app.spec.ts @@ -0,0 +1,23 @@ +import { TestBed } from '@angular/core/testing'; +import { App } from './app'; + +describe('App', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [App], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(App); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(App); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('h1')?.textContent).toContain('Hello, twenty-project'); + }); +}); diff --git a/tests/e2e/assets/20.0-project/src/app/app.ts b/tests/e2e/assets/20.0-project/src/app/app.ts new file mode 100644 index 000000000000..41950ee52c8b --- /dev/null +++ b/tests/e2e/assets/20.0-project/src/app/app.ts @@ -0,0 +1,12 @@ +import { Component, signal } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; + +@Component({ + selector: 'app-root', + imports: [RouterOutlet], + templateUrl: './app.html', + styleUrl: './app.css' +}) +export class App { + protected readonly title = signal('twenty-project'); +} diff --git a/tests/e2e/assets/20.0-project/src/index.html b/tests/e2e/assets/20.0-project/src/index.html new file mode 100644 index 000000000000..72285bc13676 --- /dev/null +++ b/tests/e2e/assets/20.0-project/src/index.html @@ -0,0 +1,13 @@ + + + + + TwentyProject + + + + + + + + diff --git a/tests/e2e/assets/20.0-project/src/main.ts b/tests/e2e/assets/20.0-project/src/main.ts new file mode 100644 index 000000000000..5df75f9c838e --- /dev/null +++ b/tests/e2e/assets/20.0-project/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/tests/e2e/assets/19.0-project/src/styles.css b/tests/e2e/assets/20.0-project/src/styles.css similarity index 100% rename from tests/e2e/assets/19.0-project/src/styles.css rename to tests/e2e/assets/20.0-project/src/styles.css diff --git a/tests/e2e/assets/19.0-project/tsconfig.app.json b/tests/e2e/assets/20.0-project/tsconfig.app.json similarity index 81% rename from tests/e2e/assets/19.0-project/tsconfig.app.json rename to tests/e2e/assets/20.0-project/tsconfig.app.json index 8886e903f8d0..264f459bf876 100644 --- a/tests/e2e/assets/19.0-project/tsconfig.app.json +++ b/tests/e2e/assets/20.0-project/tsconfig.app.json @@ -6,6 +6,10 @@ "outDir": "./out-tsc/app", "types": [] }, - "files": ["src/main.ts"], - "include": ["src/**/*.d.ts"] + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] } diff --git a/tests/e2e/assets/19.0-project/tsconfig.json b/tests/e2e/assets/20.0-project/tsconfig.json similarity index 79% rename from tests/e2e/assets/19.0-project/tsconfig.json rename to tests/e2e/assets/20.0-project/tsconfig.json index 5525117c6744..e4955f26b14b 100644 --- a/tests/e2e/assets/19.0-project/tsconfig.json +++ b/tests/e2e/assets/20.0-project/tsconfig.json @@ -3,7 +3,6 @@ { "compileOnSave": false, "compilerOptions": { - "outDir": "./dist/out-tsc", "strict": true, "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, @@ -11,17 +10,25 @@ "noFallthroughCasesInSwitch": true, "skipLibCheck": true, "isolatedModules": true, - "esModuleInterop": true, "experimentalDecorators": true, - "moduleResolution": "bundler", "importHelpers": true, "target": "ES2022", - "module": "ES2022" + "module": "preserve" }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, "strictInjectionParameters": true, "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, "strictTemplates": true - } + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] } diff --git a/tests/e2e/assets/19.0-project/tsconfig.spec.json b/tests/e2e/assets/20.0-project/tsconfig.spec.json similarity index 76% rename from tests/e2e/assets/19.0-project/tsconfig.spec.json rename to tests/e2e/assets/20.0-project/tsconfig.spec.json index e00e30e6d4fb..940b30a5fcc8 100644 --- a/tests/e2e/assets/19.0-project/tsconfig.spec.json +++ b/tests/e2e/assets/20.0-project/tsconfig.spec.json @@ -4,7 +4,12 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", - "types": ["jasmine"] + "types": [ + "jasmine" + ] }, - "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] + "include": [ + "src/**/*.d.ts", + "src/**/*.spec.ts" + ] } diff --git a/tests/e2e/tests/update/update-multiple-versions.ts b/tests/e2e/tests/update/update-multiple-versions.ts index 6fecb7b15b58..c9070b1a090b 100644 --- a/tests/e2e/tests/update/update-multiple-versions.ts +++ b/tests/e2e/tests/update/update-multiple-versions.ts @@ -7,7 +7,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { let restoreRegistry: (() => Promise) | undefined; try { - restoreRegistry = await createProjectFromAsset('19.0-project', true); + restoreRegistry = await createProjectFromAsset('20.0-project', true); await setRegistry(true); const extraArgs = ['--force']; diff --git a/tests/e2e/tests/update/update.ts b/tests/e2e/tests/update/update.ts index ae941762d6ca..fd8663503ecc 100644 --- a/tests/e2e/tests/update/update.ts +++ b/tests/e2e/tests/update/update.ts @@ -12,10 +12,10 @@ export default async function () { try { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - restoreRegistry = await createProjectFromAsset('19.0-project', true); + restoreRegistry = await createProjectFromAsset('20.0-project', true); // CLI project version - const cliMajorProjectVersion = 19; + const cliMajorProjectVersion = 20; // If using npm, enable legacy peer deps mode to avoid defects in npm 7+'s peer dependency resolution // Example error where 11.2.14 satisfies the SemVer range ^11.0.0 but still fails: @@ -72,8 +72,8 @@ export default async function () { await ng('update', '@angular/cli', ...extraUpdateArgs); // Setup testing to use CI Chrome. - await useCIChrome('nineteen-project', './'); - await useCIDefaults('nineteen-project'); + await useCIChrome('twenty-project', './'); + await useCIDefaults('twenty-project'); // Run CLI commands. await ng('generate', 'component', 'my-comp'); @@ -81,14 +81,14 @@ export default async function () { await executeBrowserTest({ configuration: 'production', - expectedTitleText: 'Hello, nineteen-project', + expectedTitleText: 'Hello, twenty-project', }); await executeBrowserTest({ configuration: 'development', - expectedTitleText: 'Hello, nineteen-project', + expectedTitleText: 'Hello, twenty-project', }); // Verify project now creates bundles await noSilentNg('build', '--configuration=production'); - await expectFileMatchToExist('dist/nineteen-project/browser', /main-[a-zA-Z0-9]{8}\.js/); + await expectFileMatchToExist('dist/twenty-project/browser', /main-[a-zA-Z0-9]{8}\.js/); }