fix(coverage): correct `coverageConfigDefaults` values and types (#9940) · vitest-dev/vitest@b3c992c
11import type {
22BenchmarkUserOptions,
3-CoverageV8Options,
4-ResolvedCoverageOptions,
3+CoverageOptions,
54UserConfig,
65} from './node/types/config'
6+import type { FieldsWithDefaultValues } from './node/types/coverage'
77import os from 'node:os'
88import { isAgent, isCI } from './utils/env'
99@@ -25,7 +25,7 @@ export const benchmarkConfigDefaults: Required<
2525}
26262727// These are the generic defaults for coverage. Providers may also set some provider specific defaults.
28-export const coverageConfigDefaults: ResolvedCoverageOptions = {
28+export const coverageConfigDefaults: Required<Pick<CoverageOptions, FieldsWithDefaultValues>> = {
2929provider: 'v8',
3030enabled: false,
3131clean: true,
@@ -34,17 +34,25 @@ export const coverageConfigDefaults: ResolvedCoverageOptions = {
3434exclude: [],
3535reportOnFailure: false,
3636reporter: [
37-['text', {}],
38-['html', {}],
39-['clover', {}],
40-['json', {}],
37+'text',
38+'html',
39+'clover',
40+'json',
4141],
4242allowExternal: false,
4343excludeAfterRemap: false,
4444processingConcurrency: Math.min(
454520,
4646os.availableParallelism?.() ?? os.cpus().length,
4747),
48+ignoreClassMethods: [],
49+skipFull: false,
50+watermarks: {
51+statements: [50, 80],
52+functions: [50, 80],
53+branches: [50, 80],
54+lines: [50, 80],
55+},
4856}
49575058export const fakeTimersDefaults: NonNullable<UserConfig['fakeTimers']> = {
@@ -78,7 +86,7 @@ export const configDefaults: Readonly<{
7886css: {
7987include: never[]
8088}
81-coverage: CoverageV8Options
89+coverage: CoverageOptions
8290fakeTimers: import('@sinonjs/fake-timers').FakeTimerInstallOpts
8391maxConcurrency: number
8492dangerouslyIgnoreUnhandledErrors: boolean
@@ -95,7 +103,7 @@ export const configDefaults: Readonly<{
95103isolate: true,
96104watch: !isCI && process.stdin.isTTY && !isAgent,
97105globals: false,
98-environment: 'node' as const,
106+environment: 'node',
99107clearMocks: false,
100108restoreMocks: false,
101109mockReset: false,
@@ -116,7 +124,7 @@ export const configDefaults: Readonly<{
116124css: {
117125include: [],
118126},
119-coverage: coverageConfigDefaults as CoverageV8Options,
127+coverage: coverageConfigDefaults,
120128fakeTimers: fakeTimersDefaults,
121129maxConcurrency: 5,
122130dangerouslyIgnoreUnhandledErrors: false,