Files
F-r-ldraledigplannerare/frontend/vitest.config.ts
T
jacobh2 17dadb79cc Ratchet coverage thresholds, refresh handoff, drop finished todo files
Coverage has grown well past the configured gates, so they no longer catch
regressions. Raise them to just under the measured values, per the standing
"regression ratchet, not a target" rule:
- frontend lines/statements 80 -> 95, functions 85 -> 89 (measured 96.52/91.08)
- frontend branches held at 85 (measured 86.78, the weakest metric)
- backend CI --cov-fail-under 50 -> 75 (measured 81)

Add NextSteps260914.md as the handoff for the next session. Delete todo.txt,
todo_260912.txt and todo-backend.txt, all fully done; NextSteps260913.md is
kept as history.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RXMhc9nT6sNz1SL4j8dznL
2026-09-14 02:36:47 +02:00

40 lines
1.0 KiB
TypeScript

import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'
import { resolve } from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
},
},
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['./tests/setup.ts'],
coverage: {
provider: 'v8',
reporter: ['text', 'lcov'],
// Thresholds set as a regression ratchet to prevent coverage from dropping.
// Measured: lines 96.52%, functions 91.08%, statements 96.52%, branches 86.78%.
// Set ~1-2pp below measured to catch real regressions without false positives.
// Branches set conservatively (85) as it's the weakest metric.
thresholds: {
lines: 95,
functions: 89,
branches: 85,
statements: 95,
},
include: ['src/**/*.{ts,tsx}'],
exclude: [
'src/main.tsx',
'src/vite-env.d.ts',
'src/types/**',
'**/*.test.ts',
'**/*.test.tsx',
],
},
},
})