Add v8 coverage via a test:coverage script and vitest config: measure src only, exclude the types-only deps.ts and the bin entrypoint main.ts, and gate on ratcheted thresholds (statements 85, branches 78, functions 90, lines 85) set just under current coverage. CI runs the unit+integration tier through coverage so a real drop fails the build.
1.2 KiB
1.2 KiB