Skip to content

Commit

Permalink
fix(workspace): throw error when browser mode and `@vitest/coverage-v…
Browse files Browse the repository at this point in the history
…8` are used
  • Loading branch information
AriPerkkio committed Feb 24, 2024
1 parent 5bb8b38 commit 28e077c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
4 changes: 4 additions & 0 deletions packages/vitest/src/node/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,10 @@ export class Vitest {
names.add(name)
}

const isAnyProjectBrowser = resolvedProjects.some(project => project.config.browser.enabled)
if (isAnyProjectBrowser && this.config.coverage.enabled && this.config.coverage.provider === 'v8')
throw new Error('@vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')

return resolvedProjects
}

Expand Down
13 changes: 13 additions & 0 deletions test/config/fixtures/workspace/browser/workspace-with-browser.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { defineWorkspace } from "vitest/config";

export default defineWorkspace([
{
test: {
name: "Browser project",
browser: {
enabled: true,
name: 'chrome'
},
}
}
])
6 changes: 6 additions & 0 deletions test/config/test/failures.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ test('v8 coverage provider cannot be used with browser', async () => {
expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
})

test('v8 coverage provider cannot be used with browser in workspace', async () => {
const { stderr } = await runVitest({ coverage: { enabled: true }, workspace: './fixtures/workspace/browser/workspace-with-browser.ts' })

expect(stderr).toMatch('Error: @vitest/coverage-v8 does not work with --browser. Use @vitest/coverage-istanbul instead')
})

test('version number is printed when coverage provider fails to load', async () => {
const { stderr, stdout } = await runVitest({
coverage: {
Expand Down

0 comments on commit 28e077c

Please sign in to comment.