import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; import { defineWorkspace } from "vitest/config"; const root = fileURLToPath(new URL(".", import.meta.url)); const alias = { "@devflow/core": resolve(root, "packages/core/src/index.ts"), "@devflow/db": resolve(root, "packages/db/src/index.ts"), "@devflow/run-engine": resolve(root, "packages/run-engine/src/index.ts"), "@devflow/session": resolve(root, "packages/session/src/index.ts"), "@devflow/workflows": resolve(root, "packages/workflows/src/index.ts"), }; function nodeProject(name: string, include: string[]) { return { resolve: { alias }, test: { name, include, environment: "node", }, }; } export default defineWorkspace([ nodeProject("root", ["tests/**/*.test.ts"]), nodeProject("packages/db", ["packages/db/src/**/*.test.ts"]), nodeProject("packages/core", ["packages/core/src/**/*.test.ts"]), nodeProject("packages/session", ["packages/session/src/**/*.test.ts"]), nodeProject("packages/run-engine", ["packages/run-engine/src/**/*.test.ts"]), nodeProject("packages/workflows", ["packages/workflows/src/**/*.test.ts"]), nodeProject("apps/api", ["apps/api/src/**/*.test.ts"]), nodeProject("apps/cli", ["apps/cli/src/**/*.test.ts"]), nodeProject("apps/worker", ["apps/worker/src/**/*.test.ts"]), ]);