import { defineConfig } from "vitest/config"; const include = [ "extensions/**/__tests__/**/*.test.ts", "scripts/**/*.test.ts", "skills/**/*.test.ts", ]; const exclude = ["**/__e2e__/**", "**/node_modules/**"]; const validatorTests = [ "extensions/ultra/__tests__/dynamic-extensions.test.ts", "scripts/prompt-composition.test.ts", ]; export default defineConfig({ test: { reporters: ["minimal"], testTimeout: 30_000, hookTimeout: 30_000, projects: [ { extends: true, test: { name: "fast", include, exclude: [ ...exclude, "extensions/web/**", "extensions/strata/**", ...validatorTests, ], isolate: false, // Three fork workers avoid CPU/process contention. maxWorkers: 3, }, }, { extends: true, test: { name: "web", include: ["extensions/web/**/__tests__/**/*.test.ts"], exclude, isolate: true, maxWorkers: 1, }, }, { extends: true, test: { name: "strata", include: ["extensions/strata/**/__tests__/**/*.test.ts"], exclude, // Each file owns its filesystem mocks and fake-command environment. isolate: true, maxWorkers: 1, }, }, { extends: true, test: { name: "validator", include: validatorTests, exclude, isolate: true, maxWorkers: 1, // Real child validators retain their production watchdog without // competing with the other projects' native subprocess tests. sequence: { groupOrder: 1 }, }, }, ], }, });