import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { globals: true, environment: 'node', // The migration suite spins up a real PGlite (WASM Postgres) instance per // test and applies the full drizzle migration set. Each case legitimately // takes ~5s locally and considerably longer on CI, where turbo runs many // packages' test suites concurrently. The 5s vitest default then expires // mid-migration and the run fails as a phantom "Test timed out in 5000ms" // (often surfacing the underlying WASM `memory access out of bounds` when // the heap is starved). Give migrations real headroom. testTimeout: 120_000, hookTimeout: 120_000, // Each PGlite instance carries a multi-hundred-MB WASM heap. Running test // files in parallel forks multiplies that peak and is what tips the CI // runner into the WASM OOM. A single fork keeps only one instance resident // at a time — slightly slower, but deterministic. pool: 'forks', poolOptions: { forks: { singleFork: true }, }, }, });