@vitest/coverage-istanbul 2.1.0-beta.4 → 2.1.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/provider.js +20 -4
  2. package/package.json +3 -3
package/dist/provider.js CHANGED
@@ -108,6 +108,8 @@ const isAbsolute = function(p) {
108
108
  return _IS_ABSOLUTE_RE.test(p);
109
109
  };
110
110
 
111
+ var version = "2.1.0-beta.6";
112
+
111
113
  const DEFAULT_PROJECT = Symbol.for("default-project");
112
114
  const debug = createDebug("vitest:coverage");
113
115
  let uniqueId = 0;
@@ -122,6 +124,15 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
122
124
  pendingPromises = [];
123
125
  initialize(ctx) {
124
126
  const config = ctx.config.coverage;
127
+ if (ctx.version !== version) {
128
+ ctx.logger.warn(
129
+ c.yellow(
130
+ `Loaded ${c.inverse(c.yellow(` vitest@${ctx.version} `))} and ${c.inverse(c.yellow(` @vitest/coverage-istanbul@${version} `))}.
131
+ Running mixed versions is not supported and may lead into bugs
132
+ Update your dependencies and make sure the versions match.`
133
+ )
134
+ );
135
+ }
125
136
  this.ctx = ctx;
126
137
  this.options = {
127
138
  ...coverageConfigDefaults,
@@ -207,12 +218,12 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
207
218
  if (!coverage) {
208
219
  return;
209
220
  }
210
- if (transformMode !== "web" && transformMode !== "ssr") {
221
+ if (transformMode !== "web" && transformMode !== "ssr" && transformMode !== "browser") {
211
222
  throw new Error(`Invalid transform mode: ${transformMode}`);
212
223
  }
213
224
  let entry = this.coverageFiles.get(projectName || DEFAULT_PROJECT);
214
225
  if (!entry) {
215
- entry = { web: [], ssr: [] };
226
+ entry = { web: [], ssr: [], browser: [] };
216
227
  this.coverageFiles.set(projectName || DEFAULT_PROJECT, entry);
217
228
  }
218
229
  const filename = resolve(
@@ -251,7 +262,8 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
251
262
  for (const coveragePerProject of this.coverageFiles.values()) {
252
263
  for (const filenames of [
253
264
  coveragePerProject.ssr,
254
- coveragePerProject.web
265
+ coveragePerProject.web,
266
+ coveragePerProject.browser
255
267
  ]) {
256
268
  const coverageMapByTransformMode = libCoverage.createCoverageMap({});
257
269
  for (const chunk of this.toSlices(
@@ -283,6 +295,9 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
283
295
  );
284
296
  coverageMap.merge(await transformCoverage(uncoveredCoverage));
285
297
  }
298
+ if (this.options.excludeAfterRemap) {
299
+ coverageMap.filter((filename) => this.testExclude.shouldInstrument(filename));
300
+ }
286
301
  return coverageMap;
287
302
  }
288
303
  async reportCoverage(coverageMap, { allTestsRun }) {
@@ -372,9 +387,10 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
372
387
  const uncoveredFiles = includedFiles.filter((file) => !coveredFiles.includes(file)).sort();
373
388
  const cacheKey = (/* @__PURE__ */ new Date()).getTime();
374
389
  const coverageMap = libCoverage.createCoverageMap({});
390
+ const transform = this.createUncoveredFileTransformer(this.ctx);
375
391
  for (const [index, filename] of uncoveredFiles.entries()) {
376
392
  debug("Uncovered file %s %d/%d", filename, index, uncoveredFiles.length);
377
- await this.ctx.vitenode.transformRequest(`${filename}?v=${cacheKey}`);
393
+ await transform(`${filename}?v=${cacheKey}`);
378
394
  const lastCoverage = this.instrumenter.lastFileCoverage();
379
395
  coverageMap.addFileCoverage(lastCoverage);
380
396
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/coverage-istanbul",
3
3
  "type": "module",
4
- "version": "2.1.0-beta.4",
4
+ "version": "2.1.0-beta.6",
5
5
  "description": "Istanbul coverage provider for Vitest",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -37,7 +37,7 @@
37
37
  "dist"
38
38
  ],
39
39
  "peerDependencies": {
40
- "vitest": "2.1.0-beta.4"
40
+ "vitest": "2.1.0-beta.6"
41
41
  },
42
42
  "dependencies": {
43
43
  "@istanbuljs/schema": "^0.1.3",
@@ -59,7 +59,7 @@
59
59
  "@types/istanbul-lib-source-maps": "^4.0.4",
60
60
  "@types/istanbul-reports": "^3.0.4",
61
61
  "pathe": "^1.1.2",
62
- "vitest": "2.1.0-beta.4"
62
+ "vitest": "2.1.0-beta.6"
63
63
  },
64
64
  "scripts": {
65
65
  "build": "rimraf dist && rollup -c",