require-vitest-coverage-provider-when-enabled
Require explicit test.coverage.provider when coverage is enabled.
Rule catalog ID: R043
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 omit test.coverage.provider.
Why this rule existsโ
Coverage provider selection impacts instrumentation behavior and output consistency. Making it explicit in shared config avoids hidden defaults and cross-environment drift.
โ 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,
provider: "v8",
},
},
});
Behavior and migration notesโ
- this rule checks static enabled/provider values only
- it reports once per coverage scope missing a provider
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 provider configuration is intentionally delegated to runtime-only flags.