Files
community-rule/vitest.config.mjs
T
adilallo c4a631a5d8
CI Pipeline / test (20) (pull_request) Successful in 2m55s
CI Pipeline / test (18) (pull_request) Successful in 3m32s
CI Pipeline / e2e (webkit) (pull_request) Has been cancelled
CI Pipeline / visual-regression (pull_request) Has been cancelled
CI Pipeline / performance (pull_request) Has been cancelled
CI Pipeline / storybook (pull_request) Has been cancelled
CI Pipeline / lint (pull_request) Has been cancelled
CI Pipeline / build (pull_request) Has been cancelled
CI Pipeline / e2e (chromium) (pull_request) Has been cancelled
CI Pipeline / e2e (firefox) (pull_request) Has been cancelled
Cleanup code and tests
2025-10-14 17:34:05 -06:00

72 lines
2.3 KiB
JavaScript

import { defineConfig } from "vitest/config";
import react from "@vitejs/plugin-react";
export default defineConfig({
plugins: [react({ jsxRuntime: "automatic" })],
esbuild: {
jsx: "automatic",
loader: "jsx",
include: /\.[jt]sx?$/,
exclude: [/node_modules/],
},
test: {
environment: "jsdom",
setupFiles: ["./vitest.setup.ts"],
include: [
"tests/unit/**/*.test.{js,jsx,ts,tsx}",
"tests/integration/**/*.test.{js,jsx,ts,tsx}",
"tests/accessibility/**/*.test.{js,jsx,ts,tsx}",
"tests/e2e/**/*.e2e.test.{js,jsx,ts,tsx}",
],
exclude: [
"tests/e2e/**/*.storybook.test.{js,jsx,ts,tsx}",
"tests/e2e/**/*.spec.{js,jsx,ts,tsx}",
],
css: true,
coverage: {
provider: "v8",
reporter: ["text", "lcov"],
include: [
"app/**/*.{js,jsx,ts,tsx}",
"components/**/*.{js,jsx,ts,tsx}",
"!**/*.test.{js,jsx,ts,tsx}",
"!**/*.spec.{js,jsx,ts,tsx}",
"!**/node_modules/**",
"!**/tests/**",
],
exclude: [
"**/node_modules/**",
"**/tests/**",
"**/*.test.{js,jsx,ts,tsx}",
"**/*.spec.{js,jsx,ts,tsx}",
"**/coverage/**",
"**/.next/**",
"**/dist/**",
"**/build/**",
],
thresholds: { lines: 50, functions: 50, statements: 50, branches: 50 },
// Disable coverage collection in CI to prevent test failures
enabled: !process.env.CI,
},
pool: "threads", // Use threads for better performance
testTimeout: 60000, // 60s timeout for all tests
hookTimeout: 60000, // 60s timeout for hooks
teardownTimeout: 60000, // 60s timeout for teardown
// Conservative settings for stability
maxConcurrency: 1, // Single test at a time to avoid resource contention
maxThreads: 1, // Single thread to avoid resource contention
minThreads: 1, // Minimum threads
retry: 0, // No retries to avoid masking issues
// Stability measures
isolate: true, // Enable isolation for better test stability
passWithNoTests: true, // Don't fail if no tests found
// Timeout settings
workerTimeout: 120000, // 2min for worker timeout
poolTimeout: 120000, // 2min for pool timeout
// Optimize dependencies
deps: {
inline: ["@testing-library/jest-dom"], // Inline testing library
},
},
});