Skip to content

Commit 8234412

Browse files
committedMay 7, 2024
deps: @npmcli/promise-spawn@7.0.2
1 parent 6dfaebb commit 8234412

File tree

5 files changed

+51
-49
lines changed

5 files changed

+51
-49
lines changed
 

‎node_modules/@npmcli/promise-spawn/lib/index.js

+39-38
Original file line numberDiff line numberDiff line change
@@ -12,54 +12,55 @@ const promiseSpawn = (cmd, args, opts = {}, extra = {}) => {
1212
return spawnWithShell(cmd, args, opts, extra)
1313
}
1414

15-
let proc
15+
let resolve, reject
16+
const promise = new Promise((_resolve, _reject) => {
17+
resolve = _resolve
18+
reject = _reject
19+
})
1620

17-
const p = new Promise((res, rej) => {
18-
proc = spawn(cmd, args, opts)
21+
// Create error here so we have a more useful stack trace when rejecting
22+
const closeError = new Error('command failed')
1923

20-
const stdout = []
21-
const stderr = []
24+
const stdout = []
25+
const stderr = []
2226

23-
const reject = er => rej(Object.assign(er, {
24-
cmd,
25-
args,
26-
...stdioResult(stdout, stderr, opts),
27-
...extra,
28-
}))
27+
const getResult = (result) => ({
28+
cmd,
29+
args,
30+
...result,
31+
...stdioResult(stdout, stderr, opts),
32+
...extra,
33+
})
34+
const rejectWithOpts = (er, erOpts) => {
35+
const resultError = getResult(erOpts)
36+
reject(Object.assign(er, resultError))
37+
}
2938

30-
proc.on('error', reject)
39+
const proc = spawn(cmd, args, opts)
40+
promise.stdin = proc.stdin
41+
promise.process = proc
3142

32-
if (proc.stdout) {
33-
proc.stdout.on('data', c => stdout.push(c)).on('error', reject)
34-
proc.stdout.on('error', er => reject(er))
35-
}
43+
proc.on('error', rejectWithOpts)
3644

37-
if (proc.stderr) {
38-
proc.stderr.on('data', c => stderr.push(c)).on('error', reject)
39-
proc.stderr.on('error', er => reject(er))
40-
}
45+
if (proc.stdout) {
46+
proc.stdout.on('data', c => stdout.push(c))
47+
proc.stdout.on('error', rejectWithOpts)
48+
}
4149

42-
proc.on('close', (code, signal) => {
43-
const result = {
44-
cmd,
45-
args,
46-
code,
47-
signal,
48-
...stdioResult(stdout, stderr, opts),
49-
...extra,
50-
}
50+
if (proc.stderr) {
51+
proc.stderr.on('data', c => stderr.push(c))
52+
proc.stderr.on('error', rejectWithOpts)
53+
}
5154

52-
if (code || signal) {
53-
rej(Object.assign(new Error('command failed'), result))
54-
} else {
55-
res(result)
56-
}
57-
})
55+
proc.on('close', (code, signal) => {
56+
if (code || signal) {
57+
rejectWithOpts(closeError, { code, signal })
58+
} else {
59+
resolve(getResult({ code, signal }))
60+
}
5861
})
5962

60-
p.stdin = proc.stdin
61-
p.process = proc
62-
return p
63+
return promise
6364
}
6465

6566
const spawnWithShell = (cmd, args, opts, extra) => {

‎node_modules/@npmcli/promise-spawn/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@npmcli/promise-spawn",
3-
"version": "7.0.1",
3+
"version": "7.0.2",
44
"files": [
55
"bin/",
66
"lib/"
@@ -9,7 +9,7 @@
99
"description": "spawn processes the way the npm cli likes to do",
1010
"repository": {
1111
"type": "git",
12-
"url": "https://github.com/npm/promise-spawn.git"
12+
"url": "git+https://github.com/npm/promise-spawn.git"
1313
},
1414
"author": "GitHub Inc.",
1515
"license": "ISC",
@@ -32,7 +32,7 @@
3232
},
3333
"devDependencies": {
3434
"@npmcli/eslint-config": "^4.0.0",
35-
"@npmcli/template-oss": "4.21.3",
35+
"@npmcli/template-oss": "4.22.0",
3636
"spawk": "^1.7.1",
3737
"tap": "^16.0.1"
3838
},
@@ -41,7 +41,7 @@
4141
},
4242
"templateOSS": {
4343
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
44-
"version": "4.21.3",
44+
"version": "4.22.0",
4545
"publish": true
4646
},
4747
"dependencies": {

‎package-lock.json

+6-5
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"@npmcli/fs": "^3.1.0",
9393
"@npmcli/map-workspaces": "^3.0.6",
9494
"@npmcli/package-json": "^5.1.0",
95-
"@npmcli/promise-spawn": "^7.0.1",
95+
"@npmcli/promise-spawn": "^7.0.2",
9696
"@npmcli/redact": "^2.0.0",
9797
"@npmcli/run-script": "^8.1.0",
9898
"@sigstore/tuf": "^2.3.2",
@@ -1690,10 +1690,11 @@
16901690
}
16911691
},
16921692
"node_modules/@npmcli/promise-spawn": {
1693-
"version": "7.0.1",
1694-
"resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz",
1695-
"integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==",
1693+
"version": "7.0.2",
1694+
"resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz",
1695+
"integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==",
16961696
"inBundle": true,
1697+
"license": "ISC",
16971698
"dependencies": {
16981699
"which": "^4.0.0"
16991700
},
@@ -14763,7 +14764,7 @@
1476314764
"devDependencies": {
1476414765
"@npmcli/eslint-config": "^4.0.0",
1476514766
"@npmcli/mock-registry": "^1.0.0",
14766-
"@npmcli/promise-spawn": "^7.0.0",
14767+
"@npmcli/promise-spawn": "^7.0.2",
1476714768
"@npmcli/template-oss": "4.22.0",
1476814769
"proxy": "^2.1.1",
1476914770
"semver": "^7.5.4",

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"@npmcli/fs": "^3.1.0",
5858
"@npmcli/map-workspaces": "^3.0.6",
5959
"@npmcli/package-json": "^5.1.0",
60-
"@npmcli/promise-spawn": "^7.0.1",
60+
"@npmcli/promise-spawn": "^7.0.2",
6161
"@npmcli/redact": "^2.0.0",
6262
"@npmcli/run-script": "^8.1.0",
6363
"@sigstore/tuf": "^2.3.2",

‎smoke-tests/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"devDependencies": {
2121
"@npmcli/eslint-config": "^4.0.0",
2222
"@npmcli/mock-registry": "^1.0.0",
23-
"@npmcli/promise-spawn": "^7.0.0",
23+
"@npmcli/promise-spawn": "^7.0.2",
2424
"@npmcli/template-oss": "4.22.0",
2525
"proxy": "^2.1.1",
2626
"semver": "^7.5.4",

0 commit comments

Comments
 (0)
Please sign in to comment.