@@ -2,7 +2,7 @@ import type { CoverageMap } from 'istanbul-lib-coverage'
22import type { Instrumenter } from 'istanbul-lib-instrument'
33import type { ProxifiedModule } from 'magicast'
44import type { CoverageProvider , ReportContext , ResolvedCoverageOptions , Vite , Vitest } from 'vitest/node'
5- import { promises as fs } from 'node:fs'
5+ import { existsSync , promises as fs } from 'node:fs'
66// @ts -expect-error missing types
77import { defaults as istanbulDefaults } from '@istanbuljs/schema'
88import createDebug from 'debug'
@@ -15,7 +15,6 @@ import { parseModule } from 'magicast'
1515import c from 'tinyrainbow'
1616import { BaseCoverageProvider } from 'vitest/coverage'
1717import { isCSSRequest } from 'vitest/node'
18-
1918import { version } from '../package.json' with { type : 'json' }
2019import { COVERAGE_STORE_KEY } from './constants'
2120
@@ -118,9 +117,15 @@ export class IstanbulCoverageProvider extends BaseCoverageProvider<ResolvedCover
118117 coverageMap . merge ( await transformCoverage ( uncoveredCoverage ) )
119118 }
120119
121- if ( this . options . excludeAfterRemap ) {
122- coverageMap . filter ( filename => this . isIncluded ( filename ) )
123- }
120+ coverageMap . filter ( ( filename ) => {
121+ const exists = existsSync ( filename )
122+
123+ if ( this . options . excludeAfterRemap ) {
124+ return exists && this . isIncluded ( filename )
125+ }
126+
127+ return exists
128+ } )
124129
125130 if ( debug . enabled ) {
126131 debug ( 'Generate coverage total time %d ms' , ( performance . now ( ) - start ! ) . toFixed ( ) )
0 commit comments