import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { globals: false, environment: 'node', include: ['__tests__/**/*.test.ts'], coverage: { provider: 'v8', reporter: ['text', 'html', 'json-summary'], include: ['src/**/*.ts'], exclude: [ // Binary bootstrap: shebang + commander wiring that dynamically imports // each client's build/index.js and dispatches via process.exit. It only // runs when launched as the real binary and is covered end-to-end by the // launcher smokes (smoke:launcher / smoke:cli / smoke:tui / smoke:web). // Mirrors the cli/web `index.ts` exclusion. The pure arg-parsing logic // lives in parse-launcher-argv.ts, which is unit-tested and gated below. 'src/index.ts', ], thresholds: { perFile: true, lines: 90, statements: 90, functions: 90, branches: 90, }, }, }, });