]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore(test): migrate to Vitest inline projects (#13838)
authorAri Perkkiƶ <ari.perkkio@gmail.com>
Mon, 1 Sep 2025 05:59:34 +0000 (08:59 +0300)
committerGitHub <noreply@github.com>
Mon, 1 Sep 2025 05:59:34 +0000 (13:59 +0800)
package.json
vitest.config.ts
vitest.e2e.config.ts [deleted file]
vitest.unit.config.ts [deleted file]
vitest.workspace.ts [deleted file]

index b84deca0a9145234fe510fb69eb3af595b83dc5e..d9d0e08fc1e965d422952e9608e0e7884395836b 100644 (file)
     "format": "prettier --write --cache .",
     "format-check": "prettier --check --cache .",
     "test": "vitest",
-    "test-unit": "vitest --project unit",
+    "test-unit": "vitest --project unit*",
     "test-e2e": "node scripts/build.js vue -f global -d && vitest --project e2e",
     "test-dts": "run-s build-dts test-dts-only",
     "test-dts-only": "tsc -p packages-private/dts-built-test/tsconfig.json && tsc -p ./packages-private/dts-test/tsconfig.test.json",
-    "test-coverage": "vitest run --project unit --coverage",
+    "test-coverage": "vitest run --project unit* --coverage",
     "prebench": "node scripts/build.js -pf esm-browser reactivity",
     "prebench-compare": "node scripts/build.js -pf esm-browser reactivity",
     "bench": "vitest bench --project=unit --outputJson=temp/bench.json",
index 3fce4ce87c238e0c56c8781b8404ef5285e0df21..58d7311006891c1161ac16135f18b7e31073272f 100644 (file)
@@ -1,4 +1,4 @@
-import { defineConfig } from 'vitest/config'
+import { configDefaults, defineConfig } from 'vitest/config'
 import { entries } from './scripts/aliases.js'
 
 export default defineConfig({
@@ -25,9 +25,6 @@ export default defineConfig({
     globals: true,
     pool: 'threads',
     setupFiles: 'scripts/setup-vitest.ts',
-    environmentMatchGlobs: [
-      ['packages/{vue,vue-compat,runtime-dom}/**', 'jsdom'],
-    ],
     sequence: {
       hooks: 'list',
     },
@@ -49,5 +46,41 @@ export default defineConfig({
         'packages/runtime-dom/src/components/Transition*',
       ],
     },
+
+    projects: [
+      {
+        extends: true,
+        test: {
+          name: 'unit',
+          exclude: [
+            ...configDefaults.exclude,
+            '**/e2e/**',
+            '**/{vue,vue-compat,runtime-dom}/**',
+          ],
+        },
+      },
+      {
+        extends: true,
+        test: {
+          name: 'unit-jsdom',
+          include: ['packages/{vue,vue-compat,runtime-dom}/**/*.{test,spec}.*'],
+          exclude: [...configDefaults.exclude, '**/e2e/**'],
+          environment: 'jsdom',
+        },
+      },
+      {
+        extends: true,
+        test: {
+          name: 'e2e',
+          environment: 'jsdom',
+          poolOptions: {
+            threads: {
+              singleThread: !!process.env.CI,
+            },
+          },
+          include: ['packages/vue/__tests__/e2e/*.spec.ts'],
+        },
+      },
+    ],
   },
 })
diff --git a/vitest.e2e.config.ts b/vitest.e2e.config.ts
deleted file mode 100644 (file)
index 622bda0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-import { mergeConfig } from 'vitest/config'
-import config from './vitest.config'
-
-export default mergeConfig(config, {
-  test: {
-    name: 'e2e',
-    poolOptions: {
-      threads: {
-        singleThread: !!process.env.CI,
-      },
-    },
-    include: ['packages/vue/__tests__/e2e/*.spec.ts'],
-  },
-})
diff --git a/vitest.unit.config.ts b/vitest.unit.config.ts
deleted file mode 100644 (file)
index 0082997..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-import { configDefaults, mergeConfig } from 'vitest/config'
-import config from './vitest.config'
-
-export default mergeConfig(config, {
-  test: {
-    name: 'unit',
-    exclude: [...configDefaults.exclude, '**/e2e/**'],
-  },
-})
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
deleted file mode 100644 (file)
index a20586e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-import { defineWorkspace } from 'vitest/config'
-
-export default defineWorkspace([
-  './vitest.unit.config.ts',
-  './vitest.e2e.config.ts',
-])