require-vitest-coverage-reports-directory
Require explicit non-empty test.coverage.reportsDirectory when coverage is enabled.
Rule catalog ID: R050
Targeted pattern scopeโ
vitest.config.*vitest.workspace.*vite.config.*when Vitest coverage options are configuredtest.coverage.enabled: true
What this rule reportsโ
This rule reports enabled coverage blocks that omit a non-empty test.coverage.reportsDirectory.
Why this rule existsโ
A stable reports directory is important for predictable CI artifact collection and tooling integration. Relying on implicit defaults can cause drift across environments.
โ 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,
reportsDirectory: "coverage",
},
},
});
Behavior and migration notesโ
- this rule checks static values only
- empty strings are not considered valid directories
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 reports directory behavior is fully managed by external runtime flags or wrappers.