Comparing version 0.9.0 to 0.10.0
21
index.js
@@ -36,3 +36,6 @@ 'use strict'; | ||
file: cmd, | ||
original: cmd | ||
original: { | ||
cmd, | ||
args | ||
} | ||
}; | ||
@@ -217,3 +220,3 @@ } else { | ||
const cleanupTimeout = () => { | ||
const cleanup = () => { | ||
if (timeoutId) { | ||
@@ -223,2 +226,6 @@ clearTimeout(timeoutId); | ||
} | ||
if (removeExitHandler) { | ||
removeExitHandler(); | ||
} | ||
}; | ||
@@ -236,3 +243,3 @@ | ||
spawned.on('exit', (code, signal) => { | ||
cleanupTimeout(); | ||
cleanup(); | ||
resolve({code, signal}); | ||
@@ -242,3 +249,3 @@ }); | ||
spawned.on('error', err => { | ||
cleanupTimeout(); | ||
cleanup(); | ||
resolve({error: err}); | ||
@@ -249,3 +256,3 @@ }); | ||
spawned.stdin.on('error', err => { | ||
cleanupTimeout(); | ||
cleanup(); | ||
resolve({error: err}); | ||
@@ -275,6 +282,2 @@ }); | ||
if (removeExitHandler) { | ||
removeExitHandler(); | ||
} | ||
if (result.error || result.code !== 0 || result.signal !== null) { | ||
@@ -281,0 +284,0 @@ const err = makeError(result, { |
'use strict'; | ||
// The Node team wants to deprecate `process.bind(...)`. | ||
// https://github.com/nodejs/node/pull/2768 | ||
// | ||
// However, we need the 'uv' binding for errname support. | ||
// This is a defensive wrapper around it so `execa` will not fail entirely if it stops working someday. | ||
// | ||
// If this ever stops working. See: https://github.com/sindresorhus/execa/issues/31#issuecomment-215939939 for another possible solution. | ||
// Older verions of Node might not have `util.getSystemErrorName()`. | ||
// In that case, fall back to a deprecated internal. | ||
const util = require('util'); | ||
let uv; | ||
try { | ||
uv = process.binding('uv'); | ||
if (typeof util.getSystemErrorName === 'function') { | ||
module.exports = util.getSystemErrorName; | ||
} else { | ||
try { | ||
uv = process.binding('uv'); | ||
if (typeof uv.errname !== 'function') { | ||
throw new TypeError('uv.errname is not a function'); | ||
if (typeof uv.errname !== 'function') { | ||
throw new TypeError('uv.errname is not a function'); | ||
} | ||
} catch (err) { | ||
console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); | ||
uv = null; | ||
} | ||
} catch (err) { | ||
console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); | ||
uv = null; | ||
module.exports = code => errname(uv, code); | ||
} | ||
// Used for testing the fallback behavior | ||
module.exports.__test__ = errname; | ||
function errname(uv, code) { | ||
@@ -34,5 +40,1 @@ if (uv) { | ||
module.exports = code => errname(uv, code); | ||
// Used for testing the fallback behavior | ||
module.exports.__test__ = errname; |
{ | ||
"name": "execa", | ||
"version": "0.9.0", | ||
"version": "0.10.0", | ||
"description": "A better `child_process`", | ||
@@ -47,3 +47,3 @@ "license": "MIT", | ||
"dependencies": { | ||
"cross-spawn": "^5.0.1", | ||
"cross-spawn": "^6.0.0", | ||
"get-stream": "^3.0.0", | ||
@@ -50,0 +50,0 @@ "is-stream": "^1.1.0", |
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
355
19657
0
+ Addedcross-spawn@6.0.5(transitive)
+ Addednice-try@1.0.5(transitive)
+ Addedsemver@5.7.2(transitive)
- Removedcross-spawn@5.1.0(transitive)
- Removedlru-cache@4.1.5(transitive)
- Removedpseudomap@1.0.2(transitive)
- Removedyallist@2.1.2(transitive)
Updatedcross-spawn@^6.0.0