73 lines
2.3 KiB
TypeScript
73 lines
2.3 KiB
TypeScript
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vitest/config";
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
test: {
|
|
globals: false,
|
|
environment: "happy-dom",
|
|
pool: "forks",
|
|
fileParallelism: false,
|
|
// Inline @suaveplan/i18n so its bundled @opentelemetry/api copy
|
|
// (shipped as ESM under a CJS package.json) is transformed into
|
|
// ESM-compatible code by Vite before vitest evaluates it. Mirrors
|
|
// the @suaveplan/react-i18n vitest config — without this, importing
|
|
// anything from @suaveplan/i18n inside a *.test.tsx under happy-dom
|
|
// errors with "Cannot use import statement outside a module" on
|
|
// the first OTel pull-in.
|
|
server: {
|
|
deps: {
|
|
inline: [
|
|
"@suaveplan/i18n",
|
|
"@suaveplan/react-i18n",
|
|
"@suaveplan/react-ui",
|
|
"@opentelemetry/api",
|
|
"use-sync-external-store",
|
|
"react-day-picker",
|
|
/@radix-ui/,
|
|
],
|
|
},
|
|
},
|
|
setupFiles: [
|
|
"@suaveplan/testing/polyfills",
|
|
"./tests/setup/polyfills.ts",
|
|
],
|
|
include: [
|
|
"src/**/*.test.ts",
|
|
"src/**/*.test.tsx",
|
|
"tests/**/*.test.ts",
|
|
"tests/**/*.test.tsx",
|
|
],
|
|
exclude: [
|
|
"src/__benchmarks__/**",
|
|
"benchmarks/**",
|
|
"e2e/**",
|
|
"dist/**",
|
|
"node_modules/**",
|
|
],
|
|
coverage: {
|
|
provider: "istanbul",
|
|
reporter: ["text", "html", "lcov"],
|
|
include: ["src/**/*.ts", "src/**/*.tsx"],
|
|
exclude: [
|
|
"src/**/*.test.ts",
|
|
"src/**/*.test.tsx",
|
|
"src/**/*.bench.ts",
|
|
"src/**/*.schemas.ts",
|
|
"src/**/*.types.ts",
|
|
"src/**/*.stories.tsx",
|
|
"src/**/index.ts",
|
|
"src/__benchmarks__/**",
|
|
"tests/**",
|
|
],
|
|
thresholds: {
|
|
statements: 100,
|
|
branches: 100,
|
|
functions: 100,
|
|
lines: 100,
|
|
},
|
|
},
|
|
testTimeout: 5000,
|
|
},
|
|
});
|