Skip to content

Migrate apps and e2e to vitest - #36268

Open
GoodDayForSurf wants to merge 6 commits into
DevExpress:mainfrom
GoodDayForSurf:main_replaceKarma_by_vitest_e2e_apps
Open

GoodDayForSurf wants to merge 6 commits into
DevExpress:mainfrom
GoodDayForSurf:main_replaceKarma_by_vitest_e2e_apps

Conversation

@GoodDayForSurf

@GoodDayForSurf GoodDayForSurf commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Removes the remaining Karma/Jasmine usage outside of devextreme-angular.

  • apps/angular: unit tests switch from the Karma builder to the Angular unit-test builder with the Vitest runner.
  • e2e/wrappers: the unused Karma test target and its dependencies are removed.

How

apps/angular:

  • Builders are switched from @angular-devkit/build-angular to @angular/build (application, dev-server, unit-test).
  • A test build configuration is added (no optimization, source maps, JIT) and used as the buildTarget of the test target. Tests run in ChromiumHeadless.
  • karma.conf.js and src/test.ts are deleted; tsconfig.spec.json uses vitest/globals types instead of jasmine.
  • vitest, @vitest/browser-playwright and playwright are added; @types/jasmine is removed.

e2e/wrappers:

  • The test target is removed from builders/angular/angular.json together with tsconfig.spec.json.
  • Karma, Jasmine and @types/jasmine devDependencies are removed.

Workspace:

  • @angular/build is added to the angular catalog and playwright to the default catalog.

@GoodDayForSurf GoodDayForSurf self-assigned this Nov 12, 2026
@GoodDayForSurf GoodDayForSurf changed the title use vitest for testing. remove karma from apps and e2e Migrate apps and e2e to vitest Nov 12, 2026
@GoodDayForSurf
GoodDayForSurf marked this pull request as ready for review November 13, 2026 11:54
Copilot AI balanced review requested due to automatic review settings November 13, 2026 11:54
@GoodDayForSurf
GoodDayForSurf requested a review from a team November 13, 2026 11:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The Angular builder and browser-test migration needs build and Chromium-backed test validation, but unavailable dependencies and the playground’s exclusion from default CI tests leave runtime compatibility unverified.

No open issues 🎉

1 file not reviewed
  • pnpm-lock.yaml: Generated file
What changed in this PR

Migrates the Angular sandbox’s unit tests from Karma/Jasmine to Vitest with Playwright-backed Chromium, and removes legacy Karma test configuration from the wrapper end-to-end harness.

Changes:

  • Switches the Angular sandbox to @angular/build and its Vitest test runner.
  • Removes obsolete Karma/Jasmine dependencies, configuration, and test bootstrap files.
  • Updates workspace dependency records, test typings, and Angular cache ignores.
File Description
pnpm-workspace.yaml Adds shared Playwright and Angular build dependencies.
pnpm-lock.yaml Records the updated test tooling dependency graph.
e2e/​wrappers/​package.json Removes Karma/Jasmine dependencies.
e2e/​wrappers/​builders/​angular/​tsconfig.spec.json Deletes the Jasmine test TypeScript configuration.
e2e/​wrappers/​builders/​angular/​angular.json Removes the Karma test target.
apps/​angular/​tsconfig.spec.json Configures Vitest globals and removes the old bootstrap reference.
apps/​angular/​src/​tsconfig.app.json Removes the exclusion for the deleted test bootstrap.
apps/​angular/​src/​test.ts Deletes the Karma test bootstrap.
apps/​angular/​package.json Adds Vitest, Playwright, and @angular/build.
apps/​angular/​karma.conf.js Deletes the Karma runner configuration.
apps/​angular/​angular.json Configures Angular build targets and headless Vitest tests.
apps/​angular/​.gitignore Ignores the Angular cache directory.

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 13, 2026 13:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The Angular test runner resolves to Vite 8.3.4, which falls outside Vitest and its mocker’s declared ^7.3.7 peer range, leaving a required dependency incompatibility.

1 open issue
1 file not reviewed
  • pnpm-lock.yaml: Generated file

Review effort: Balanced

Comment thread apps/angular/package.json Resolved
@GoodDayForSurf
GoodDayForSurf added this pull request to the merge queue Nov 13, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 13, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants