require-vitest-coverage-reporter-when-enabled
Require explicit test.coverage.reporter when coverage is enabled.
Rule catalog ID: R044
Targeted pattern scopeโ
vitest.config.*vitest.workspace.*vite.config.*when Vitest coverage is configuredtest.coverage.enabled: true
What this rule reportsโ
This rule reports enabled coverage blocks that do not provide a non-empty test.coverage.reporter setting.
Why this rule existsโ
Reporter output drives CI artifacts and local diagnostics. Explicit reporter configuration keeps coverage reporting stable and intentional.
โ Incorrectโ
import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
coverage: {
enabled: true,
},
},
});
โ Correctโ
import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
coverage: {
enabled: true,
reporter: ["text", "html"],
},
},
});
Behavior and migration notesโ
- this rule treats non-empty static strings/arrays as configured reporters
- empty reporter arrays are reported as missing reporter configuration
ESLint flat config exampleโ
import vite from "@typpi/eslint-plugin-vite";
export default [vite.configs.strict, vite.configs.vitest];
When not to use itโ
Disable this rule only if reporter selection is intentionally controlled outside committed config.