import { resolve } from "node:path"; import { defineConfig } from "vitest/config"; // 单测:纯逻辑(SSE reducer / 自动保存防抖 / 向导流程),node 环境,无需 DOM。 export default defineConfig({ resolve: { alias: { "@": resolve(__dirname, ".") }, }, test: { environment: "node", include: ["lib/**/*.test.ts"], coverage: { provider: "v8", // 覆盖范围 = lib/** 全部逻辑层(纯逻辑 + React hooks)。 // hooks(use*.ts) 用 jsdom + @testing-library/react 的 renderHook 单测(见各 *.test.ts 的 // `// @vitest-environment jsdom` 头)。组件(.tsx)仍由 E2E/人工验收覆盖,不在 vitest 范围。 // 排除项:测试文件本身、OpenAPI codegen 生成物。 include: ["lib/**/*.ts"], exclude: ["lib/**/*.test.ts", "lib/api/schema.d.ts"], reporter: ["text", "text-summary"], thresholds: { lines: 80, functions: 80, branches: 80, statements: 80, }, }, }, });