@vitest/coverage-v8 2.0.0-beta.1 → 2.0.0-beta.10
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/index.d.ts +1 -0
- package/dist/provider.d.ts +5 -1
- package/dist/provider.js +29 -13
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
package/dist/provider.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { CoverageMap } from 'istanbul-lib-coverage';
|
1
2
|
import { BaseCoverageProvider } from 'vitest/coverage';
|
2
3
|
import { CoverageProvider, AfterSuiteRunMeta, ReportContext, ResolvedCoverageOptions } from 'vitest';
|
3
4
|
import { Vitest } from 'vitest/node';
|
@@ -32,7 +33,10 @@ declare class V8CoverageProvider extends BaseCoverageProvider implements Coverag
|
|
32
33
|
resolveOptions(): Options;
|
33
34
|
clean(clean?: boolean): Promise<void>;
|
34
35
|
onAfterSuiteRun({ coverage, transformMode, projectName }: AfterSuiteRunMeta): void;
|
35
|
-
|
36
|
+
generateCoverage({ allTestsRun }: ReportContext): Promise<CoverageMap>;
|
37
|
+
reportCoverage(coverageMap: unknown, { allTestsRun }: ReportContext): Promise<void>;
|
38
|
+
generateReports(coverageMap: CoverageMap, allTestsRun?: boolean): Promise<void>;
|
39
|
+
mergeReports(coverageMaps: unknown[]): Promise<void>;
|
36
40
|
private getUntestedFiles;
|
37
41
|
private getSources;
|
38
42
|
private convertCoverage;
|
package/dist/provider.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { existsSync, promises as promises$1, writeFileSync } from 'node:fs';
|
1
|
+
import { existsSync, promises as promises$1, readdirSync, writeFileSync } from 'node:fs';
|
2
2
|
import { pathToFileURL, fileURLToPath as fileURLToPath$1 } from 'node:url';
|
3
3
|
import require$$0 from 'assert';
|
4
4
|
import require$$2 from 'util';
|
@@ -2186,10 +2186,9 @@ const isAbsolute = function(p) {
|
|
2186
2186
|
const isWindows = process.platform === "win32";
|
2187
2187
|
const drive = isWindows ? process.cwd()[0] : null;
|
2188
2188
|
drive ? drive === drive.toUpperCase() ? drive.toLowerCase() : drive.toUpperCase() : null;
|
2189
|
-
const
|
2190
|
-
const hashRE = /#.*$/s;
|
2189
|
+
const postfixRE = /[?#].*$/;
|
2191
2190
|
function cleanUrl(url) {
|
2192
|
-
return url.replace(
|
2191
|
+
return url.replace(postfixRE, "");
|
2193
2192
|
}
|
2194
2193
|
/* @__PURE__ */ new Set([
|
2195
2194
|
...builtinModules,
|
@@ -2210,7 +2209,7 @@ function cleanUrl(url) {
|
|
2210
2209
|
|
2211
2210
|
const WRAPPER_LENGTH = 185;
|
2212
2211
|
const VITE_EXPORTS_LINE_PATTERN = /Object\.defineProperty\(__vite_ssr_exports__.*\n/g;
|
2213
|
-
const DECORATOR_METADATA_PATTERN = /_ts_metadata\("design:paramtypes", \[[^\]]
|
2212
|
+
const DECORATOR_METADATA_PATTERN = /_ts_metadata\("design:paramtypes", \[[^\]]*\]\),*/g;
|
2214
2213
|
const DEFAULT_PROJECT = Symbol.for("default-project");
|
2215
2214
|
const debug = createDebug("vitest:coverage");
|
2216
2215
|
let uniqueId = 0;
|
@@ -2283,9 +2282,7 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2283
2282
|
const promise = promises$1.writeFile(filename, JSON.stringify(coverage), "utf-8");
|
2284
2283
|
this.pendingPromises.push(promise);
|
2285
2284
|
}
|
2286
|
-
async
|
2287
|
-
if (provider === "stackblitz")
|
2288
|
-
this.ctx.logger.log(c.blue(" % ") + c.yellow("@vitest/coverage-v8 does not work on Stackblitz. Report will be empty."));
|
2285
|
+
async generateCoverage({ allTestsRun }) {
|
2289
2286
|
const coverageMap = libCoverage.createCoverageMap({});
|
2290
2287
|
let index = 0;
|
2291
2288
|
const total = this.pendingPromises.length;
|
@@ -2316,6 +2313,24 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2316
2313
|
const converted = await this.convertCoverage(untestedCoverage);
|
2317
2314
|
coverageMap.merge(await transformCoverage(converted));
|
2318
2315
|
}
|
2316
|
+
return coverageMap;
|
2317
|
+
}
|
2318
|
+
async reportCoverage(coverageMap, { allTestsRun }) {
|
2319
|
+
if (provider === "stackblitz")
|
2320
|
+
this.ctx.logger.log(c.blue(" % ") + c.yellow("@vitest/coverage-v8 does not work on Stackblitz. Report will be empty."));
|
2321
|
+
await this.generateReports(
|
2322
|
+
coverageMap || libCoverage.createCoverageMap({}),
|
2323
|
+
allTestsRun
|
2324
|
+
);
|
2325
|
+
const keepResults = !this.options.cleanOnRerun && this.ctx.config.watch;
|
2326
|
+
if (!keepResults) {
|
2327
|
+
this.coverageFiles = /* @__PURE__ */ new Map();
|
2328
|
+
await promises$1.rm(this.coverageFilesDirectory, { recursive: true });
|
2329
|
+
if (readdirSync(this.options.reportsDirectory).length === 0)
|
2330
|
+
await promises$1.rm(this.options.reportsDirectory, { recursive: true });
|
2331
|
+
}
|
2332
|
+
}
|
2333
|
+
async generateReports(coverageMap, allTestsRun) {
|
2319
2334
|
const context = libReport.createContext({
|
2320
2335
|
dir: this.options.reportsDirectory,
|
2321
2336
|
coverageMap,
|
@@ -2354,11 +2369,12 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2354
2369
|
});
|
2355
2370
|
}
|
2356
2371
|
}
|
2357
|
-
|
2358
|
-
|
2359
|
-
|
2360
|
-
|
2361
|
-
|
2372
|
+
}
|
2373
|
+
async mergeReports(coverageMaps) {
|
2374
|
+
const coverageMap = libCoverage.createCoverageMap({});
|
2375
|
+
for (const coverage of coverageMaps)
|
2376
|
+
coverageMap.merge(coverage);
|
2377
|
+
await this.generateReports(coverageMap, true);
|
2362
2378
|
}
|
2363
2379
|
async getUntestedFiles(testedFiles) {
|
2364
2380
|
const transformResults = normalizeTransformResults(this.ctx.vitenode.fetchCache);
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/coverage-v8",
|
3
3
|
"type": "module",
|
4
|
-
"version": "2.0.0-beta.
|
4
|
+
"version": "2.0.0-beta.10",
|
5
5
|
"description": "V8 coverage provider for Vitest",
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
7
7
|
"license": "MIT",
|
@@ -37,22 +37,22 @@
|
|
37
37
|
"dist"
|
38
38
|
],
|
39
39
|
"peerDependencies": {
|
40
|
-
"vitest": "2.0.0-beta.
|
40
|
+
"vitest": "2.0.0-beta.10"
|
41
41
|
},
|
42
42
|
"dependencies": {
|
43
43
|
"@ampproject/remapping": "^2.3.0",
|
44
44
|
"@bcoe/v8-coverage": "^0.2.3",
|
45
|
-
"debug": "^4.3.
|
45
|
+
"debug": "^4.3.5",
|
46
46
|
"istanbul-lib-coverage": "^3.2.2",
|
47
47
|
"istanbul-lib-report": "^3.0.1",
|
48
48
|
"istanbul-lib-source-maps": "^5.0.4",
|
49
49
|
"istanbul-reports": "^3.1.7",
|
50
50
|
"magic-string": "^0.30.10",
|
51
51
|
"magicast": "^0.3.4",
|
52
|
-
"picocolors": "^1.0.
|
52
|
+
"picocolors": "^1.0.1",
|
53
53
|
"std-env": "^3.7.0",
|
54
54
|
"strip-literal": "^2.1.0",
|
55
|
-
"test-exclude": "^
|
55
|
+
"test-exclude": "^7.0.1"
|
56
56
|
},
|
57
57
|
"devDependencies": {
|
58
58
|
"@types/debug": "^4.1.12",
|
@@ -62,8 +62,8 @@
|
|
62
62
|
"@types/istanbul-reports": "^3.0.4",
|
63
63
|
"pathe": "^1.1.2",
|
64
64
|
"v8-to-istanbul": "^9.2.0",
|
65
|
-
"
|
66
|
-
"
|
65
|
+
"vite-node": "2.0.0-beta.10",
|
66
|
+
"vitest": "2.0.0-beta.10"
|
67
67
|
},
|
68
68
|
"scripts": {
|
69
69
|
"build": "rimraf dist && rollup -c",
|