26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
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 },
|
|
},
|
|
},
|
|
});
|