diff --git a/docs/config/index.md b/docs/config/index.md index 71ad44f8c32a..27454edbfa01 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -902,7 +902,7 @@ See [istanbul documentation](https://github.com/istanbuljs/nyc#ignoring-methods) } ``` -- **Available for providers:** `'istanbul'` +- **Available for providers:** `'c8' | 'istanbul'` Watermarks for statements, lines, branches and functions. See [istanbul documentation](https://github.com/istanbuljs/nyc#high-and-low-watermarks) for more information. diff --git a/packages/vitest/src/types/coverage.ts b/packages/vitest/src/types/coverage.ts index faa09bf62f49..4c35f19aca4b 100644 --- a/packages/vitest/src/types/coverage.ts +++ b/packages/vitest/src/types/coverage.ts @@ -187,6 +187,18 @@ export interface BaseCoverageOptions { */ statements?: number + /** + * Watermarks for statements, lines, branches and functions. + * + * Default value is `[50,80]` for each property. + */ + watermarks?: { + statements?: [number, number] + functions?: [number, number] + branches?: [number, number] + lines?: [number, number] + } + /** * Update threshold values automatically when current coverage is higher than earlier thresholds * @@ -202,18 +214,6 @@ export interface CoverageIstanbulOptions extends BaseCoverageOptions { * @default [] */ ignoreClassMethods?: string[] - - /** - * Watermarks for statements, lines, branches and functions. - * - * Default value is `[50,80]` for each property. - */ - watermarks?: { - statements?: [number, number] - functions?: [number, number] - branches?: [number, number] - lines?: [number, number] - } } export interface CoverageC8Options extends BaseCoverageOptions { diff --git a/test/coverage-test/test/configuration-options.test-d.ts b/test/coverage-test/test/configuration-options.test-d.ts index 867c970a9470..8b9b0de67c99 100644 --- a/test/coverage-test/test/configuration-options.test-d.ts +++ b/test/coverage-test/test/configuration-options.test-d.ts @@ -26,12 +26,19 @@ test('provider options, generic', () => { provider: 'c8', enabled: true, include: ['string'], + watermarks: { + functions: [80, 95], + lines: [80, 95], + }, }) assertType({ provider: 'istanbul', enabled: true, include: ['string'], + watermarks: { + statements: [80, 95], + }, }) }) @@ -55,12 +62,6 @@ test('provider specific options, istanbul', () => { assertType({ provider: 'istanbul', ignoreClassMethods: ['string'], - watermarks: { - statements: [80, 95], - functions: [80, 95], - branches: [80, 95], - lines: [80, 95], - }, }) assertType({