Comparing version 8.0.1 to 9.1.0
#!/usr/bin/env node | ||
'use strict' | ||
const foreground = require('foreground-child') | ||
const { foregroundChild } = require('foreground-child') | ||
const { outputReport } = require('../lib/commands/report') | ||
const { promises } = require('fs') | ||
const { promisify } = require('util') | ||
const rimraf = require('rimraf') | ||
const { rm, mkdir } = require('fs/promises') | ||
const { | ||
@@ -24,23 +22,16 @@ buildYargs, | ||
} else { | ||
// fs.promises was not added until Node.js v10.0.0, if it doesn't | ||
// exist, assume we're Node.js v8.x and skip coverage. | ||
if (!promises) { | ||
foreground(hideInstrumenterArgs(argv)) | ||
return | ||
} | ||
if (argv.clean) { | ||
await promisify(rimraf)(argv.tempDirectory) | ||
await rm(argv.tempDirectory, { recursive: true, force: true }) | ||
} | ||
await promises.mkdir(argv.tempDirectory, { recursive: true }) | ||
await mkdir(argv.tempDirectory, { recursive: true }) | ||
process.env.NODE_V8_COVERAGE = argv.tempDirectory | ||
foreground(hideInstrumenterArgs(argv), async (done) => { | ||
foregroundChild(hideInstrumenterArgs(argv), async () => { | ||
try { | ||
await outputReport(argv) | ||
return process.exitCode | ||
} catch (err) { | ||
console.error(err.stack) | ||
process.exitCode = 1 | ||
return 1 | ||
} | ||
done() | ||
}) | ||
@@ -47,0 +38,0 @@ } |
@@ -28,2 +28,3 @@ const { checkCoverages } = require('./check-coverage') | ||
reportsDirectory: argv['reports-dir'], | ||
reporterOptions: argv.reporterOptions || {}, | ||
tempDirectory: argv.tempDirectory, | ||
@@ -30,0 +31,0 @@ watermarks: argv.watermarks, |
@@ -17,3 +17,2 @@ const Exclude = require('test-exclude') | ||
const v8toIstanbul = require('v8-to-istanbul') | ||
const isCjsEsmBridgeCov = require('./is-cjs-esm-bridge') | ||
const util = require('util') | ||
@@ -110,3 +109,2 @@ const debuglog = util.debuglog('c8') | ||
const resultCountPerPath = new Map() | ||
const possibleCjsEsmBridges = new Map() | ||
@@ -130,11 +128,4 @@ for (const v8ScriptCov of v8ProcessCov.result) { | ||
if (isCjsEsmBridgeCov(v8ScriptCov)) { | ||
possibleCjsEsmBridges.set(converter, { | ||
path, | ||
functions: v8ScriptCov.functions | ||
}) | ||
} else { | ||
converter.applyCoverage(v8ScriptCov.functions) | ||
map.merge(converter.toIstanbul()) | ||
} | ||
converter.applyCoverage(v8ScriptCov.functions) | ||
map.merge(converter.toIstanbul()) | ||
} catch (err) { | ||
@@ -145,8 +136,2 @@ debuglog(`file: ${v8ScriptCov.url} error: ${err.stack}`) | ||
for (const [converter, { path, functions }] of possibleCjsEsmBridges) { | ||
if (resultCountPerPath.get(path) <= 1) { | ||
converter.applyCoverage(functions) | ||
map.merge(converter.toIstanbul()) | ||
} | ||
} | ||
this._allCoverageFiles = map | ||
@@ -153,0 +138,0 @@ return this._allCoverageFiles |
{ | ||
"name": "c8", | ||
"version": "8.0.1", | ||
"version": "9.1.0", | ||
"description": "output coverage reports using Node.js' built in coverage", | ||
@@ -39,7 +39,6 @@ "main": "./index.js", | ||
"find-up": "^5.0.0", | ||
"foreground-child": "^2.0.0", | ||
"foreground-child": "^3.1.1", | ||
"istanbul-lib-coverage": "^3.2.0", | ||
"istanbul-lib-report": "^3.0.1", | ||
"istanbul-reports": "^3.1.6", | ||
"rimraf": "^3.0.2", | ||
"test-exclude": "^6.0.0", | ||
@@ -51,3 +50,3 @@ "v8-to-istanbul": "^9.0.0", | ||
"devDependencies": { | ||
"@types/node": "^18.0.0", | ||
"@types/node": "^20.0.0", | ||
"chai": "^4.3.6", | ||
@@ -59,6 +58,6 @@ "chai-jest-snapshot": "^2.0.0", | ||
"ts-node": "^10.7.0", | ||
"typescript": "^4.6.2" | ||
"typescript": "^5.0.0" | ||
}, | ||
"engines": { | ||
"node": ">=12" | ||
"node": ">=14.14.0" | ||
}, | ||
@@ -65,0 +64,0 @@ "files": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
11
37469
11
849
+ Addedforeground-child@3.3.0(transitive)
+ Addedsignal-exit@4.1.0(transitive)
- Removedrimraf@^3.0.2
- Removedforeground-child@2.0.0(transitive)
- Removedrimraf@3.0.2(transitive)
- Removedsignal-exit@3.0.7(transitive)
Updatedforeground-child@^3.1.1