diff --git a/packages/vitest/src/integrations/coverage.ts b/packages/vitest/src/integrations/coverage.ts index 1d33f73e67a1..0bc8e512eaea 100644 --- a/packages/vitest/src/integrations/coverage.ts +++ b/packages/vitest/src/integrations/coverage.ts @@ -97,4 +97,16 @@ export async function reportCoverage(ctx: Vitest) { } await report.run() + + if (ctx.config.coverage.enabled) { + if (ctx.config.coverage['100']) { + ctx.config.coverage.lines = 100 + ctx.config.coverage.functions = 100 + ctx.config.coverage.branches = 100 + ctx.config.coverage.statements = 100 + } + + const { checkCoverages } = require('c8/lib/commands/check-coverage') + await checkCoverages(ctx.config.coverage, report) + } } diff --git a/packages/vitest/src/types/coverage.ts b/packages/vitest/src/types/coverage.ts index cc345cc181a9..868fdc0767be 100644 --- a/packages/vitest/src/types/coverage.ts +++ b/packages/vitest/src/types/coverage.ts @@ -63,6 +63,11 @@ export interface C8Options { all?: boolean + 100?: boolean + lines?: number + functions?: number + branches?: number + statements?: number } export interface ResolvedC8Options extends Required {