35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { configDefaults, defineConfig } from "vitest/config";
|
|
|
|
// Tests must not inherit a caller's production React/runtime selection.
|
|
// Package scripts also launch Vitest through scripts/run-vitest.ts, which owns
|
|
// NODE_ENV before the Vitest process starts. Keeping the config deterministic
|
|
// protects direct `vitest` invocations as well.
|
|
process.env.NODE_ENV = "test";
|
|
|
|
export default defineConfig({
|
|
test: {
|
|
globals: false,
|
|
setupFiles: ["./tests/setup.ts"],
|
|
restoreMocks: true,
|
|
clearMocks: true,
|
|
mockReset: true,
|
|
testTimeout: 10_000,
|
|
exclude: [
|
|
...configDefaults.exclude,
|
|
".tmp/**",
|
|
// A git worktree inside the repository is a different checkout of a
|
|
// different branch. Running its tests against this checkout's config
|
|
// reports failures that belong to neither.
|
|
".worktrees/**",
|
|
"tests/fixtures/v8-coverage-counter-semantics/**",
|
|
],
|
|
coverage: {
|
|
provider: "v8",
|
|
reportsDirectory: "artifacts/tests/coverage",
|
|
reporter: ["text", "json-summary", "lcov"],
|
|
include: ["src/**/*.{ts,tsx}"],
|
|
exclude: ["**/*.d.ts", "**/*.stories.*"],
|
|
},
|
|
},
|
|
});
|