diff --git a/packages/coverage-istanbul/src/provider.ts b/packages/coverage-istanbul/src/provider.ts index 2934ee82e486..f07eab33ae1d 100644 --- a/packages/coverage-istanbul/src/provider.ts +++ b/packages/coverage-istanbul/src/provider.ts @@ -199,9 +199,9 @@ export class IstanbulCoverageProvider extends BaseCoverageProvider> { - return parseModule( - await fs.readFile(configFilePath, 'utf8'), - ) + const contents = await fs.readFile(configFilePath, 'utf8') + + return parseModule(`${contents}${this.autoUpdateMarker}`) } private async getCoverageMapForUncoveredFiles(coveredFiles: string[]) { diff --git a/packages/coverage-v8/src/provider.ts b/packages/coverage-v8/src/provider.ts index 2d68e337ccd1..c883bdae74ab 100644 --- a/packages/coverage-v8/src/provider.ts +++ b/packages/coverage-v8/src/provider.ts @@ -139,9 +139,9 @@ export class V8CoverageProvider extends BaseCoverageProvider> { - return parseModule( - await fs.readFile(configFilePath, 'utf8'), - ) + const contents = await fs.readFile(configFilePath, 'utf8') + + return parseModule(`${contents}${this.autoUpdateMarker}`) } private async getCoverageMapForUncoveredFiles(testedFiles: string[]): Promise { diff --git a/packages/vitest/src/node/coverage.ts b/packages/vitest/src/node/coverage.ts index e81fd0e4875e..49fe4cc483dc 100644 --- a/packages/vitest/src/node/coverage.ts +++ b/packages/vitest/src/node/coverage.ts @@ -77,6 +77,7 @@ export class BaseCoverageProvider = new Map() + autoUpdateMarker = '\n// __VITEST_COVERAGE_MARKER__' coverageFiles: CoverageFiles = new Map() pendingPromises: Promise[] = [] @@ -360,7 +361,7 @@ export class BaseCoverageProvider writeFileSync( configFilePath, - configModule.generate().code, + configModule.generate().code.replace(this.autoUpdateMarker, ''), 'utf-8', ), diff --git a/test/coverage-test/test/threshold-auto-update.test.ts b/test/coverage-test/test/threshold-auto-update.test.ts index b73ddfcef8fc..e3553f5705f4 100644 --- a/test/coverage-test/test/threshold-auto-update.test.ts +++ b/test/coverage-test/test/threshold-auto-update.test.ts @@ -65,7 +65,8 @@ test('thresholds.autoUpdate updates thresholds', async () => { } } }, - })" + }) + " `) })