@vitest/coverage-v8 3.0.5 → 3.0.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/browser.d.ts +3 -15
- package/dist/browser.js +2 -2
- package/dist/index.d.ts +3 -20
- package/dist/index.js +8 -4
- package/dist/provider.d.ts +7 -3
- package/dist/provider.js +12 -12
- package/package.json +7 -7
package/dist/browser.d.ts
CHANGED
@@ -1,17 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
import 'magicast';
|
3
|
-
import 'istanbul-lib-coverage';
|
4
|
-
import 'vitest/node';
|
5
|
-
import 'test-exclude';
|
6
|
-
import 'vitest/coverage';
|
1
|
+
import { CoverageProviderModule } from 'vitest/node';
|
7
2
|
|
8
|
-
declare const
|
9
|
-
startCoverage(): Promise<void>;
|
10
|
-
takeCoverage(): Promise<{
|
11
|
-
result: any[];
|
12
|
-
}>;
|
13
|
-
stopCoverage(): void;
|
14
|
-
getProvider(): Promise<V8CoverageProvider>;
|
15
|
-
};
|
3
|
+
declare const mod: CoverageProviderModule;
|
16
4
|
|
17
|
-
export {
|
5
|
+
export { mod as default };
|
package/dist/browser.js
CHANGED
@@ -3,7 +3,7 @@ import { l as loadProvider } from './load-provider-Bl5rgjsL.js';
|
|
3
3
|
|
4
4
|
const session = cdp();
|
5
5
|
let enabled = false;
|
6
|
-
|
6
|
+
const mod = {
|
7
7
|
async startCoverage() {
|
8
8
|
if (enabled) {
|
9
9
|
return;
|
@@ -56,4 +56,4 @@ function filterResult(coverage) {
|
|
56
56
|
return true;
|
57
57
|
}
|
58
58
|
|
59
|
-
export {
|
59
|
+
export { mod as default };
|
package/dist/index.d.ts
CHANGED
@@ -1,22 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
import { Profiler } from 'node:inspector';
|
3
|
-
import 'magicast';
|
4
|
-
import 'istanbul-lib-coverage';
|
5
|
-
import 'vitest/node';
|
6
|
-
import 'test-exclude';
|
7
|
-
import 'vitest/coverage';
|
1
|
+
import { CoverageProviderModule } from 'vitest/node';
|
8
2
|
|
9
|
-
declare const
|
10
|
-
startCoverage({ isolate }: {
|
11
|
-
isolate: boolean;
|
12
|
-
}): void;
|
13
|
-
takeCoverage(): Promise<{
|
14
|
-
result: Profiler.ScriptCoverage[];
|
15
|
-
}>;
|
16
|
-
stopCoverage({ isolate }: {
|
17
|
-
isolate: boolean;
|
18
|
-
}): void;
|
19
|
-
getProvider(): Promise<V8CoverageProvider>;
|
20
|
-
};
|
3
|
+
declare const mod: CoverageProviderModule;
|
21
4
|
|
22
|
-
export {
|
5
|
+
export { mod as default };
|
package/dist/index.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
import inspector from 'node:inspector';
|
2
|
+
import { fileURLToPath } from 'node:url';
|
2
3
|
import { provider } from 'std-env';
|
3
4
|
import { l as loadProvider } from './load-provider-Bl5rgjsL.js';
|
4
5
|
|
5
6
|
const session = new inspector.Session();
|
6
7
|
let enabled = false;
|
7
|
-
|
8
|
+
const mod = {
|
8
9
|
startCoverage({ isolate }) {
|
9
10
|
if (isolate === false && enabled) {
|
10
11
|
return;
|
@@ -17,13 +18,16 @@ var index = {
|
|
17
18
|
detailed: true
|
18
19
|
});
|
19
20
|
},
|
20
|
-
takeCoverage() {
|
21
|
+
takeCoverage(options) {
|
21
22
|
return new Promise((resolve, reject) => {
|
22
23
|
session.post("Profiler.takePreciseCoverage", async (error, coverage) => {
|
23
24
|
if (error) {
|
24
25
|
return reject(error);
|
25
26
|
}
|
26
|
-
const result = coverage.result.filter(filterResult)
|
27
|
+
const result = coverage.result.filter(filterResult).map((res) => ({
|
28
|
+
...res,
|
29
|
+
startOffset: options?.moduleExecutionInfo?.get(fileURLToPath(res.url))?.startOffset || 0
|
30
|
+
}));
|
27
31
|
resolve({ result });
|
28
32
|
});
|
29
33
|
if (provider === "stackblitz") {
|
@@ -53,4 +57,4 @@ function filterResult(coverage) {
|
|
53
57
|
return true;
|
54
58
|
}
|
55
59
|
|
56
|
-
export {
|
60
|
+
export { mod as default };
|
package/dist/provider.d.ts
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
-
import * as magicast from 'magicast';
|
2
1
|
import { CoverageMap } from 'istanbul-lib-coverage';
|
2
|
+
import { ProxifiedModule } from 'magicast';
|
3
|
+
import { Profiler } from 'node:inspector';
|
3
4
|
import { ResolvedCoverageOptions, CoverageProvider, Vitest, ReportContext } from 'vitest/node';
|
4
5
|
import TestExclude from 'test-exclude';
|
5
6
|
import { BaseCoverageProvider } from 'vitest/coverage';
|
6
7
|
|
8
|
+
interface ScriptCoverageWithOffset extends Profiler.ScriptCoverage {
|
9
|
+
startOffset: number;
|
10
|
+
}
|
7
11
|
declare class V8CoverageProvider extends BaseCoverageProvider<ResolvedCoverageOptions<'v8'>> implements CoverageProvider {
|
8
12
|
name: "v8";
|
9
13
|
version: string;
|
@@ -12,10 +16,10 @@ declare class V8CoverageProvider extends BaseCoverageProvider<ResolvedCoverageOp
|
|
12
16
|
createCoverageMap(): CoverageMap;
|
13
17
|
generateCoverage({ allTestsRun }: ReportContext): Promise<CoverageMap>;
|
14
18
|
generateReports(coverageMap: CoverageMap, allTestsRun?: boolean): Promise<void>;
|
15
|
-
parseConfigModule(configFilePath: string): Promise<
|
19
|
+
parseConfigModule(configFilePath: string): Promise<ProxifiedModule<any>>;
|
16
20
|
private getUntestedFiles;
|
17
21
|
private getSources;
|
18
22
|
private convertCoverage;
|
19
23
|
}
|
20
24
|
|
21
|
-
export { V8CoverageProvider };
|
25
|
+
export { type ScriptCoverageWithOffset, V8CoverageProvider };
|
package/dist/provider.js
CHANGED
@@ -1627,7 +1627,7 @@ function requireTraceMapping_umd () {
|
|
1627
1627
|
function encodedMappings(map) {
|
1628
1628
|
var _a;
|
1629
1629
|
var _b;
|
1630
|
-
return ((_a = (_b = cast(map))._encoded) !== null && _a !==
|
1630
|
+
return ((_a = (_b = cast(map))._encoded) !== null && _a !== void 0 ? _a : (_b._encoded = sourcemapCodec.encode(cast(map)._decoded)));
|
1631
1631
|
}
|
1632
1632
|
/**
|
1633
1633
|
* Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
|
@@ -2539,9 +2539,8 @@ function cleanUrl(url) {
|
|
2539
2539
|
"wasi"
|
2540
2540
|
]);
|
2541
2541
|
|
2542
|
-
var version = "3.0.
|
2542
|
+
var version = "3.0.6";
|
2543
2543
|
|
2544
|
-
const WRAPPER_LENGTH = 185;
|
2545
2544
|
const VITE_EXPORTS_LINE_PATTERN = /Object\.defineProperty\(__vite_ssr_exports__.*\n/g;
|
2546
2545
|
const DECORATOR_METADATA_PATTERN = /_ts_metadata\("design:paramtypes", \[[^\]]*\]\),*/g;
|
2547
2546
|
const FILE_PROTOCOL = "file://";
|
@@ -2570,6 +2569,12 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2570
2569
|
await this.readCoverageFiles({
|
2571
2570
|
onFileRead(coverage) {
|
2572
2571
|
merged = mergeProcessCovs([merged, coverage]);
|
2572
|
+
merged.result.forEach((result) => {
|
2573
|
+
if (!result.startOffset) {
|
2574
|
+
const original = coverage.result.find((r) => r.url === result.url);
|
2575
|
+
result.startOffset = original?.startOffset || 0;
|
2576
|
+
}
|
2577
|
+
});
|
2573
2578
|
},
|
2574
2579
|
onFinished: async (project, transformMode) => {
|
2575
2580
|
const converted = await this.convertCoverage(
|
@@ -2690,11 +2695,9 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2690
2695
|
}
|
2691
2696
|
async getSources(url, transformResults, onTransform, functions = []) {
|
2692
2697
|
const filePath = normalize(fileURLToPath(url));
|
2693
|
-
let isExecuted = true;
|
2694
2698
|
let transformResult = transformResults.get(filePath);
|
2695
2699
|
if (!transformResult) {
|
2696
|
-
|
2697
|
-
transformResult = await onTransform(removeStartsWith(url, FILE_PROTOCOL)).catch(() => undefined);
|
2700
|
+
transformResult = await onTransform(removeStartsWith(url, FILE_PROTOCOL)).catch(() => void 0);
|
2698
2701
|
}
|
2699
2702
|
const map = transformResult?.map;
|
2700
2703
|
const code = transformResult?.code;
|
@@ -2707,7 +2710,6 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2707
2710
|
}
|
2708
2711
|
if (!map) {
|
2709
2712
|
return {
|
2710
|
-
isExecuted,
|
2711
2713
|
source: code || sourcesContent[0],
|
2712
2714
|
originalSource: sourcesContent[0]
|
2713
2715
|
};
|
@@ -2717,7 +2719,6 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2717
2719
|
sources.push(url);
|
2718
2720
|
}
|
2719
2721
|
return {
|
2720
|
-
isExecuted,
|
2721
2722
|
originalSource: sourcesContent[0],
|
2722
2723
|
source: code || sourcesContent[0],
|
2723
2724
|
sourceMap: {
|
@@ -2766,19 +2767,18 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2766
2767
|
debug("Converting %d/%d", index, scriptCoverages.length);
|
2767
2768
|
}
|
2768
2769
|
await Promise.all(
|
2769
|
-
chunk.map(async ({ url, functions }) => {
|
2770
|
+
chunk.map(async ({ url, functions, startOffset }) => {
|
2770
2771
|
const sources = await this.getSources(
|
2771
2772
|
url,
|
2772
2773
|
transformResults,
|
2773
2774
|
onTransform,
|
2774
2775
|
functions
|
2775
2776
|
);
|
2776
|
-
const wrapperLength = sources.isExecuted ? WRAPPER_LENGTH : 0;
|
2777
2777
|
const converter = v8ToIstanbul(
|
2778
2778
|
url,
|
2779
|
-
|
2779
|
+
startOffset,
|
2780
2780
|
sources,
|
2781
|
-
|
2781
|
+
void 0,
|
2782
2782
|
this.options.ignoreEmptyLines
|
2783
2783
|
);
|
2784
2784
|
await converter.load();
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/coverage-v8",
|
3
3
|
"type": "module",
|
4
|
-
"version": "3.0.
|
4
|
+
"version": "3.0.6",
|
5
5
|
"description": "V8 coverage provider for Vitest",
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
7
7
|
"license": "MIT",
|
@@ -41,8 +41,8 @@
|
|
41
41
|
"dist"
|
42
42
|
],
|
43
43
|
"peerDependencies": {
|
44
|
-
"vitest": "3.0.
|
45
|
-
"
|
44
|
+
"@vitest/browser": "3.0.6",
|
45
|
+
"vitest": "3.0.6"
|
46
46
|
},
|
47
47
|
"peerDependenciesMeta": {
|
48
48
|
"@vitest/browser": {
|
@@ -70,11 +70,11 @@
|
|
70
70
|
"@types/istanbul-lib-source-maps": "^4.0.4",
|
71
71
|
"@types/istanbul-reports": "^3.0.4",
|
72
72
|
"@types/test-exclude": "^6.0.2",
|
73
|
-
"pathe": "^2.0.
|
73
|
+
"pathe": "^2.0.3",
|
74
74
|
"v8-to-istanbul": "^9.3.0",
|
75
|
-
"@vitest/browser": "3.0.
|
76
|
-
"
|
77
|
-
"
|
75
|
+
"@vitest/browser": "3.0.6",
|
76
|
+
"vite-node": "3.0.6",
|
77
|
+
"vitest": "3.0.6"
|
78
78
|
},
|
79
79
|
"scripts": {
|
80
80
|
"build": "rimraf dist && rollup -c",
|