import path from "node:path"; import { defineConfig } from "vitest/config"; import react from "@vitejs/plugin-react"; import tsconfigPaths from "vite-tsconfig-paths"; /** * Unit- und Integrationstests. * Die End-to-End-Tests laufen unter tests/e2e mit Playwright und sind hier * ausgeschlossen — sonst würde Vitest versuchen, sie mitzunehmen. */ export default defineConfig({ plugins: [react(), tsconfigPaths()], resolve: { alias: { // "server-only" wirft beim blossen Import. Im Testlauf ersetzen wir es // durch ein leeres Modul — siehe tests/stubs/server-only.ts. "server-only": path.resolve(__dirname, "tests/stubs/server-only.ts"), }, }, test: { environment: "node", globals: true, setupFiles: ["./tests/setup.ts"], include: ["tests/**/*.test.{ts,tsx}"], exclude: ["node_modules", ".next", "tests/e2e/**"], coverage: { provider: "v8", reportsDirectory: "./coverage", include: ["src/lib/**", "src/server/**"], exclude: ["**/*.d.ts"], }, }, });