@vitest/coverage-v8 3.0.8 → 3.1.0-beta.1
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.d.ts +13 -13
- package/dist/provider.js +35 -38
- package/package.json +6 -6
package/dist/provider.d.ts
CHANGED
@@ -6,20 +6,20 @@ import TestExclude from 'test-exclude';
|
|
6
6
|
import { BaseCoverageProvider } from 'vitest/coverage';
|
7
7
|
|
8
8
|
interface ScriptCoverageWithOffset extends Profiler.ScriptCoverage {
|
9
|
-
|
9
|
+
startOffset: number;
|
10
10
|
}
|
11
|
-
declare class V8CoverageProvider extends BaseCoverageProvider<ResolvedCoverageOptions<
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
11
|
+
declare class V8CoverageProvider extends BaseCoverageProvider<ResolvedCoverageOptions<"v8">> implements CoverageProvider {
|
12
|
+
name: "v8";
|
13
|
+
version: string;
|
14
|
+
testExclude: InstanceType<typeof TestExclude>;
|
15
|
+
initialize(ctx: Vitest): void;
|
16
|
+
createCoverageMap(): CoverageMap;
|
17
|
+
generateCoverage({ allTestsRun }: ReportContext): Promise<CoverageMap>;
|
18
|
+
generateReports(coverageMap: CoverageMap, allTestsRun?: boolean): Promise<void>;
|
19
|
+
parseConfigModule(configFilePath: string): Promise<ProxifiedModule<any>>;
|
20
|
+
private getUntestedFiles;
|
21
|
+
private getSources;
|
22
|
+
private convertCoverage;
|
23
23
|
}
|
24
24
|
|
25
25
|
export { type ScriptCoverageWithOffset, V8CoverageProvider };
|
package/dist/provider.js
CHANGED
@@ -2539,7 +2539,7 @@ function cleanUrl(url) {
|
|
2539
2539
|
"wasi"
|
2540
2540
|
]);
|
2541
2541
|
|
2542
|
-
var version = "3.0.
|
2542
|
+
var version = "3.1.0-beta.1";
|
2543
2543
|
|
2544
2544
|
const VITE_EXPORTS_LINE_PATTERN = /Object\.defineProperty\(__vite_ssr_exports__.*\n/g;
|
2545
2545
|
const DECORATOR_METADATA_PATTERN = /_ts_metadata\("design:paramtypes", \[[^\]]*\]\),*/g;
|
@@ -2591,8 +2591,7 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2591
2591
|
if (this.options.all && (allTestsRun || !this.options.cleanOnRerun)) {
|
2592
2592
|
const coveredFiles = coverageMap.files();
|
2593
2593
|
const untestedCoverage = await this.getUntestedFiles(coveredFiles);
|
2594
|
-
|
2595
|
-
coverageMap.merge(await transformCoverage(converted));
|
2594
|
+
coverageMap.merge(await transformCoverage(untestedCoverage));
|
2596
2595
|
}
|
2597
2596
|
if (this.options.excludeAfterRemap) {
|
2598
2597
|
coverageMap.filter((filename) => this.testExclude.shouldInstrument(filename));
|
@@ -2648,50 +2647,48 @@ class V8CoverageProvider extends BaseCoverageProvider {
|
|
2648
2647
|
);
|
2649
2648
|
}
|
2650
2649
|
const uncoveredFiles = includedFiles.map((file) => pathToFileURL(file)).filter((file) => !testedFiles.includes(file.pathname));
|
2651
|
-
let merged = { result: [] };
|
2652
2650
|
let index = 0;
|
2651
|
+
const coverageMap = this.createCoverageMap();
|
2653
2652
|
for (const chunk of this.toSlices(uncoveredFiles, this.options.processingConcurrency)) {
|
2654
2653
|
if (debug.enabled) {
|
2655
2654
|
index += chunk.length;
|
2656
2655
|
debug("Uncovered files %d/%d", index, uncoveredFiles.length);
|
2657
2656
|
}
|
2658
|
-
|
2659
|
-
|
2660
|
-
|
2661
|
-
|
2662
|
-
|
2663
|
-
|
2664
|
-
|
2665
|
-
|
2666
|
-
|
2667
|
-
|
2668
|
-
|
2669
|
-
|
2657
|
+
await Promise.all(chunk.map(async (filename) => {
|
2658
|
+
const sources = await this.getSources(
|
2659
|
+
filename.href,
|
2660
|
+
transformResults,
|
2661
|
+
transform
|
2662
|
+
);
|
2663
|
+
const converter = v8ToIstanbul(
|
2664
|
+
filename.href,
|
2665
|
+
0,
|
2666
|
+
sources,
|
2667
|
+
void 0,
|
2668
|
+
this.options.ignoreEmptyLines
|
2669
|
+
);
|
2670
|
+
await converter.load();
|
2671
|
+
try {
|
2672
|
+
converter.applyCoverage([{
|
2673
|
+
ranges: [
|
2670
2674
|
{
|
2671
|
-
|
2672
|
-
|
2673
|
-
|
2674
|
-
endOffset: originalSource.length,
|
2675
|
-
count: 0
|
2676
|
-
}
|
2677
|
-
],
|
2678
|
-
isBlockCoverage: true,
|
2679
|
-
// This is magical value that indicates an empty report: https://github.com/istanbuljs/v8-to-istanbul/blob/fca5e6a9e6ef38a9cdc3a178d5a6cf9ef82e6cab/lib/v8-to-istanbul.js#LL131C40-L131C40
|
2680
|
-
functionName: "(empty-report)"
|
2675
|
+
startOffset: 0,
|
2676
|
+
endOffset: sources.originalSource.length,
|
2677
|
+
count: 0
|
2681
2678
|
}
|
2682
|
-
]
|
2683
|
-
|
2684
|
-
|
2685
|
-
|
2686
|
-
|
2687
|
-
|
2688
|
-
|
2689
|
-
|
2690
|
-
|
2691
|
-
)
|
2692
|
-
|
2679
|
+
],
|
2680
|
+
isBlockCoverage: true,
|
2681
|
+
// This is magical value that indicates an empty report: https://github.com/istanbuljs/v8-to-istanbul/blob/fca5e6a9e6ef38a9cdc3a178d5a6cf9ef82e6cab/lib/v8-to-istanbul.js#LL131C40-L131C40
|
2682
|
+
functionName: "(empty-report)"
|
2683
|
+
}]);
|
2684
|
+
} catch (error) {
|
2685
|
+
this.ctx.logger.error(`Failed to convert coverage for uncovered ${filename.href}.
|
2686
|
+
`, error);
|
2687
|
+
}
|
2688
|
+
coverageMap.merge(converter.toIstanbul());
|
2689
|
+
}));
|
2693
2690
|
}
|
2694
|
-
return
|
2691
|
+
return coverageMap;
|
2695
2692
|
}
|
2696
2693
|
async getSources(url, transformResults, onTransform, functions = []) {
|
2697
2694
|
const filePath = normalize(fileURLToPath(url));
|
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.1.0-beta.1",
|
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/browser": "3.0.
|
45
|
-
"vitest": "3.0.
|
44
|
+
"@vitest/browser": "3.1.0-beta.1",
|
45
|
+
"vitest": "3.1.0-beta.1"
|
46
46
|
},
|
47
47
|
"peerDependenciesMeta": {
|
48
48
|
"@vitest/browser": {
|
@@ -72,9 +72,9 @@
|
|
72
72
|
"@types/test-exclude": "^6.0.2",
|
73
73
|
"pathe": "^2.0.3",
|
74
74
|
"v8-to-istanbul": "^9.3.0",
|
75
|
-
"@vitest/browser": "3.0.
|
76
|
-
"vitest": "3.0.
|
77
|
-
"vite-node": "3.0.
|
75
|
+
"@vitest/browser": "3.1.0-beta.1",
|
76
|
+
"vitest": "3.1.0-beta.1",
|
77
|
+
"vite-node": "3.1.0-beta.1"
|
78
78
|
},
|
79
79
|
"scripts": {
|
80
80
|
"build": "rimraf dist && rollup -c",
|