@vitest/coverage-istanbul 5.0.0-beta.7 → 5.0.0-rc.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.
@@ -5,6 +5,7 @@ const BaseCoverageProviderModule = {
5
5
  // @ts-expect-error -- untyped global
6
6
  return globalThis[COVERAGE_STORE_KEY];
7
7
  },
8
+ // Reset coverage map to prevent duplicate results if this is called twice in row
8
9
  startCoverage() {
9
10
  // @ts-expect-error -- untyped global
10
11
  const coverageMap = globalThis[COVERAGE_STORE_KEY];
package/dist/browser.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as BaseCoverageProviderModule } from './base-BmUGq4Ml.js';
1
+ import { B as BaseCoverageProviderModule } from './base-BO8X8tRz.js';
2
2
  import './constants-BCJfMgEg.js';
3
3
 
4
4
  function triggerCommand(command, args = []) {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import assert from 'node:assert';
2
- import { B as BaseCoverageProviderModule } from './base-BmUGq4Ml.js';
2
+ import { B as BaseCoverageProviderModule } from './base-BO8X8tRz.js';
3
3
  import { w as writeCoverageFile } from './commands-KXFl3PvR.js';
4
4
  import './constants-BCJfMgEg.js';
5
5
  import 'node:crypto';
package/dist/provider.js CHANGED
@@ -9,9 +9,8 @@ import require$$0$2 from 'fs';
9
9
  import require$$0$1 from 'crypto';
10
10
  import libReport from 'istanbul-lib-report';
11
11
  import require$$0$5 from 'path';
12
- import require$$1$2 from 'tty';
13
- import require$$1$3 from 'util';
14
- import require$$0$4 from 'os';
12
+ import require$$0$4 from 'tty';
13
+ import require$$1$2 from 'util';
15
14
  import reports from 'istanbul-reports';
16
15
  import { parseModule } from 'magicast';
17
16
  import { createDebug } from 'obug';
@@ -33,7 +32,7 @@ function getAugmentedNamespace(n) {
33
32
  var isInstance = false;
34
33
  try {
35
34
  isInstance = this instanceof a;
36
- } catch {}
35
+ } catch (e) {}
37
36
  if (isInstance) {
38
37
  return Reflect.construct(f, arguments, this.constructor);
39
38
  }
@@ -1522,7 +1521,7 @@ var srcExports = requireSrc$1();
1522
1521
 
1523
1522
  var src = {exports: {}};
1524
1523
 
1525
- var browser = {exports: {}};
1524
+ var browser$1 = {exports: {}};
1526
1525
 
1527
1526
  /**
1528
1527
  * Helpers.
@@ -1997,22 +1996,22 @@ function requireCommon () {
1997
1996
 
1998
1997
  /* eslint-env browser */
1999
1998
 
2000
- var hasRequiredBrowser;
1999
+ var hasRequiredBrowser$1;
2001
2000
 
2002
- function requireBrowser () {
2003
- if (hasRequiredBrowser) return browser.exports;
2004
- hasRequiredBrowser = 1;
2005
- (function (module, exports$1) {
2001
+ function requireBrowser$1 () {
2002
+ if (hasRequiredBrowser$1) return browser$1.exports;
2003
+ hasRequiredBrowser$1 = 1;
2004
+ (function (module, exports) {
2006
2005
  /**
2007
2006
  * This is the web browser implementation of `debug()`.
2008
2007
  */
2009
2008
 
2010
- exports$1.formatArgs = formatArgs;
2011
- exports$1.save = save;
2012
- exports$1.load = load;
2013
- exports$1.useColors = useColors;
2014
- exports$1.storage = localstorage();
2015
- exports$1.destroy = (() => {
2009
+ exports.formatArgs = formatArgs;
2010
+ exports.save = save;
2011
+ exports.load = load;
2012
+ exports.useColors = useColors;
2013
+ exports.storage = localstorage();
2014
+ exports.destroy = (() => {
2016
2015
  let warned = false;
2017
2016
 
2018
2017
  return () => {
@@ -2027,7 +2026,7 @@ function requireBrowser () {
2027
2026
  * Colors.
2028
2027
  */
2029
2028
 
2030
- exports$1.colors = [
2029
+ exports.colors = [
2031
2030
  '#0000CC',
2032
2031
  '#0000FF',
2033
2032
  '#0033CC',
@@ -2192,7 +2191,7 @@ function requireBrowser () {
2192
2191
  *
2193
2192
  * @api public
2194
2193
  */
2195
- exports$1.log = console.debug || console.log || (() => {});
2194
+ exports.log = console.debug || console.log || (() => {});
2196
2195
 
2197
2196
  /**
2198
2197
  * Save `namespaces`.
@@ -2203,9 +2202,9 @@ function requireBrowser () {
2203
2202
  function save(namespaces) {
2204
2203
  try {
2205
2204
  if (namespaces) {
2206
- exports$1.storage.setItem('debug', namespaces);
2205
+ exports.storage.setItem('debug', namespaces);
2207
2206
  } else {
2208
- exports$1.storage.removeItem('debug');
2207
+ exports.storage.removeItem('debug');
2209
2208
  }
2210
2209
  } catch (error) {
2211
2210
  // Swallow
@@ -2222,7 +2221,7 @@ function requireBrowser () {
2222
2221
  function load() {
2223
2222
  let r;
2224
2223
  try {
2225
- r = exports$1.storage.getItem('debug') || exports$1.storage.getItem('DEBUG') ;
2224
+ r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;
2226
2225
  } catch (error) {
2227
2226
  // Swallow
2228
2227
  // XXX (@Qix-) should we be logging these?
@@ -2258,7 +2257,7 @@ function requireBrowser () {
2258
2257
  }
2259
2258
  }
2260
2259
 
2261
- module.exports = requireCommon()(exports$1);
2260
+ module.exports = requireCommon()(exports);
2262
2261
 
2263
2262
  const {formatters} = module.exports;
2264
2263
 
@@ -2273,169 +2272,43 @@ function requireBrowser () {
2273
2272
  return '[UnexpectedJSONParseError]: ' + error.message;
2274
2273
  }
2275
2274
  };
2276
- } (browser, browser.exports));
2277
- return browser.exports;
2275
+ } (browser$1, browser$1.exports));
2276
+ return browser$1.exports;
2278
2277
  }
2279
2278
 
2280
2279
  var node = {exports: {}};
2281
2280
 
2282
- var hasFlag;
2283
- var hasRequiredHasFlag;
2284
-
2285
- function requireHasFlag () {
2286
- if (hasRequiredHasFlag) return hasFlag;
2287
- hasRequiredHasFlag = 1;
2288
-
2289
- hasFlag = (flag, argv = process.argv) => {
2290
- const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
2291
- const position = argv.indexOf(prefix + flag);
2292
- const terminatorPosition = argv.indexOf('--');
2293
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
2294
- };
2295
- return hasFlag;
2296
- }
2297
-
2298
- var supportsColor_1;
2299
- var hasRequiredSupportsColor;
2300
-
2301
- function requireSupportsColor () {
2302
- if (hasRequiredSupportsColor) return supportsColor_1;
2303
- hasRequiredSupportsColor = 1;
2304
- const os = require$$0$4;
2305
- const tty = require$$1$2;
2306
- const hasFlag = requireHasFlag();
2307
-
2308
- const {env} = process;
2309
-
2310
- let forceColor;
2311
- if (hasFlag('no-color') ||
2312
- hasFlag('no-colors') ||
2313
- hasFlag('color=false') ||
2314
- hasFlag('color=never')) {
2315
- forceColor = 0;
2316
- } else if (hasFlag('color') ||
2317
- hasFlag('colors') ||
2318
- hasFlag('color=true') ||
2319
- hasFlag('color=always')) {
2320
- forceColor = 1;
2321
- }
2322
-
2323
- if ('FORCE_COLOR' in env) {
2324
- if (env.FORCE_COLOR === 'true') {
2325
- forceColor = 1;
2326
- } else if (env.FORCE_COLOR === 'false') {
2327
- forceColor = 0;
2328
- } else {
2329
- forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
2330
- }
2331
- }
2332
-
2333
- function translateLevel(level) {
2334
- if (level === 0) {
2335
- return false;
2336
- }
2337
-
2338
- return {
2339
- level,
2340
- hasBasic: true,
2341
- has256: level >= 2,
2342
- has16m: level >= 3
2343
- };
2344
- }
2345
-
2346
- function supportsColor(haveStream, streamIsTTY) {
2347
- if (forceColor === 0) {
2348
- return 0;
2349
- }
2350
-
2351
- if (hasFlag('color=16m') ||
2352
- hasFlag('color=full') ||
2353
- hasFlag('color=truecolor')) {
2354
- return 3;
2355
- }
2356
-
2357
- if (hasFlag('color=256')) {
2358
- return 2;
2359
- }
2360
-
2361
- if (haveStream && !streamIsTTY && forceColor === undefined) {
2362
- return 0;
2363
- }
2364
-
2365
- const min = forceColor || 0;
2366
-
2367
- if (env.TERM === 'dumb') {
2368
- return min;
2369
- }
2370
-
2371
- if (process.platform === 'win32') {
2372
- // Windows 10 build 10586 is the first Windows release that supports 256 colors.
2373
- // Windows 10 build 14931 is the first release that supports 16m/TrueColor.
2374
- const osRelease = os.release().split('.');
2375
- if (
2376
- Number(osRelease[0]) >= 10 &&
2377
- Number(osRelease[2]) >= 10586
2378
- ) {
2379
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
2380
- }
2381
-
2382
- return 1;
2383
- }
2384
-
2385
- if ('CI' in env) {
2386
- if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
2387
- return 1;
2388
- }
2389
-
2390
- return min;
2391
- }
2392
-
2393
- if ('TEAMCITY_VERSION' in env) {
2394
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
2395
- }
2396
-
2397
- if (env.COLORTERM === 'truecolor') {
2398
- return 3;
2399
- }
2400
-
2401
- if ('TERM_PROGRAM' in env) {
2402
- const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
2281
+ /* eslint-env browser */
2403
2282
 
2404
- switch (env.TERM_PROGRAM) {
2405
- case 'iTerm.app':
2406
- return version >= 3 ? 3 : 2;
2407
- case 'Apple_Terminal':
2408
- return 2;
2409
- // No default
2410
- }
2411
- }
2283
+ var browser;
2284
+ var hasRequiredBrowser;
2412
2285
 
2413
- if (/-256(color)?$/i.test(env.TERM)) {
2414
- return 2;
2415
- }
2286
+ function requireBrowser () {
2287
+ if (hasRequiredBrowser) return browser;
2288
+ hasRequiredBrowser = 1;
2416
2289
 
2417
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
2418
- return 1;
2419
- }
2290
+ function getChromeVersion() {
2291
+ const matches = /(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);
2420
2292
 
2421
- if ('COLORTERM' in env) {
2422
- return 1;
2293
+ if (!matches) {
2294
+ return;
2423
2295
  }
2424
2296
 
2425
- return min;
2297
+ return Number.parseInt(matches.groups.chromeVersion, 10);
2426
2298
  }
2427
2299
 
2428
- function getSupportLevel(stream) {
2429
- const level = supportsColor(stream, stream && stream.isTTY);
2430
- return translateLevel(level);
2431
- }
2300
+ const colorSupport = getChromeVersion() >= 69 ? {
2301
+ level: 1,
2302
+ hasBasic: true,
2303
+ has256: false,
2304
+ has16m: false
2305
+ } : false;
2432
2306
 
2433
- supportsColor_1 = {
2434
- supportsColor: getSupportLevel,
2435
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
2436
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
2307
+ browser = {
2308
+ stdout: colorSupport,
2309
+ stderr: colorSupport
2437
2310
  };
2438
- return supportsColor_1;
2311
+ return browser;
2439
2312
  }
2440
2313
 
2441
2314
  /**
@@ -2447,21 +2320,21 @@ var hasRequiredNode;
2447
2320
  function requireNode () {
2448
2321
  if (hasRequiredNode) return node.exports;
2449
2322
  hasRequiredNode = 1;
2450
- (function (module, exports$1) {
2451
- const tty = require$$1$2;
2452
- const util = require$$1$3;
2323
+ (function (module, exports) {
2324
+ const tty = require$$0$4;
2325
+ const util = require$$1$2;
2453
2326
 
2454
2327
  /**
2455
2328
  * This is the Node.js implementation of `debug()`.
2456
2329
  */
2457
2330
 
2458
- exports$1.init = init;
2459
- exports$1.log = log;
2460
- exports$1.formatArgs = formatArgs;
2461
- exports$1.save = save;
2462
- exports$1.load = load;
2463
- exports$1.useColors = useColors;
2464
- exports$1.destroy = util.deprecate(
2331
+ exports.init = init;
2332
+ exports.log = log;
2333
+ exports.formatArgs = formatArgs;
2334
+ exports.save = save;
2335
+ exports.load = load;
2336
+ exports.useColors = useColors;
2337
+ exports.destroy = util.deprecate(
2465
2338
  () => {},
2466
2339
  'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
2467
2340
  );
@@ -2470,15 +2343,15 @@ function requireNode () {
2470
2343
  * Colors.
2471
2344
  */
2472
2345
 
2473
- exports$1.colors = [6, 2, 3, 4, 5, 1];
2346
+ exports.colors = [6, 2, 3, 4, 5, 1];
2474
2347
 
2475
2348
  try {
2476
2349
  // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
2477
2350
  // eslint-disable-next-line import/no-extraneous-dependencies
2478
- const supportsColor = requireSupportsColor();
2351
+ const supportsColor = requireBrowser();
2479
2352
 
2480
2353
  if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
2481
- exports$1.colors = [
2354
+ exports.colors = [
2482
2355
  20,
2483
2356
  21,
2484
2357
  26,
@@ -2567,7 +2440,7 @@ function requireNode () {
2567
2440
  * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
2568
2441
  */
2569
2442
 
2570
- exports$1.inspectOpts = Object.keys(process.env).filter(key => {
2443
+ exports.inspectOpts = Object.keys(process.env).filter(key => {
2571
2444
  return /^debug_/i.test(key);
2572
2445
  }).reduce((obj, key) => {
2573
2446
  // Camel-case
@@ -2599,8 +2472,8 @@ function requireNode () {
2599
2472
  */
2600
2473
 
2601
2474
  function useColors() {
2602
- return 'colors' in exports$1.inspectOpts ?
2603
- Boolean(exports$1.inspectOpts.colors) :
2475
+ return 'colors' in exports.inspectOpts ?
2476
+ Boolean(exports.inspectOpts.colors) :
2604
2477
  tty.isatty(process.stderr.fd);
2605
2478
  }
2606
2479
 
@@ -2626,7 +2499,7 @@ function requireNode () {
2626
2499
  }
2627
2500
 
2628
2501
  function getDate() {
2629
- if (exports$1.inspectOpts.hideDate) {
2502
+ if (exports.inspectOpts.hideDate) {
2630
2503
  return '';
2631
2504
  }
2632
2505
  return new Date().toISOString() + ' ';
@@ -2637,7 +2510,7 @@ function requireNode () {
2637
2510
  */
2638
2511
 
2639
2512
  function log(...args) {
2640
- return process.stderr.write(util.formatWithOptions(exports$1.inspectOpts, ...args) + '\n');
2513
+ return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n');
2641
2514
  }
2642
2515
 
2643
2516
  /**
@@ -2677,13 +2550,13 @@ function requireNode () {
2677
2550
  function init(debug) {
2678
2551
  debug.inspectOpts = {};
2679
2552
 
2680
- const keys = Object.keys(exports$1.inspectOpts);
2553
+ const keys = Object.keys(exports.inspectOpts);
2681
2554
  for (let i = 0; i < keys.length; i++) {
2682
- debug.inspectOpts[keys[i]] = exports$1.inspectOpts[keys[i]];
2555
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
2683
2556
  }
2684
2557
  }
2685
2558
 
2686
- module.exports = requireCommon()(exports$1);
2559
+ module.exports = requireCommon()(exports);
2687
2560
 
2688
2561
  const {formatters} = module.exports;
2689
2562
 
@@ -2722,7 +2595,7 @@ function requireSrc () {
2722
2595
  if (hasRequiredSrc) return src.exports;
2723
2596
  hasRequiredSrc = 1;
2724
2597
  if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
2725
- src.exports = requireBrowser();
2598
+ src.exports = requireBrowser$1();
2726
2599
  } else {
2727
2600
  src.exports = requireNode();
2728
2601
  }
@@ -3546,7 +3419,7 @@ function requireIstanbulLibSourceMaps () {
3546
3419
  var istanbulLibSourceMapsExports = requireIstanbulLibSourceMaps();
3547
3420
  var libSourceMaps = /*@__PURE__*/getDefaultExportFromCjs(istanbulLibSourceMapsExports);
3548
3421
 
3549
- var version = "5.0.0-beta.7";
3422
+ var version = "5.0.0-rc.1";
3550
3423
 
3551
3424
  const debug = createDebug("vitest:coverage");
3552
3425
  class IstanbulCoverageProvider extends BaseCoverageProvider {
@@ -3581,7 +3454,10 @@ class IstanbulCoverageProvider extends BaseCoverageProvider {
3581
3454
  coverageGlobalScopeFunc: false,
3582
3455
  ignoreClassMethods: this.options.ignoreClassMethods,
3583
3456
  parserPlugins: [...defaults.instrumenter.parserPlugins, ["importAttributes", { deprecatedAssertSyntax: true }]],
3584
- generatorOpts: { importAttributesKeyword: "with" },
3457
+ generatorOpts: {
3458
+ // @ts-expect-error missing type
3459
+ importAttributesKeyword: "with" },
3460
+ // Custom option from the patched istanbul-lib-instrument: https://github.com/istanbuljs/istanbuljs/pull/835
3585
3461
  ignoreLines: true
3586
3462
  });
3587
3463
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/coverage-istanbul",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.7",
4
+ "version": "5.0.0-rc.1",
5
5
  "description": "Istanbul coverage provider for Vitest",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -41,19 +41,19 @@
41
41
  "dist"
42
42
  ],
43
43
  "peerDependencies": {
44
- "vitest": "5.0.0-beta.7"
44
+ "vitest": "5.0.0-rc.1"
45
45
  },
46
46
  "dependencies": {
47
- "@babel/core": "^7.29.0",
48
- "@istanbuljs/schema": "^0.1.3",
47
+ "@babel/core": "^7.29.7",
48
+ "@istanbuljs/schema": "^0.1.6",
49
49
  "@jridgewell/gen-mapping": "^0.3.13",
50
50
  "@jridgewell/trace-mapping": "0.3.31",
51
51
  "istanbul-lib-coverage": "^3.2.2",
52
52
  "istanbul-lib-report": "^3.0.1",
53
53
  "istanbul-reports": "^3.2.0",
54
- "magicast": "^0.5.2",
55
- "obug": "^2.1.1",
56
- "tinyrainbow": "^3.1.0"
54
+ "magicast": "^0.5.4",
55
+ "obug": "^2.1.4",
56
+ "tinyrainbow": "^3.1.1"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/istanbul-lib-coverage": "^2.0.6",
@@ -64,7 +64,7 @@
64
64
  "istanbul-lib-instrument": "^6.0.3",
65
65
  "istanbul-lib-source-maps": "^5.0.6",
66
66
  "pathe": "^2.0.3",
67
- "vitest": "5.0.0-beta.7"
67
+ "vitest": "5.0.0-rc.1"
68
68
  },
69
69
  "scripts": {
70
70
  "build": "premove dist && rollup -c",