import { defineConfig } from "vitest/config"; import react from "@vitejs/plugin-react"; import path from "node:path"; export default defineConfig({ plugins: [react()], resolve: { alias: [ { find: /^@\/(?!db)/, replacement: path.resolve(__dirname, "src") + "/" }, // Specific sub-paths must come before the general @/db catch-all. { find: "@/db/schema/water-log", replacement: path.resolve(__dirname, "db/schema/water-log.ts") }, { find: "@/db/schema/smartsheet-workspace", replacement: path.resolve(__dirname, "db/schema/smartsheet-workspace.ts") }, { find: "@/db/schema/time-tracking", replacement: path.resolve(__dirname, "db/schema/time-tracking.ts") }, { find: "@/db/client", replacement: path.resolve(__dirname, "db/client.ts") }, { find: "@/db/schema", replacement: path.resolve(__dirname, "db/schema/index.ts") }, { find: "@/db", replacement: path.resolve(__dirname, "db") }, ], }, test: { environment: "node", include: [ "tests/unit/**/*.test.ts", "tests/unit/**/*.test.tsx", "src/lib/__tests__/**/*.test.ts", "src/lib/__tests__/**/*.test.tsx", "src/lib/offline/**/*.test.ts", ], exclude: ["node_modules", ".next", "tests/e2e/**", "tests/login/**", "tests/smoke.spec.ts"], // Supabase REST, Auth.js v5, and Next.js `cookies()` / `headers()` are // stubbed in each test — keep the timeout generous. testTimeout: 15_000, }, });