From b6c41caae84cfd37b6bf4a60071800a233f5d0e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Mon, 23 Jan 2023 11:26:16 +0200 Subject: [PATCH] fix(coverage): c8 to log warning when run in Stackblitz (#2735) --- packages/coverage-c8/package.json | 2 ++ packages/coverage-c8/src/provider.ts | 5 +++++ pnpm-lock.yaml | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/packages/coverage-c8/package.json b/packages/coverage-c8/package.json index 191acaa62e31..3b8812e93374 100644 --- a/packages/coverage-c8/package.json +++ b/packages/coverage-c8/package.json @@ -43,6 +43,8 @@ }, "dependencies": { "c8": "^7.12.0", + "picocolors": "^1.0.0", + "std-env": "^3.3.1", "vitest": "workspace:*" }, "devDependencies": { diff --git a/packages/coverage-c8/src/provider.ts b/packages/coverage-c8/src/provider.ts index 5e5d2b5b8580..91be9b82b9cf 100644 --- a/packages/coverage-c8/src/provider.ts +++ b/packages/coverage-c8/src/provider.ts @@ -3,6 +3,8 @@ import _url from 'url' import type { Profiler } from 'inspector' import { takeCoverage } from 'v8' import { extname, resolve } from 'pathe' +import c from 'picocolors' +import { provider } from 'std-env' import type { RawSourceMap } from 'vite-node' import { coverageConfigDefaults } from 'vitest/config' // eslint-disable-next-line no-restricted-imports @@ -52,6 +54,9 @@ export class C8CoverageProvider implements CoverageProvider { async reportCoverage({ allTestsRun }: ReportContext = {}) { takeCoverage() + if (provider === 'stackblitz') + this.ctx.logger.log(c.blue(' % ') + c.yellow('@vitest/coverage-c8 does not work on Stackblitz. Report will be empty.')) + const options: ConstructorParameters[0] = { ...this.options, all: this.options.all && allTestsRun, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index efacc9fcf190..0c1af694b3d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -652,10 +652,14 @@ importers: specifiers: c8: ^7.12.0 pathe: ^1.1.0 + picocolors: ^1.0.0 + std-env: ^3.3.1 vite-node: workspace:* vitest: workspace:* dependencies: c8: 7.12.0 + picocolors: 1.0.0 + std-env: 3.3.1 vitest: link:../vitest devDependencies: pathe: 1.1.0