Files
waggle-os/apps/web/vitest.config.ts
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

33 lines
1.3 KiB
TypeScript

import { defineConfig } from "vitest/config";
import react from "@vitejs/plugin-react-swc";
import path from "path";
// React/Vite tests load a Next.js dependency chain that still imports Node's
// deprecated built-in `punycode`; propagate the narrow suppression to Vitest
// workers so expected upstream noise does not hide real test failures.
if (!process.env.NODE_OPTIONS?.includes('--disable-warning=DEP0040')) {
process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS ?? ''} --disable-warning=DEP0040`.trim();
}
export default defineConfig({
plugins: [react()],
test: {
environment: "jsdom",
globals: true,
setupFiles: ["./src/test/setup.ts"],
include: ["src/**/*.{test,spec}.{ts,tsx}"],
// jsdom environment setup is heavy (~3s/file); under full parallel load the
// event loop starves and render-heavy waitFor/findBy assertions overran the
// default 5s timeout intermittently (every observed failure was a timeout,
// and the failing set varied run-to-run — classic load flakiness, not logic:
// the same tests pass sub-second in isolation). Give generous headroom so the
// suite is deterministic in CI, plus one retry to absorb transient spikes.
testTimeout: 20000,
hookTimeout: 20000,
retry: 1,
},
resolve: {
alias: { "@": path.resolve(__dirname, "./src") },
},
});