Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
Something went wrong. Try again.
1.4 kB · 48 lines
TypeScript
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import type { CoverageMapData } from '@vitest/istanbul-lib-coverage'import type { IstanbulCoverageProvider } from './provider'import { COVERAGE_STORE_KEY } from './constants'
export const BaseCoverageProviderModule = { takeCoverage(): CoverageMapData | undefined { // @ts-expect-error -- untyped global return globalThis[COVERAGE_STORE_KEY] },
// Reset coverage map to prevent duplicate results if this is called twice in row startCoverage(): void { // @ts-expect-error -- untyped global const coverageMap = globalThis[COVERAGE_STORE_KEY] as CoverageMapData
// When isolated, there are no previous results if (!coverageMap) { return }
for (const filename in coverageMap) { const branches = coverageMap[filename].b
for (const key in branches) { branches[key] = branches[key].map(() => 0) }
for (const metric of ['f', 's'] as const) { const entry = coverageMap[filename][metric]
for (const key in entry) { entry[key] = 0 } } } },
async getProvider(): Promise<IstanbulCoverageProvider> { // to not bundle the provider const providerPath = './provider.js' const { IstanbulCoverageProvider } = (await import( /* @vite-ignore */ providerPath )) as typeof import('./provider')
return new IstanbulCoverageProvider() },}