Skip to content

Angular 21 Upgrade & Playwright Support#41

Merged
wlucha merged 9 commits intomasterfrom
ng-21-upgrade
Feb 21, 2026
Merged

Angular 21 Upgrade & Playwright Support#41
wlucha merged 9 commits intomasterfrom
ng-21-upgrade

Conversation

@wlucha
Copy link
Copy Markdown
Owner

@wlucha wlucha commented Feb 21, 2026

Summary

Major upgrade of the Angular Starter project from Angular 20 to Angular 21, along with a full modernization of the development tooling stack.

Angular 21 Migration

  • Upgraded all @angular/* core packages, CLI, and Material to v21
  • Bumped TypeScript to 5.9.3 (required by Angular 21)
  • Updated @angular-eslint schematics and plugins to v21

Storybook v10

  • Upgraded Storybook from v8 to v10.2.10
  • Removed obsolete v8 addon packages (@storybook/addon-essentials, @storybook/blocks, etc.) that are no longer needed in v10
  • Aligned @storybook/angular and eslint-plugin-storybook to v10

Cypress → Playwright Migration

  • Removed Cypress and @cypress/schematic entirely
  • Added @playwright/test with Chromium, Firefox, and WebKit browser support
  • Created playwright.config.ts with auto-start of the Angular dev server
  • Migrated E2E test to Playwright syntax (tests/app.spec.ts)
  • npm run e2e now runs Playwright across all 3 browser engines ✅

DevDependencies Upgraded to Latest

  • ESLint → v10 (with @eslint/js and @eslint/eslintrc as explicit deps)
  • Jest → v30, jest-preset-angular → v16
  • @commitlint → v20, @babel/core → v7.29, babel-loader → v10
  • prettier → v3.8, @types/node → v25, @jsverse/transloco → v8
  • tailwindcss & @tailwindcss/postcss → v4.2

Dependency Resolution

  • Added .npmrc with legacy-peer-deps=true to handle ESLint v10 peer dependency conflicts with @angular-eslint (which hasn't updated its peer range yet)
  • Added overrides in package.json for @typescript-eslint/* TypeScript version compatibility
  • Added transformIgnorePatterns to Jest config for @jsverse ESM module support
  • Updated husky prepare script from deprecated husky install to husky

Verification

  • npm run build:prod — production build passes
  • npm run test:ci — all unit tests pass
  • npm run lint — linting passes (ESLint 10)
  • npm run e2e — 3/3 Playwright E2E tests pass (Chromium, Firefox, WebKit)

Resolves #37 & #40

@wlucha wlucha added the dependencies Pull requests that update a dependency file label Feb 21, 2026
@wlucha wlucha changed the title Angular 21 Upgrade Angular 21 Upgrade & Playwright Support Feb 21, 2026
@wlucha wlucha merged commit 5f428a5 into master Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Playwright Support

1 participant