Skip to content

Commit 28e077c

Browse files
committed
fix(workspace): throw error when browser mode and @vitest/coverage-v8 are used
1 parent 5bb8b38 commit 28e077c

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

packages/vitest/src/node/core.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,10 @@ export class Vitest {
336336
names.add(name)
337337
}
338338

339+
const isAnyProjectBrowser = resolvedProjects.some(project => project.config.browser.enabled)
340+
if (isAnyProjectBrowser && this.config.coverage.enabled && this.config.coverage.provider === 'v8')
341+
throw new Error('@vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
342+
339343
return resolvedProjects
340344
}
341345

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { defineWorkspace } from "vitest/config";
2+
3+
export default defineWorkspace([
4+
{
5+
test: {
6+
name: "Browser project",
7+
browser: {
8+
enabled: true,
9+
name: 'chrome'
10+
},
11+
}
12+
}
13+
])

test/config/test/failures.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ test('v8 coverage provider cannot be used with browser', async () => {
6161
expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
6262
})
6363

64+
test('v8 coverage provider cannot be used with browser in workspace', async () => {
65+
const { stderr } = await runVitest({ coverage: { enabled: true }, workspace: './fixtures/workspace/browser/workspace-with-browser.ts' })
66+
67+
expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
68+
})
69+
6470
test('version number is printed when coverage provider fails to load', async () => {
6571
const { stderr, stdout } = await runVitest({
6672
coverage: {

0 commit comments

Comments
 (0)