diff --git a/examples/app-vitest-browser/package.json b/examples/app-vitest-browser/package.json index 6129e5dee..970389cb2 100644 --- a/examples/app-vitest-browser/package.json +++ b/examples/app-vitest-browser/package.json @@ -12,11 +12,12 @@ }, "devDependencies": { "@nuxt/test-utils": "latest", - "@vitest/browser": "3.2.4", + "@vitest/browser": "4.0.16", + "@vitest/browser-playwright": "4.0.16", "@vue/test-utils": "2.4.6", "nuxt": "4.2.2", "typescript": "5.9.3", - "vitest": "3.2.4", - "vitest-browser-vue": "1.1.0" + "vitest": "4.0.16", + "vitest-browser-vue": "2.0.1" } } diff --git a/examples/app-vitest-browser/vitest.config.ts b/examples/app-vitest-browser/vitest.config.ts index 332b05bd7..f463fed8c 100644 --- a/examples/app-vitest-browser/vitest.config.ts +++ b/examples/app-vitest-browser/vitest.config.ts @@ -1,10 +1,11 @@ import { defineVitestConfig } from '@nuxt/test-utils/config' +import { playwright } from '@vitest/browser-playwright' export default defineVitestConfig({ test: { browser: { enabled: true, - provider: 'playwright', + provider: playwright(), instances: [{ browser: 'chromium' }], }, environment: 'nuxt', diff --git a/examples/app-vitest-full/package.json b/examples/app-vitest-full/package.json index 8b3c954f9..912c37431 100644 --- a/examples/app-vitest-full/package.json +++ b/examples/app-vitest-full/package.json @@ -18,13 +18,13 @@ "devDependencies": { "@nuxt/test-utils": "latest", "@testing-library/vue": "8.1.0", - "@vitest/ui": "3.2.4", + "@vitest/ui": "4.0.16", "happy-dom": "20.0.11", "jsdom": "27.4.0", "listhen": "1.9.0", "nuxt": "4.2.2", "typescript": "5.9.3", - "vitest": "3.2.4", + "vitest": "4.0.16", "vue-tsc": "3.2.2" }, "dependencies": { diff --git a/examples/app-vitest-workspace/package.json b/examples/app-vitest-workspace/package.json index 91fe19eee..5b7366ad3 100644 --- a/examples/app-vitest-workspace/package.json +++ b/examples/app-vitest-workspace/package.json @@ -18,6 +18,6 @@ "happy-dom": "20.0.11", "playwright-core": "1.57.0", "typescript": "5.9.3", - "vitest": "3.2.4" + "vitest": "4.0.16" } } diff --git a/examples/app-vitest/package.json b/examples/app-vitest/package.json index 6ec756392..49916a45f 100644 --- a/examples/app-vitest/package.json +++ b/examples/app-vitest/package.json @@ -19,6 +19,6 @@ "playwright-core": "1.57.0", "tinyglobby": "0.2.15", "typescript": "5.9.3", - "vitest": "3.2.4" + "vitest": "4.0.16" } } diff --git a/examples/content/package.json b/examples/content/package.json index a967acea7..22d2ee2e7 100644 --- a/examples/content/package.json +++ b/examples/content/package.json @@ -15,10 +15,11 @@ "devDependencies": { "@nuxt/content": "3.10.0", "@nuxt/test-utils": "latest", - "@vitest/browser": "3.2.4", + "@vitest/browser": "4.0.16", + "@vitest/browser-playwright": "4.0.16", "better-sqlite3": "12.5.0", "nuxt": "4.2.2", - "vitest": "3.2.4", - "vitest-browser-vue": "1.1.0" + "vitest": "4.0.16", + "vitest-browser-vue": "2.0.1" } } diff --git a/examples/content/vitest.config.ts b/examples/content/vitest.config.ts index 88ec45b06..1899d91d3 100644 --- a/examples/content/vitest.config.ts +++ b/examples/content/vitest.config.ts @@ -1,10 +1,11 @@ import { defineVitestConfig } from '@nuxt/test-utils/config' +import { playwright } from '@vitest/browser-playwright' const browserConfig = { browser: { enabled: true, - provider: 'playwright', - instances: [{ browser: 'chromium' }], + provider: playwright(), + instances: [{ browser: 'chromium' as const }], }, environment: 'nuxt', include: ['tests/browser/**/*.spec.ts'], diff --git a/examples/i18n/package.json b/examples/i18n/package.json index 75ea579fb..172658429 100644 --- a/examples/i18n/package.json +++ b/examples/i18n/package.json @@ -14,6 +14,6 @@ "@nuxt/test-utils": "latest", "@nuxtjs/i18n": "10.2.1", "nuxt": "4.2.2", - "vitest": "3.2.4" + "vitest": "4.0.16" } } diff --git a/examples/module/package.json b/examples/module/package.json index 226755ac2..a90a3ed00 100644 --- a/examples/module/package.json +++ b/examples/module/package.json @@ -37,6 +37,6 @@ "@nuxt/module-builder": "1.0.2", "@nuxt/test-utils": "latest", "nuxt": "4.2.2", - "vitest": "3.2.4" + "vitest": "4.0.16" } } diff --git a/examples/nitro-v3/package.json b/examples/nitro-v3/package.json index 632fb5947..ebc2c6ab3 100644 --- a/examples/nitro-v3/package.json +++ b/examples/nitro-v3/package.json @@ -21,6 +21,6 @@ "playwright-core": "1.57.0", "tinyglobby": "0.2.15", "typescript": "5.9.3", - "vitest": "3.2.4" + "vitest": "4.0.16" } } diff --git a/examples/nuxt-ui/package.json b/examples/nuxt-ui/package.json index 3eefe5119..525c6d56c 100644 --- a/examples/nuxt-ui/package.json +++ b/examples/nuxt-ui/package.json @@ -16,10 +16,11 @@ "devDependencies": { "@nuxt/test-utils": "latest", "@nuxt/ui": "4.3.0", - "@vitest/browser": "3.2.4", + "@vitest/browser": "4.0.16", + "@vitest/browser-playwright": "4.0.16", "nuxt": "4.2.2", "tailwindcss": "4.1.18", - "vitest": "3.2.4", - "vitest-browser-vue": "1.1.0" + "vitest": "4.0.16", + "vitest-browser-vue": "2.0.1" } } diff --git a/examples/nuxt-ui/vitest.config.ts b/examples/nuxt-ui/vitest.config.ts index 88ec45b06..1899d91d3 100644 --- a/examples/nuxt-ui/vitest.config.ts +++ b/examples/nuxt-ui/vitest.config.ts @@ -1,10 +1,11 @@ import { defineVitestConfig } from '@nuxt/test-utils/config' +import { playwright } from '@vitest/browser-playwright' const browserConfig = { browser: { enabled: true, - provider: 'playwright', - instances: [{ browser: 'chromium' }], + provider: playwright(), + instances: [{ browser: 'chromium' as const }], }, environment: 'nuxt', include: ['tests/browser/**/*.spec.ts'], diff --git a/package.json b/package.json index d9d714f22..74604c720 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "unbuild": "latest", "unimport": "5.6.0", "vite": "7.3.0", - "vitest": "3.2.4", + "vitest": "4.0.16", "vue-router": "4.6.4", "vue-tsc": "3.2.2" }, @@ -140,7 +140,7 @@ "happy-dom": "*", "jsdom": "*", "playwright-core": "^1.43.1", - "vitest": "^3.2.0" + "vitest": "^4.0.2" }, "peerDependenciesMeta": { "@cucumber/cucumber": { @@ -183,7 +183,7 @@ "rollup": "4.55.1", "vite": "7.3.0", "vite-node": "5.2.0", - "vitest": "3.2.4", + "vitest": "4.0.16", "vue": "^3.5.26" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 057ff5897..5b9d09587 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: rollup: 4.55.1 vite: 7.3.0 vite-node: 5.2.0 - vitest: 3.2.4 + vitest: 4.0.16 vue: ^3.5.26 patchedDependencies: @@ -154,7 +154,7 @@ importers: version: 7.7.1 '@vitest/browser-playwright': specifier: 4.0.16 - version: 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) + version: 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 @@ -207,8 +207,8 @@ importers: specifier: 7.3.0 version: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vue-router: specifier: 4.6.4 version: 4.6.4(vue@3.5.26(typescript@5.9.3)) @@ -317,8 +317,8 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) examples/app-vitest-browser: devDependencies: @@ -326,8 +326,11 @@ importers: specifier: workspace:* version: link:../.. '@vitest/browser': - specifier: 3.2.4 - version: 3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) + specifier: 4.0.16 + version: 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) + '@vitest/browser-playwright': + specifier: 4.0.16 + version: 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 @@ -338,11 +341,11 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vitest-browser-vue: - specifier: 1.1.0 - version: 1.1.0(@vitest/browser@3.2.4)(vitest@3.2.4)(vue@3.5.26(typescript@5.9.3)) + specifier: 2.0.1 + version: 2.0.1(vitest@4.0.16)(vue@3.5.26(typescript@5.9.3)) examples/app-vitest-full: dependencies: @@ -357,8 +360,8 @@ importers: specifier: 8.1.0 version: 8.1.0(@vue/compiler-sfc@3.5.26)(vue@3.5.26(typescript@5.9.3)) '@vitest/ui': - specifier: 3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: 4.0.16 + version: 4.0.16(vitest@4.0.16) happy-dom: specifier: 20.0.11 version: 20.0.11 @@ -375,8 +378,8 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vue-tsc: specifier: 3.2.2 version: 3.2.2(typescript@5.9.3) @@ -400,8 +403,8 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) examples/content: devDependencies: @@ -412,8 +415,11 @@ importers: specifier: workspace:* version: link:../.. '@vitest/browser': - specifier: 3.2.4 - version: 3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) + specifier: 4.0.16 + version: 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) + '@vitest/browser-playwright': + specifier: 4.0.16 + version: 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) better-sqlite3: specifier: 12.5.0 version: 12.5.0 @@ -421,11 +427,11 @@ importers: specifier: 4.2.2 version: 4.2.2(@parcel/watcher@2.5.1)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(better-sqlite3@12.5.0)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.5.0))(eslint@9.39.2(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.55.1)(terser@5.44.1)(typescript@5.9.3)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3))(yaml@2.8.2) vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vitest-browser-vue: - specifier: 1.1.0 - version: 1.1.0(@vitest/browser@3.2.4)(vitest@3.2.4)(vue@3.5.26(typescript@5.9.3)) + specifier: 2.0.1 + version: 2.0.1(vitest@4.0.16)(vue@3.5.26(typescript@5.9.3)) examples/i18n: devDependencies: @@ -439,8 +445,8 @@ importers: specifier: 4.2.2 version: 4.2.2(@parcel/watcher@2.5.1)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(better-sqlite3@12.5.0)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.5.0))(eslint@9.39.2(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.55.1)(terser@5.44.1)(typescript@5.9.3)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3))(yaml@2.8.2) vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) examples/module: dependencies: @@ -458,8 +464,8 @@ importers: specifier: 4.2.2 version: 4.2.2(@parcel/watcher@2.5.1)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(better-sqlite3@12.5.0)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.5.0))(eslint@9.39.2(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.55.1)(terser@5.44.1)(typescript@5.9.3)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3))(yaml@2.8.2) vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) examples/module/playground: dependencies: @@ -481,7 +487,7 @@ importers: version: 2.0.1-rc.7(crossws@0.4.1(srvx@0.9.8)) nitro: specifier: https://pkg.pr.new/nitrojs/nitro@00598a8 - version: https://pkg.pr.new/nitrojs/nitro@00598a8(better-sqlite3@12.5.0)(chokidar@5.0.0)(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(rollup@4.55.1)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) + version: https://pkg.pr.new/nitrojs/nitro@00598a8(better-sqlite3@12.5.0)(chokidar@4.0.3)(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(rollup@4.55.1)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) nuxt: specifier: https://pkg.pr.new/nuxt@33005 version: https://pkg.pr.new/nuxt@33005(@parcel/watcher@2.5.1)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(better-sqlite3@12.5.0)(cac@6.7.14)(crossws@0.4.1(srvx@0.9.8))(db0@0.3.4(better-sqlite3@12.5.0))(eslint@9.39.2(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(lightningcss@1.30.2)(lru-cache@11.2.4)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.55.1)(terser@5.44.1)(typescript@5.9.3)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3))(yaml@2.8.2) @@ -502,8 +508,8 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) examples/nuxt-ui: devDependencies: @@ -514,8 +520,11 @@ importers: specifier: 4.3.0 version: 4.3.0(3ce9f6fdbae52a574ab63062a4335dc9) '@vitest/browser': - specifier: 3.2.4 - version: 3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) + specifier: 4.0.16 + version: 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) + '@vitest/browser-playwright': + specifier: 4.0.16 + version: 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) nuxt: specifier: 4.2.2 version: 4.2.2(@parcel/watcher@2.5.1)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(better-sqlite3@12.5.0)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.5.0))(eslint@9.39.2(jiti@2.6.1))(idb-keyval@6.2.2)(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rollup@4.55.1)(terser@5.44.1)(typescript@5.9.3)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3))(yaml@2.8.2) @@ -523,11 +532,11 @@ importers: specifier: 4.1.18 version: 4.1.18 vitest: - specifier: 3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.16 + version: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vitest-browser-vue: - specifier: 1.1.0 - version: 1.1.0(@vitest/browser@3.2.4)(vitest@3.2.4)(vue@3.5.26(typescript@5.9.3)) + specifier: 2.0.1 + version: 2.0.1(vitest@4.0.16)(vue@3.5.26(typescript@5.9.3)) stubs/vitest-environment-nuxt: dependencies: @@ -1592,9 +1601,6 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.1.0': - resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} - '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} @@ -3329,20 +3335,10 @@ packages: resolution: {integrity: sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==} engines: {node: '>=14'} - '@testing-library/dom@10.4.1': - resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} - engines: {node: '>=18'} - '@testing-library/dom@9.3.4': resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} - '@testing-library/user-event@14.6.1': - resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' - '@testing-library/vue@8.1.0': resolution: {integrity: sha512-ls4RiHO1ta4mxqqajWRh8158uFObVrrtAPoxk7cIp4HrnQUj/ScKzqz53HxYpG3X6Zb7H2v+0eTGLSoy8HQ2nA==} engines: {node: '>=14'} @@ -3885,41 +3881,15 @@ packages: resolution: {integrity: sha512-I2Fy/ANdphi1yI46d15o0M1M4M0UJrUiVKkH5oKeRZZCdPg0fw/cfTKZzv9Ge9eobtJYp4BGblMzXdXH0vcl5g==} peerDependencies: playwright: '*' - vitest: 3.2.4 - - '@vitest/browser@3.2.4': - resolution: {integrity: sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==} - peerDependencies: - playwright: '*' - safaridriver: '*' - vitest: 3.2.4 - webdriverio: ^7.0.0 || ^8.0.0 || ^9.0.0 - peerDependenciesMeta: - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true + vitest: 4.0.16 '@vitest/browser@4.0.16': resolution: {integrity: sha512-t4toy8X/YTnjYEPoY0pbDBg3EvDPg1elCDrfc+VupPHwoN/5/FNQ8Z+xBYIaEnOE2vVEyKwqYBzZ9h9rJtZVcg==} peerDependencies: - vitest: 3.2.4 + vitest: 4.0.16 - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} - peerDependencies: - msw: ^2.4.9 - vite: 7.3.0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true + '@vitest/expect@4.0.16': + resolution: {integrity: sha512-eshqULT2It7McaJkQGLkPjPjNph+uevROGuIMJdG3V+0BSR2w9u6J9Lwu+E8cK5TETlfou8GRijhafIMhXsimA==} '@vitest/mocker@4.0.16': resolution: {integrity: sha512-yb6k4AZxJTB+q9ycAvsoxGn+j/po0UaPgajllBgt1PzoMAAmJGYFdDk0uCcRcxb3BrME34I6u8gHZTQlkqSZpg==} @@ -3932,31 +3902,22 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/pretty-format@4.0.16': resolution: {integrity: sha512-eNCYNsSty9xJKi/UdVD8Ou16alu7AYiS2fCPRs0b1OdhJiV89buAXQLpTbe+X8V9L6qrs9CqyvU7OaAopJYPsA==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/runner@4.0.16': + resolution: {integrity: sha512-VWEDm5Wv9xEo80ctjORcTQRJ539EGPB3Pb9ApvVRAY1U/WkHXmmYISqU5E79uCwcW7xYUV38gwZD+RV755fu3Q==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/snapshot@4.0.16': + resolution: {integrity: sha512-sf6NcrYhYBsSYefxnry+DR8n3UV4xWZwWxYbCJUt2YdvtqzSPR7VfGrY0zsv090DAbjFZsi7ZaMi1KnSRyK1XA==} '@vitest/spy@4.0.16': resolution: {integrity: sha512-4jIOWjKP0ZUaEmJm00E0cOBLU+5WE0BpeNr3XN6TEF05ltro6NJqHWxXD0kA8/Zc8Nh23AT8WQxwNG+WeROupw==} - '@vitest/ui@3.2.4': - resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} + '@vitest/ui@4.0.16': + resolution: {integrity: sha512-rkoPH+RqWopVxDnCBE/ysIdfQ2A7j1eDmW8tCxxrR9nnFBa9jKf86VgsSAzxBd1x+ny0GC4JgiD3SNfRHv3pOg==} peerDependencies: - vitest: 3.2.4 - - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + vitest: 4.0.16 '@vitest/utils@4.0.16': resolution: {integrity: sha512-h8z9yYhV3e1LEfaQ3zdypIrnAg/9hguReGZoS7Gl0aBG5xgA410zBqECqmaF/+RkTggRsfnzc1XaAHA6bmUufA==} @@ -4257,9 +4218,6 @@ packages: aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -4479,8 +4437,8 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@5.3.3: - resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} chalk@4.1.2: @@ -4514,10 +4472,6 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -4826,10 +4780,6 @@ packages: babel-plugin-macros: optional: true - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -6455,9 +6405,6 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - loupe@3.2.1: - resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -7216,10 +7163,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.1: - resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} - engines: {node: '>= 14.16'} - perfect-debounce@2.0.0: resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} @@ -8280,9 +8223,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyexec@1.0.2: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} @@ -8291,22 +8231,10 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - tinyrainbow@3.0.3: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} - tinyspy@4.0.4: - resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} - engines: {node: '>=14.0.0'} - tldts-core@7.0.19: resolution: {integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==} @@ -8955,37 +8883,41 @@ packages: yaml: optional: true - vitest-browser-vue@1.1.0: - resolution: {integrity: sha512-zeMJ0fXRmvG225dXx4sMf5rb7vQC4OCRK7tuVRPCca4x93e2E7VRuPiKSwHRWDvCQQoA3VV09mJPO0xGm9VEEA==} - engines: {node: ^18.0.0 || >=20.0.0} + vitest-browser-vue@2.0.1: + resolution: {integrity: sha512-IfTJY3Olr27AXCVAhOqx4g5iUgzdWLmYr40svg7rOrunjsqc9trrzi/eI3i11+UYddbKXu3HJl2bo8o8lqKm4A==} peerDependencies: - '@vitest/browser': ^2.1.0 || ^3.0.0 || ^4.0.0-0 - vitest: 3.2.4 + vitest: 4.0.16 vue: ^3.5.26 vitest-environment-nuxt@1.0.1: resolution: {integrity: sha512-eBCwtIQriXW5/M49FjqNKfnlJYlG2LWMSNFsRVKomc8CaMqmhQPBS5LZ9DlgYL9T8xIVsiA6RZn2lk7vxov3Ow==} - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.0.16: + resolution: {integrity: sha512-E4t7DJ9pESL6E3I8nFjPa4xGUd3PmiWDLsDztS2qXSJWfHtbQnwAWylaBvSNY48I3vr8PTqIZlyK8TE3V3CA4Q==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 + '@opentelemetry/api': ^1.9.0 '@types/node': 24.10.4 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@vitest/browser-playwright': 4.0.16 + '@vitest/browser-preview': 4.0.16 + '@vitest/browser-webdriverio': 4.0.16 + '@vitest/ui': 4.0.16 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': optional: true '@vitest/ui': optional: true @@ -10445,13 +10377,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.0': - dependencies: - '@emnapi/core': 1.7.1 - '@emnapi/runtime': 1.7.1 - '@tybys/wasm-util': 0.10.1 - optional: true - '@napi-rs/wasm-runtime@1.1.1': dependencies: '@emnapi/core': 1.7.1 @@ -11508,7 +11433,7 @@ snapshots: '@oxc-minify/binding-wasm32-wasi@0.103.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@oxc-minify/binding-win32-arm64-msvc@0.102.0': @@ -11696,7 +11621,7 @@ snapshots: '@oxc-parser/binding-wasm32-wasi@0.95.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@oxc-parser/binding-win32-arm64-msvc@0.102.0': @@ -11784,7 +11709,7 @@ snapshots: '@oxc-resolver/binding-wasm32-wasi@11.15.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@oxc-resolver/binding-win32-arm64-msvc@11.15.0': @@ -11911,12 +11836,12 @@ snapshots: '@oxc-transform/binding-wasm32-wasi@0.103.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@oxc-transform/binding-wasm32-wasi@0.95.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true '@oxc-transform/binding-win32-arm64-msvc@0.102.0': @@ -12359,17 +12284,6 @@ snapshots: '@teppeis/multimaps@3.0.0': {} - '@testing-library/dom@10.4.1': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.28.4 - '@types/aria-query': 5.0.4 - aria-query: 5.3.0 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - picocolors: 1.1.1 - pretty-format: 27.5.1 - '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.27.1 @@ -12381,10 +12295,6 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': - dependencies: - '@testing-library/dom': 10.4.1 - '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.26)(vue@3.5.26(typescript@5.9.3))': dependencies: '@babel/runtime': 7.28.4 @@ -12952,39 +12862,20 @@ snapshots: vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vue: 3.5.26(typescript@5.9.3) - '@vitest/browser-playwright@4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4)': + '@vitest/browser-playwright@4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16)': dependencies: - '@vitest/browser': 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) + '@vitest/browser': 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) '@vitest/mocker': 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) playwright: 1.57.0 tinyrainbow: 3.0.3 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) - transitivePeerDependencies: - - bufferutil - - msw - - utf-8-validate - - vite - - '@vitest/browser@3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4)': - dependencies: - '@testing-library/dom': 10.4.1 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.4(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) - '@vitest/utils': 3.2.4 - magic-string: 0.30.21 - sirv: 3.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) - ws: 8.18.3 - optionalDependencies: - playwright: 1.57.0 + vitest: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4)': + '@vitest/browser@4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16)': dependencies: '@vitest/mocker': 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) '@vitest/utils': 4.0.16 @@ -12993,7 +12884,7 @@ snapshots: pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.0.3 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + vitest: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) ws: 8.18.3 transitivePeerDependencies: - bufferutil @@ -13001,21 +12892,14 @@ snapshots: - utf-8-validate - vite - '@vitest/expect@3.2.4': + '@vitest/expect@4.0.16': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - tinyrainbow: 2.0.0 - - '@vitest/mocker@3.2.4(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + '@vitest/spy': 4.0.16 + '@vitest/utils': 4.0.16 + chai: 6.2.2 + tinyrainbow: 3.0.3 '@vitest/mocker@4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))': dependencies: @@ -13025,48 +12909,33 @@ snapshots: optionalDependencies: vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) - '@vitest/pretty-format@3.2.4': - dependencies: - tinyrainbow: 2.0.0 - '@vitest/pretty-format@4.0.16': dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@3.2.4': + '@vitest/runner@4.0.16': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.0.16 pathe: 2.0.3 - strip-literal: 3.1.0 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@4.0.16': dependencies: - '@vitest/pretty-format': 3.2.4 + '@vitest/pretty-format': 4.0.16 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.4': - dependencies: - tinyspy: 4.0.4 - '@vitest/spy@4.0.16': {} - '@vitest/ui@3.2.4(vitest@3.2.4)': + '@vitest/ui@4.0.16(vitest@4.0.16)': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.0.16 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.2 tinyglobby: 0.2.15 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) - - '@vitest/utils@3.2.4': - dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.1 - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 + vitest: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) '@vitest/utils@4.0.16': dependencies: @@ -13417,10 +13286,6 @@ snapshots: dependencies: deep-equal: 2.2.3 - aria-query@5.3.0: - dependencies: - dequal: 2.0.3 - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -13672,13 +13537,7 @@ snapshots: ccount@2.0.1: {} - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 + chai@6.2.2: {} chalk@4.1.2: dependencies: @@ -13717,8 +13576,6 @@ snapshots: character-reference-invalid@2.0.1: {} - check-error@2.1.1: {} - chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -13993,8 +13850,6 @@ snapshots: dedent@1.7.0: {} - deep-eql@5.0.2: {} - deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.2 @@ -16022,8 +15877,6 @@ snapshots: longest-streak@3.1.0: {} - loupe@3.2.1: {} - lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -16543,6 +16396,53 @@ snapshots: neo-async@2.6.2: {} + nitro@https://pkg.pr.new/nitrojs/nitro@00598a8(better-sqlite3@12.5.0)(chokidar@4.0.3)(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(rollup@4.55.1)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)): + dependencies: + consola: 3.4.2 + crossws: 0.4.1(srvx@0.9.8) + db0: 0.3.4(better-sqlite3@12.5.0) + h3: 2.0.1-rc.7(crossws@0.4.1(srvx@0.9.8)) + jiti: 2.6.1 + ofetch: 2.0.0-alpha.3 + ohash: 2.0.11 + oxc-minify: 0.103.0 + oxc-transform: 0.103.0 + srvx: 0.9.8 + undici: 7.17.0 + unenv: 2.0.0-rc.24 + unstorage: 2.0.0-alpha.4(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.5.0))(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(ofetch@2.0.0-alpha.3) + optionalDependencies: + rollup: 4.55.1 + vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - better-sqlite3 + - chokidar + - drizzle-orm + - idb-keyval + - ioredis + - lru-cache + - mongodb + - mysql2 + - sqlite3 + - uploadthing + nitro@https://pkg.pr.new/nitrojs/nitro@00598a8(better-sqlite3@12.5.0)(chokidar@5.0.0)(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(rollup@4.55.1)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)): dependencies: consola: 3.4.2 @@ -17445,8 +17345,6 @@ snapshots: pathe@2.0.3: {} - pathval@2.0.1: {} - perfect-debounce@2.0.0: {} picocolors@1.1.1: {} @@ -18677,8 +18575,6 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.2: {} - tinyexec@1.0.2: {} tinyglobby@0.2.15: @@ -18686,14 +18582,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} - tinyrainbow@3.0.3: {} - tinyspy@4.0.4: {} - tldts-core@7.0.19: {} tldts@7.0.19: @@ -19114,6 +19004,15 @@ snapshots: idb-keyval: 6.2.2 ioredis: 5.8.2 + unstorage@2.0.0-alpha.4(chokidar@4.0.3)(db0@0.3.4(better-sqlite3@12.5.0))(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(ofetch@2.0.0-alpha.3): + optionalDependencies: + chokidar: 4.0.3 + db0: 0.3.4(better-sqlite3@12.5.0) + idb-keyval: 6.2.2 + ioredis: 5.8.2 + lru-cache: 11.2.4 + ofetch: 2.0.0-alpha.3 + unstorage@2.0.0-alpha.4(chokidar@5.0.0)(db0@0.3.4(better-sqlite3@12.5.0))(idb-keyval@6.2.2)(ioredis@5.8.2)(lru-cache@11.2.4)(ofetch@2.0.0-alpha.3): optionalDependencies: chokidar: 5.0.0 @@ -19309,47 +19208,42 @@ snapshots: terser: 5.44.1 yaml: 2.8.2 - vitest-browser-vue@1.1.0(@vitest/browser@3.2.4)(vitest@3.2.4)(vue@3.5.26(typescript@5.9.3)): + vitest-browser-vue@2.0.1(vitest@4.0.16)(vue@3.5.26(typescript@5.9.3)): dependencies: - '@vitest/browser': 3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) '@vue/test-utils': 2.4.6 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) + vitest: 4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) vue: 3.5.26(typescript@5.9.3) vitest-environment-nuxt@1.0.1: dependencies: '@nuxt/test-utils': 'link:' - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.10.4)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2): + vitest@4.0.16(@types/node@24.10.4)(@vitest/browser-playwright@4.0.16)(@vitest/ui@4.0.16)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@27.4.0(postcss@8.5.6))(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2): dependencies: - '@types/chai': 5.2.3 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + '@vitest/expect': 4.0.16 + '@vitest/mocker': 4.0.16(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2)) + '@vitest/pretty-format': 4.0.16 + '@vitest/runner': 4.0.16 + '@vitest/snapshot': 4.0.16 + '@vitest/spy': 4.0.16 + '@vitest/utils': 4.0.16 + es-module-lexer: 1.7.0 expect-type: 1.2.2 magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 picomatch: 4.0.3 std-env: 3.10.0 tinybench: 2.9.0 - tinyexec: 0.3.2 + tinyexec: 1.0.2 tinyglobby: 0.2.15 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 + tinyrainbow: 3.0.3 vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) - vite-node: 5.2.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 '@types/node': 24.10.4 - '@vitest/browser': 3.2.4(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@3.2.4) - '@vitest/ui': 3.2.4(vitest@3.2.4) + '@vitest/browser-playwright': 4.0.16(playwright@1.57.0)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(yaml@2.8.2))(vitest@4.0.16) + '@vitest/ui': 4.0.16(vitest@4.0.16) happy-dom: 20.0.11 jsdom: 27.4.0(postcss@8.5.6) transitivePeerDependencies: @@ -19361,7 +19255,6 @@ snapshots: - sass-embedded - stylus - sugarss - - supports-color - terser - tsx - yaml diff --git a/src/config.ts b/src/config.ts index f899d5c7a..18dd8ef06 100644 --- a/src/config.ts +++ b/src/config.ts @@ -275,18 +275,8 @@ export function defineVitestConfig(config: ViteUserConfig & { test?: VitestConfi const defaultEnvironment = resolvedConfig.test.environment || 'node' if (defaultEnvironment !== 'nuxt') { - const key = 'projects' in resolvedConfig.test - ? 'projects' - : 'workspace' in resolvedConfig.test - ? 'workspace' - : await import('vitest/package.json', { with: { type: 'json' } }).then((r) => { - const [major, minor] = (r.default || r).version.split('.') - return Number.parseInt(major!, 10) > 3 || (Number.parseInt(major!, 10) === 3 && Number.parseInt(minor!, 10) >= 2) - }) - ? 'projects' - : 'workspace' - resolvedConfig.test[key] = [] - resolvedConfig.test[key].push({ + resolvedConfig.test.projects = [] + resolvedConfig.test.projects.push({ extends: true, test: { name: 'nuxt', @@ -297,7 +287,7 @@ export function defineVitestConfig(config: ViteUserConfig & { test?: VitestConfi ], }, }) - resolvedConfig.test[key].push({ + resolvedConfig.test.projects.push({ extends: true, test: { name: defaultEnvironment, @@ -392,10 +382,3 @@ declare module 'vitest/node' { nuxt?: NuxtEnvironmentOptions } } - -declare module 'vitest' { - // @ts-expect-error Duplicate augmentation for backwards-compatibility - interface EnvironmentOptions { - nuxt?: NuxtEnvironmentOptions - } -} diff --git a/src/environments/vitest/env/jsdom.ts b/src/environments/vitest/env/jsdom.ts index 2c6581252..bb1e6a310 100644 --- a/src/environments/vitest/env/jsdom.ts +++ b/src/environments/vitest/env/jsdom.ts @@ -1,7 +1,7 @@ import { importModule } from 'local-pkg' import type { DOMWindow, SupportedContentTypes } from 'jsdom' import defu from 'defu' -import type { JSDOMOptions } from 'vitest/node' +import type { EnvironmentOptions } from 'vitest/node' import type { EnvironmentNuxt, NuxtWindow } from '../types' export default async function (global, { jsdom = {} }) { @@ -15,7 +15,7 @@ export default async function (global, { jsdom = {} }) { runScripts: 'dangerously', console: false, cookieJar: false, - } satisfies JSDOMOptions) as JSDOMOptions & { contentType: SupportedContentTypes } + } satisfies EnvironmentOptions['jsdom']) as EnvironmentOptions['jsdom'] & { contentType: SupportedContentTypes } const virtualConsole = jsdomOptions.console && global.console ? new VirtualConsole() diff --git a/src/environments/vitest/index.ts b/src/environments/vitest/index.ts index dbe11981b..7e229d14f 100644 --- a/src/environments/vitest/index.ts +++ b/src/environments/vitest/index.ts @@ -16,24 +16,25 @@ const environmentMap = { export default { name: 'nuxt', - transformMode: 'web', + viteEnvironment: 'client', async setup(global, environmentOptions) { - const url = joinURL(environmentOptions?.nuxt.url ?? 'http://localhost:3000', - environmentOptions?.nuxtRuntimeConfig.app?.baseURL || '/', + const url = joinURL( + environmentOptions.nuxt?.url ?? 'http://localhost:3000', + environmentOptions.nuxtRuntimeConfig?.app?.baseURL || '/', ) - const environmentName = environmentOptions.nuxt.domEnvironment as NuxtBuiltinEnvironment + const environmentName = environmentOptions.nuxt?.domEnvironment as NuxtBuiltinEnvironment const environment = environmentMap[environmentName] || environmentMap['happy-dom'] const { window: win, teardown } = await environment(global, defu(environmentOptions, { happyDom: { url }, jsdom: { url }, })) - if (environmentOptions?.nuxt?.mock?.intersectionObserver) { + if (environmentOptions.nuxt?.mock?.intersectionObserver) { win.IntersectionObserver ||= IntersectionObserver } - if (environmentOptions?.nuxt?.mock?.indexedDb) { + if (environmentOptions.nuxt?.mock?.indexedDb) { // @ts-expect-error win.indexedDB is read-only win.indexedDB = indexedDB } diff --git a/src/environments/vitest/types.ts b/src/environments/vitest/types.ts index 0de835af9..a2d7ef573 100644 --- a/src/environments/vitest/types.ts +++ b/src/environments/vitest/types.ts @@ -1,7 +1,7 @@ import type { H3Event as H3V1Event } from 'h3' import type { H3Event as H3V2Event } from 'h3-next' import type { $Fetch } from 'nitropack' -import type { JSDOMOptions, HappyDOMOptions } from 'vitest/node' +import type { EnvironmentOptions } from 'vitest/node' export type NuxtBuiltinEnvironment = 'happy-dom' | 'jsdom' interface GenericAppUse { @@ -22,8 +22,8 @@ export interface NuxtWindow extends Window { Headers: typeof Headers } export interface EnvironmentNuxtOptions { - jsdom?: JSDOMOptions - happyDom?: HappyDOMOptions + jsdom?: EnvironmentOptions['jsdom'] + happyDom?: EnvironmentOptions['happyDOM'] } export type EnvironmentNuxt = (global: typeof globalThis, options: EnvironmentNuxtOptions) => Promise<{ window: NuxtWindow diff --git a/src/module.ts b/src/module.ts index 5f2e56aee..632e11543 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,5 +1,5 @@ import { createResolver, defineNuxtModule, logger, resolvePath, useNuxt } from '@nuxt/kit' -import type { UserConfig as VitestConfig } from 'vitest/node' +import type { TestUserConfig as VitestConfig } from 'vitest/config' import { join, relative } from 'pathe' import { isCI } from 'std-env' diff --git a/src/vitest-wrapper/cli.ts b/src/vitest-wrapper/cli.ts index 41510ed57..933906105 100644 --- a/src/vitest-wrapper/cli.ts +++ b/src/vitest-wrapper/cli.ts @@ -47,11 +47,19 @@ function createCustomReporter(onVitestInit: (ctx: Vitest) => unknown): Reporter sendMessage('updated', toUpdatedResult()) }, - onTaskUpdate() { + onTestModuleCollected() { sendMessage('updated', toUpdatedResult()) }, - onFinished() { + onTestCaseResult() { + sendMessage('updated', toUpdatedResult()) + }, + + onTestModuleEnd() { + sendMessage('updated', toUpdatedResult()) + }, + + onTestRunEnd() { sendMessage('finished', toFinishedResult()) }, }