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.*"], }, }, });