@vitest/coverage-istanbul 1.6.0 → 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.js +1 -1
- package/dist/provider.d.ts +5 -2
- package/dist/provider.js +30 -12
- package/package.json +10 -10
- /package/dist/{constants-DBqnqzn-.js → constants-BCJfMgEg.js} +0 -0
package/dist/index.js
CHANGED
package/dist/provider.d.ts
CHANGED
@@ -38,8 +38,11 @@ declare class IstanbulCoverageProvider extends BaseCoverageProvider implements C
|
|
38
38
|
} | undefined;
|
39
39
|
onAfterSuiteRun({ coverage, transformMode, projectName }: AfterSuiteRunMeta): void;
|
40
40
|
clean(clean?: boolean): Promise<void>;
|
41
|
-
|
42
|
-
|
41
|
+
generateCoverage({ allTestsRun }: ReportContext): Promise<CoverageMap>;
|
42
|
+
reportCoverage(coverageMap: unknown, { allTestsRun }: ReportContext): Promise<void>;
|
43
|
+
generateReports(coverageMap: CoverageMap, allTestsRun: boolean | undefined): Promise<void>;
|
44
|
+
mergeReports(coverageMaps: unknown[]): Promise<void>;
|
45
|
+
private getCoverageMapForUncoveredFiles;
|
43
46
|
}
|
44
47
|
|
45
48
|
export { IstanbulCoverageProvider };
|
package/dist/provider.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { promises, existsSync, writeFileSync } from 'node:fs';
|
1
|
+
import { promises, existsSync, readdirSync, writeFileSync } from 'node:fs';
|
2
2
|
import { coverageConfigDefaults, defaultExclude, defaultInclude } from 'vitest/config';
|
3
3
|
import { BaseCoverageProvider } from 'vitest/coverage';
|
4
4
|
import c from 'picocolors';
|
@@ -10,17 +10,18 @@ import libCoverage from 'istanbul-lib-coverage';
|
|
10
10
|
import libSourceMaps from 'istanbul-lib-source-maps';
|
11
11
|
import { createInstrumenter } from 'istanbul-lib-instrument';
|
12
12
|
import _TestExclude from 'test-exclude';
|
13
|
-
import { C as COVERAGE_STORE_KEY } from './constants-
|
13
|
+
import { C as COVERAGE_STORE_KEY } from './constants-BCJfMgEg.js';
|
14
14
|
|
15
|
+
const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
15
16
|
function normalizeWindowsPath(input = "") {
|
16
|
-
if (!input
|
17
|
+
if (!input) {
|
17
18
|
return input;
|
18
19
|
}
|
19
|
-
return input.replace(/\\/g, "/");
|
20
|
+
return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());
|
20
21
|
}
|
21
22
|
const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
|
22
23
|
function cwd() {
|
23
|
-
if (typeof process !== "undefined") {
|
24
|
+
if (typeof process !== "undefined" && typeof process.cwd === "function") {
|
24
25
|
return process.cwd().replace(/\\/g, "/");
|
25
26
|
}
|
26
27
|
return "/";
|
@@ -202,7 +203,7 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
|
|
202
203
|
this.coverageFiles = /* @__PURE__ */ new Map();
|
203
204
|
this.pendingPromises = [];
|
204
205
|
}
|
205
|
-
async
|
206
|
+
async generateCoverage({ allTestsRun }) {
|
206
207
|
const coverageMap = libCoverage.createCoverageMap({});
|
207
208
|
let index = 0;
|
208
209
|
const total = this.pendingPromises.length;
|
@@ -231,6 +232,22 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
|
|
231
232
|
const uncoveredCoverage = await this.getCoverageMapForUncoveredFiles(coveredFiles);
|
232
233
|
coverageMap.merge(await transformCoverage(uncoveredCoverage));
|
233
234
|
}
|
235
|
+
return coverageMap;
|
236
|
+
}
|
237
|
+
async reportCoverage(coverageMap, { allTestsRun }) {
|
238
|
+
await this.generateReports(
|
239
|
+
coverageMap || libCoverage.createCoverageMap({}),
|
240
|
+
allTestsRun
|
241
|
+
);
|
242
|
+
const keepResults = !this.options.cleanOnRerun && this.ctx.config.watch;
|
243
|
+
if (!keepResults) {
|
244
|
+
this.coverageFiles = /* @__PURE__ */ new Map();
|
245
|
+
await promises.rm(this.coverageFilesDirectory, { recursive: true });
|
246
|
+
if (readdirSync(this.options.reportsDirectory).length === 0)
|
247
|
+
await promises.rm(this.options.reportsDirectory, { recursive: true });
|
248
|
+
}
|
249
|
+
}
|
250
|
+
async generateReports(coverageMap, allTestsRun) {
|
234
251
|
const context = libReport.createContext({
|
235
252
|
dir: this.options.reportsDirectory,
|
236
253
|
coverageMap,
|
@@ -269,18 +286,19 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
|
|
269
286
|
});
|
270
287
|
}
|
271
288
|
}
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
289
|
+
}
|
290
|
+
async mergeReports(coverageMaps) {
|
291
|
+
const coverageMap = libCoverage.createCoverageMap({});
|
292
|
+
for (const coverage of coverageMaps)
|
293
|
+
coverageMap.merge(coverage);
|
294
|
+
await this.generateReports(coverageMap, true);
|
277
295
|
}
|
278
296
|
async getCoverageMapForUncoveredFiles(coveredFiles) {
|
279
297
|
const allFiles = await this.testExclude.glob(this.ctx.config.root);
|
280
298
|
let includedFiles = allFiles.map((file) => resolve(this.ctx.config.root, file));
|
281
299
|
if (this.ctx.config.changed)
|
282
300
|
includedFiles = (this.ctx.config.related || []).filter((file) => includedFiles.includes(file));
|
283
|
-
const uncoveredFiles = includedFiles.filter((file) => !coveredFiles.includes(file));
|
301
|
+
const uncoveredFiles = includedFiles.filter((file) => !coveredFiles.includes(file)).sort();
|
284
302
|
const cacheKey = (/* @__PURE__ */ new Date()).getTime();
|
285
303
|
const coverageMap = libCoverage.createCoverageMap({});
|
286
304
|
for (const [index, filename] of uncoveredFiles.entries()) {
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/coverage-istanbul",
|
3
3
|
"type": "module",
|
4
|
-
"version": "
|
4
|
+
"version": "2.0.0-beta.10",
|
5
5
|
"description": "Istanbul coverage provider for Vitest",
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
7
7
|
"license": "MIT",
|
@@ -37,18 +37,18 @@
|
|
37
37
|
"dist"
|
38
38
|
],
|
39
39
|
"peerDependencies": {
|
40
|
-
"vitest": "
|
40
|
+
"vitest": "2.0.0-beta.10"
|
41
41
|
},
|
42
42
|
"dependencies": {
|
43
|
-
"debug": "^4.3.
|
43
|
+
"debug": "^4.3.5",
|
44
44
|
"istanbul-lib-coverage": "^3.2.2",
|
45
|
-
"istanbul-lib-instrument": "^6.0.
|
45
|
+
"istanbul-lib-instrument": "^6.0.2",
|
46
46
|
"istanbul-lib-report": "^3.0.1",
|
47
47
|
"istanbul-lib-source-maps": "^5.0.4",
|
48
|
-
"istanbul-reports": "^3.1.
|
49
|
-
"magicast": "^0.3.
|
50
|
-
"picocolors": "^1.0.
|
51
|
-
"test-exclude": "^
|
48
|
+
"istanbul-reports": "^3.1.7",
|
49
|
+
"magicast": "^0.3.4",
|
50
|
+
"picocolors": "^1.0.1",
|
51
|
+
"test-exclude": "^7.0.1"
|
52
52
|
},
|
53
53
|
"devDependencies": {
|
54
54
|
"@types/debug": "^4.1.12",
|
@@ -57,8 +57,8 @@
|
|
57
57
|
"@types/istanbul-lib-report": "^3.0.3",
|
58
58
|
"@types/istanbul-lib-source-maps": "^4.0.4",
|
59
59
|
"@types/istanbul-reports": "^3.0.4",
|
60
|
-
"pathe": "^1.1.
|
61
|
-
"vitest": "
|
60
|
+
"pathe": "^1.1.2",
|
61
|
+
"vitest": "2.0.0-beta.10"
|
62
62
|
},
|
63
63
|
"scripts": {
|
64
64
|
"build": "rimraf dist && rollup -c",
|
File without changes
|