@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.
- package/dist/provider.js +20 -4
- 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
|
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
|
+
"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.
|
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.
|
62
|
+
"vitest": "2.1.0-beta.6"
|
63
63
|
},
|
64
64
|
"scripts": {
|
65
65
|
"build": "rimraf dist && rollup -c",
|