promisify-child-process 4.1.2 → 5.0.0

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/README.md CHANGED
@@ -8,6 +8,12 @@
8
8
 
9
9
  seriously like the best async child process library
10
10
 
11
+ (I'm joking, you may want to use [`execa`](https://github.com/sindresorhus/execa) which has a lot more features. The minor advantages of this package are:)
12
+
13
+ - it's a dual CJS/ESM package
14
+ - it conforms to the `child_process` API
15
+ - and it provides wrappers for all the async `child_process` functions
16
+
11
17
  Based upon [`child-process-async`](https://github.com/itsjustcon/node-child-process-async),
12
18
  but more thorough, because that package doesn't seem very actively maintained.
13
19
 
package/index.cjs CHANGED
@@ -1,183 +1,152 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
7
+ exports.execFile = exports.exec = void 0;
8
+ exports.fork = fork;
9
+ exports.isChildProcessError = isChildProcessError;
6
10
  exports.promisifyChildProcess = promisifyChildProcess;
7
11
  exports.spawn = spawn;
8
- exports.fork = fork;
9
- exports.execFile = exports.exec = void 0;
10
-
11
- const child_process = require('child_process');
12
-
13
- const bindFinally = promise => (handler // don't assume we're running in an environment with Promise.finally
14
- ) => promise.then(async value => {
15
- await handler();
16
- return value;
17
- }, async reason => {
18
- await handler();
19
- throw reason;
20
- });
21
-
12
+ var _child_process = _interopRequireDefault(require("child_process"));
22
13
  function joinChunks(chunks, encoding) {
23
- if (chunks[0] instanceof Buffer) {
24
- const buffer = Buffer.concat(chunks);
25
- if (encoding) return buffer.toString(encoding);
26
- return buffer;
27
- }
28
-
29
- return chunks.join('');
14
+ if (!chunks) return undefined;
15
+ const buffer = Buffer.concat(chunks);
16
+ return encoding && encoding !== 'buffer' ? buffer.toString(encoding) : buffer;
30
17
  }
31
-
32
- function promisifyChildProcess(child, options = {}) {
33
- const _promise = new Promise((resolve, reject) => {
34
- const {
35
- encoding,
36
- killSignal
37
- } = options;
38
- const captureStdio = encoding != null || options.maxBuffer != null;
39
- const maxBuffer = options.maxBuffer != null ? options.maxBuffer : 200 * 1024;
40
- let error;
18
+ function promisifyChildProcess(child, options) {
19
+ var _promise$finally;
20
+ const promise = new Promise((resolve, reject) => {
21
+ var _child$stdout, _child$stderr;
22
+ const encoding = options === null || options === void 0 ? void 0 : options.encoding;
23
+ const killSignal = options === null || options === void 0 ? void 0 : options.killSignal;
24
+ const captureStdio = encoding != null || (options === null || options === void 0 ? void 0 : options.maxBuffer) != null;
25
+ const maxBuffer = (options === null || options === void 0 ? void 0 : options.maxBuffer) ?? 1024 * 1024;
41
26
  let bufferSize = 0;
42
- const stdoutChunks = [];
43
- const stderrChunks = [];
44
-
27
+ let error;
28
+ const stdoutChunks = captureStdio && child.stdout ? [] : undefined;
29
+ const stderrChunks = captureStdio && child.stderr ? [] : undefined;
45
30
  const capture = chunks => data => {
31
+ if (typeof data === 'string') data = Buffer.from(data);
46
32
  const remaining = Math.max(0, maxBuffer - bufferSize);
47
- const byteLength = Buffer.byteLength(data, 'utf8');
48
- bufferSize += Math.min(remaining, byteLength);
49
-
50
- if (byteLength > remaining) {
51
- error = new Error(`maxBuffer size exceeded`); // $FlowFixMe
52
-
53
- child.kill(killSignal ? killSignal : 'SIGTERM');
54
- data = data.slice(0, remaining);
33
+ bufferSize += Math.min(remaining, data.length);
34
+ if (data.length > remaining) {
35
+ error = new Error('maxBuffer exceeded');
36
+ child.kill(killSignal ?? 'SIGTERM');
37
+ data = data.subarray(0, remaining);
55
38
  }
56
-
57
39
  chunks.push(data);
58
40
  };
59
-
60
- if (captureStdio) {
61
- if (child.stdout) child.stdout.on('data', capture(stdoutChunks));
62
- if (child.stderr) child.stderr.on('data', capture(stderrChunks));
41
+ const captureStdout = stdoutChunks ? capture(stdoutChunks) : undefined;
42
+ const captureStderr = stderrChunks ? capture(stderrChunks) : undefined;
43
+ if (captureStdout) (_child$stdout = child.stdout) === null || _child$stdout === void 0 || _child$stdout.on('data', captureStdout);
44
+ if (captureStderr) (_child$stderr = child.stderr) === null || _child$stderr === void 0 || _child$stderr.on('data', captureStderr);
45
+ function onError(err) {
46
+ error = err;
47
+ done();
63
48
  }
64
-
65
- child.on('error', reject);
66
-
67
- function done(code, signal) {
68
- if (!error) {
69
- if (code != null && code !== 0) {
70
- error = new Error(`Process exited with code ${code}`);
71
- } else if (signal != null) {
72
- error = new Error(`Process was killed with ${signal}`);
73
- }
74
- }
75
-
76
- function defineOutputs(obj) {
77
- obj.code = code;
78
- obj.signal = signal;
79
-
80
- if (captureStdio) {
81
- obj.stdout = joinChunks(stdoutChunks, encoding);
82
- obj.stderr = joinChunks(stderrChunks, encoding);
83
- } else {
84
- const warn = prop => ({
85
- configurable: true,
86
- enumerable: true,
87
-
88
- get() {
89
- /* eslint-disable no-console */
90
- console.error(new Error(`To get ${prop} from a spawned or forked process, set the \`encoding\` or \`maxBuffer\` option`).stack.replace(/^Error/, 'Warning'));
91
- /* eslint-enable no-console */
92
-
93
- return null;
94
- }
95
-
96
- });
97
-
98
- Object.defineProperties(obj, {
99
- stdout: warn('stdout'),
100
- stderr: warn('stderr')
101
- });
102
- }
103
- }
104
-
105
- const finalError = error;
106
-
107
- if (finalError) {
108
- defineOutputs(finalError);
109
- reject(finalError);
49
+ child.on('error', onError);
50
+ function done(code = null, signal = null) {
51
+ var _child$stdout2, _child$stderr2;
52
+ child.removeListener('error', onError);
53
+ child.removeListener('close', done);
54
+ if (captureStdout) (_child$stdout2 = child.stdout) === null || _child$stdout2 === void 0 || _child$stdout2.removeListener('data', captureStdout);
55
+ if (captureStderr) (_child$stderr2 = child.stderr) === null || _child$stderr2 === void 0 || _child$stderr2.removeListener('data', captureStderr);
56
+ const stdout = joinChunks(stdoutChunks, encoding);
57
+ const stderr = joinChunks(stderrChunks, encoding);
58
+ if (error || code != null && code != 0 || signal != null) {
59
+ reject(Object.assign(error || new Error(signal != null ? `Process was killed with ${signal}` : `Process exited with code ${code}`), {
60
+ code,
61
+ signal,
62
+ killed: signal != null,
63
+ stdout,
64
+ stderr
65
+ }));
110
66
  } else {
111
- const output = {};
112
- defineOutputs(output);
113
- resolve(output);
67
+ resolve({
68
+ stderr,
69
+ stdout,
70
+ code,
71
+ signal,
72
+ killed: false
73
+ });
114
74
  }
115
75
  }
116
-
117
76
  child.on('close', done);
118
77
  });
119
-
120
78
  return Object.create(child, {
121
79
  then: {
122
- value: _promise.then.bind(_promise)
80
+ value: promise.then.bind(promise)
123
81
  },
124
82
  catch: {
125
- value: _promise.catch.bind(_promise)
83
+ value: promise.catch.bind(promise)
126
84
  },
85
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
127
86
  finally: {
128
- value: bindFinally(_promise)
87
+ value: (_promise$finally = promise.finally) === null || _promise$finally === void 0 ? void 0 : _promise$finally.bind(promise)
129
88
  }
130
89
  });
131
90
  }
132
-
91
+ function isArray(t) {
92
+ return Array.isArray(t);
93
+ }
133
94
  function spawn(command, args, options) {
134
- return promisifyChildProcess(child_process.spawn(command, args, options), Array.isArray(args) ? options : args);
95
+ if (!isArray(args)) {
96
+ options = args;
97
+ args = [];
98
+ }
99
+ return promisifyChildProcess(_child_process.default.spawn(command, args, options), options);
135
100
  }
136
-
137
101
  function fork(module, args, options) {
138
- return promisifyChildProcess(child_process.fork(module, args, options), Array.isArray(args) ? options : args);
102
+ if (!isArray(args)) {
103
+ options = args;
104
+ args = [];
105
+ }
106
+ return promisifyChildProcess(_child_process.default.fork(module, args, options), options);
139
107
  }
140
-
141
108
  function promisifyExecMethod(method) {
142
109
  return (...args) => {
110
+ var _promise$finally2;
143
111
  let child;
144
-
145
- const _promise = new Promise((resolve, reject) => {
112
+ const promise = new Promise((resolve, reject) => {
146
113
  child = method(...args, (err, stdout, stderr) => {
147
114
  if (err) {
148
- err.stdout = stdout;
149
- err.stderr = stderr;
150
- reject(err);
115
+ reject(Object.assign(err, {
116
+ stdout,
117
+ stderr
118
+ }));
151
119
  } else {
152
120
  resolve({
153
121
  code: 0,
154
122
  signal: null,
155
- stdout,
156
- stderr
123
+ killed: false,
124
+ stdout: stdout,
125
+ stderr: stderr
157
126
  });
158
127
  }
159
128
  });
160
129
  });
161
-
162
130
  if (!child) {
163
131
  throw new Error('unexpected error: child has not been initialized');
164
132
  }
165
-
166
133
  return Object.create(child, {
167
134
  then: {
168
- value: _promise.then.bind(_promise)
135
+ value: promise.then.bind(promise)
169
136
  },
170
137
  catch: {
171
- value: _promise.catch.bind(_promise)
138
+ value: promise.catch.bind(promise)
172
139
  },
140
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
173
141
  finally: {
174
- value: bindFinally(_promise)
142
+ value: (_promise$finally2 = promise.finally) === null || _promise$finally2 === void 0 ? void 0 : _promise$finally2.bind(promise)
175
143
  }
176
144
  });
177
145
  };
178
146
  }
179
-
180
- const exec = promisifyExecMethod(child_process.exec);
181
- exports.exec = exec;
182
- const execFile = promisifyExecMethod(child_process.execFile);
183
- exports.execFile = execFile;
147
+ const exec = exports.exec = promisifyExecMethod(_child_process.default.exec);
148
+ const execFile = exports.execFile = promisifyExecMethod(_child_process.default.execFile);
149
+ function isChildProcessError(error) {
150
+ return error instanceof Error && 'code' in error && 'signal' in error;
151
+ }
152
+ //# sourceMappingURL=index.cjs.map
package/index.cjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["_child_process","_interopRequireDefault","require","joinChunks","chunks","encoding","undefined","buffer","Buffer","concat","toString","promisifyChildProcess","child","options","_promise$finally","promise","Promise","resolve","reject","_child$stdout","_child$stderr","killSignal","captureStdio","maxBuffer","bufferSize","error","stdoutChunks","stdout","stderrChunks","stderr","capture","data","from","remaining","Math","max","min","length","Error","kill","subarray","push","captureStdout","captureStderr","on","onError","err","done","code","signal","_child$stdout2","_child$stderr2","removeListener","Object","assign","killed","create","then","value","bind","catch","finally","isArray","t","Array","spawn","command","args","child_process","fork","module","promisifyExecMethod","method","_promise$finally2","exec","exports","execFile","isChildProcessError"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAyFA,SAASC,UAAUA,CACjBC,MAA4B,EAC5BC,QAAsD,EACzB;EAC7B,IAAI,CAACD,MAAM,EAAE,OAAOE,SAAS;EAC7B,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACL,MAAM,CAAC;EACpC,OAAOC,QAAQ,IAAIA,QAAQ,KAAK,QAAQ,GAAGE,MAAM,CAACG,QAAQ,CAACL,QAAQ,CAAC,GAAGE,MAAM;AAC/E;AAEO,SAASI,qBAAqBA,CAEnCC,KAAmB,EAAEC,OAAiB,EAAgC;EAAA,IAAAC,gBAAA;EACtE,MAAMC,OAAO,GAAG,IAAIC,OAAO,CACzB,CAACC,OAAO,EAAEC,MAAM,KAAK;IAAA,IAAAC,aAAA,EAAAC,aAAA;IACnB,MAAMf,QAAQ,GAAGQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAER,QAAQ;IAClC,MAAMgB,UAAU,GAAGR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,UAAU;IACtC,MAAMC,YAAY,GAAGjB,QAAQ,IAAI,IAAI,IAAI,CAAAQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEU,SAAS,KAAI,IAAI;IACnE,MAAMA,SAAS,GAAG,CAAAV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEU,SAAS,KAAI,IAAI,GAAG,IAAI;IACnD,IAAIC,UAAU,GAAG,CAAC;IAClB,IAAIC,KAAwB;IAC5B,MAAMC,YAAkC,GACtCJ,YAAY,IAAIV,KAAK,CAACe,MAAM,GAAG,EAAE,GAAGrB,SAAS;IAC/C,MAAMsB,YAAkC,GACtCN,YAAY,IAAIV,KAAK,CAACiB,MAAM,GAAG,EAAE,GAAGvB,SAAS;IAC/C,MAAMwB,OAAO,GAAI1B,MAAgB,IAAM2B,IAAqB,IAAK;MAC/D,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAEA,IAAI,GAAGvB,MAAM,CAACwB,IAAI,CAACD,IAAI,CAAC;MACtD,MAAME,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEZ,SAAS,GAAGC,UAAU,CAAC;MACrDA,UAAU,IAAIU,IAAI,CAACE,GAAG,CAACH,SAAS,EAAEF,IAAI,CAACM,MAAM,CAAC;MAC9C,IAAIN,IAAI,CAACM,MAAM,GAAGJ,SAAS,EAAE;QAC3BR,KAAK,GAAG,IAAIa,KAAK,CAAC,oBAAoB,CAAC;QACvC1B,KAAK,CAAC2B,IAAI,CAAClB,UAAU,IAAI,SAAS,CAAC;QACnCU,IAAI,GAAGA,IAAI,CAACS,QAAQ,CAAC,CAAC,EAAEP,SAAS,CAAC;MACpC;MACA7B,MAAM,CAACqC,IAAI,CAACV,IAAI,CAAC;IACnB,CAAC;IACD,MAAMW,aAAa,GAAGhB,YAAY,GAAGI,OAAO,CAACJ,YAAY,CAAC,GAAGpB,SAAS;IACtE,MAAMqC,aAAa,GAAGf,YAAY,GAAGE,OAAO,CAACF,YAAY,CAAC,GAAGtB,SAAS;IACtE,IAAIoC,aAAa,EAAE,CAAAvB,aAAA,GAAAP,KAAK,CAACe,MAAM,cAAAR,aAAA,eAAZA,aAAA,CAAcyB,EAAE,CAAC,MAAM,EAAEF,aAAa,CAAC;IAC1D,IAAIC,aAAa,EAAE,CAAAvB,aAAA,GAAAR,KAAK,CAACiB,MAAM,cAAAT,aAAA,eAAZA,aAAA,CAAcwB,EAAE,CAAC,MAAM,EAAED,aAAa,CAAC;IAC1D,SAASE,OAAOA,CAACC,GAAU,EAAE;MAC3BrB,KAAK,GAAGqB,GAAG;MACXC,IAAI,CAAC,CAAC;IACR;IACAnC,KAAK,CAACgC,EAAE,CAAC,OAAO,EAAEC,OAAO,CAAC;IAC1B,SAASE,IAAIA,CAACC,IAAmB,GAAG,IAAI,EAAEC,MAAqB,GAAG,IAAI,EAAE;MAAA,IAAAC,cAAA,EAAAC,cAAA;MACtEvC,KAAK,CAACwC,cAAc,CAAC,OAAO,EAAEP,OAAO,CAAC;MACtCjC,KAAK,CAACwC,cAAc,CAAC,OAAO,EAAEL,IAAI,CAAC;MACnC,IAAIL,aAAa,EAAE,CAAAQ,cAAA,GAAAtC,KAAK,CAACe,MAAM,cAAAuB,cAAA,eAAZA,cAAA,CAAcE,cAAc,CAAC,MAAM,EAAEV,aAAa,CAAC;MACtE,IAAIC,aAAa,EAAE,CAAAQ,cAAA,GAAAvC,KAAK,CAACiB,MAAM,cAAAsB,cAAA,eAAZA,cAAA,CAAcC,cAAc,CAAC,MAAM,EAAET,aAAa,CAAC;MAEtE,MAAMhB,MAAM,GAAGxB,UAAU,CACvBuB,YAAY,EACZrB,QACF,CAA0C;MAC1C,MAAMwB,MAAM,GAAG1B,UAAU,CACvByB,YAAY,EACZvB,QACF,CAA0C;MAE1C,IAAIoB,KAAK,IAAKuB,IAAI,IAAI,IAAI,IAAIA,IAAI,IAAI,CAAE,IAAIC,MAAM,IAAI,IAAI,EAAE;QAC1D/B,MAAM,CACJmC,MAAM,CAACC,MAAM,CACX7B,KAAK,IACH,IAAIa,KAAK,CACPW,MAAM,IAAI,IAAI,GACZ,2BAA2BA,MAAM,EAAE,GACnC,4BAA4BD,IAAI,EACpC,CAAC,EACH;UACEA,IAAI;UACJC,MAAM;UACNM,MAAM,EAAEN,MAAM,IAAI,IAAI;UACtBtB,MAAM;UACNE;QACF,CACF,CACF,CAAC;MACH,CAAC,MAAM;QACLZ,OAAO,CAAC;UAAEY,MAAM;UAAEF,MAAM;UAAEqB,IAAI;UAAEC,MAAM;UAAEM,MAAM,EAAE;QAAM,CAAC,CAAC;MAC1D;IACF;IACA3C,KAAK,CAACgC,EAAE,CAAC,OAAO,EAAEG,IAAI,CAAC;EACzB,CACF,CAAC;EACD,OAAOM,MAAM,CAACG,MAAM,CAAC5C,KAAK,EAAE;IAC1B6C,IAAI,EAAE;MAAEC,KAAK,EAAE3C,OAAO,CAAC0C,IAAI,CAACE,IAAI,CAAC5C,OAAO;IAAE,CAAC;IAC3C6C,KAAK,EAAE;MAAEF,KAAK,EAAE3C,OAAO,CAAC6C,KAAK,CAACD,IAAI,CAAC5C,OAAO;IAAE,CAAC;IAC7C;IACA8C,OAAO,EAAE;MAAEH,KAAK,GAAA5C,gBAAA,GAAEC,OAAO,CAAC8C,OAAO,cAAA/C,gBAAA,uBAAfA,gBAAA,CAAiB6C,IAAI,CAAC5C,OAAO;IAAE;EACnD,CAAC,CAAC;AACJ;AAOA,SAAS+C,OAAOA,CAACC,CAAU,EAAuC;EAChE,OAAOC,KAAK,CAACF,OAAO,CAACC,CAAC,CAAC;AACzB;AAWO,SAASE,KAAKA,CACnBC,OAAe,EACfC,IAAkC,EAClCtD,OAAiB,EACa;EAC9B,IAAI,CAACiD,OAAO,CAACK,IAAI,CAAC,EAAE;IAClBtD,OAAO,GAAGsD,IAAI;IACdA,IAAI,GAAG,EAAE;EACX;EACA,OAAOxD,qBAAqB,CAC1ByD,sBAAa,CAACH,KAAK,CAACC,OAAO,EAAEC,IAAI,EAAEtD,OAAqC,CAAC,EACzEA,OACF,CAAC;AACH;AAgBO,SAASwD,IAAIA,CAClBC,MAAc,EACdH,IAA8B,EAC9BtD,OAAiB,EACa;EAC9B,IAAI,CAACiD,OAAO,CAACK,IAAI,CAAC,EAAE;IAClBtD,OAAO,GAAGsD,IAAI;IACdA,IAAI,GAAG,EAAE;EACX;EACA,OAAOxD,qBAAqB,CAC1ByD,sBAAa,CAACC,IAAI,CAACC,MAAM,EAAEH,IAAI,EAAEtD,OAAO,CAAC,EACzCA,OACF,CAAC;AACH;AACA,SAAS0D,mBAAmBA,CAACC,MAAwC,EAAE;EACrE,OAAO,CAAC,GAAGL,IAAW,KAA+B;IAAA,IAAAM,iBAAA;IACnD,IAAI7D,KAA+B;IACnC,MAAMG,OAAO,GAAG,IAAIC,OAAO,CAA0B,CAACC,OAAO,EAAEC,MAAM,KAAK;MACxEN,KAAK,GAAG4D,MAAM,CACZ,GAAGL,IAAI,EACP,CACErB,GAAiB,EACjBnB,MAAuB,EACvBE,MAAuB,KACpB;QACH,IAAIiB,GAAG,EAAE;UACP5B,MAAM,CAACmC,MAAM,CAACC,MAAM,CAACR,GAAG,EAAE;YAAEnB,MAAM;YAAEE;UAAO,CAAC,CAAC,CAAC;QAChD,CAAC,MAAM;UACLZ,OAAO,CAAC;YACN+B,IAAI,EAAE,CAAC;YACPC,MAAM,EAAE,IAAI;YACZM,MAAM,EAAE,KAAK;YACb5B,MAAM,EAAEA,MAAa;YACrBE,MAAM,EAAEA;UACV,CAAC,CAAC;QACJ;MACF,CACF,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACjB,KAAK,EAAE;MACV,MAAM,IAAI0B,KAAK,CAAC,kDAAkD,CAAC;IACrE;IACA,OAAOe,MAAM,CAACG,MAAM,CAAC5C,KAAK,EAAE;MAC1B6C,IAAI,EAAE;QAAEC,KAAK,EAAE3C,OAAO,CAAC0C,IAAI,CAACE,IAAI,CAAC5C,OAAO;MAAE,CAAC;MAC3C6C,KAAK,EAAE;QAAEF,KAAK,EAAE3C,OAAO,CAAC6C,KAAK,CAACD,IAAI,CAAC5C,OAAO;MAAE,CAAC;MAC7C;MACA8C,OAAO,EAAE;QAAEH,KAAK,GAAAe,iBAAA,GAAE1D,OAAO,CAAC8C,OAAO,cAAAY,iBAAA,uBAAfA,iBAAA,CAAiBd,IAAI,CAAC5C,OAAO;MAAE;IACnD,CAAC,CAAC;EACJ,CAAC;AACH;AAMO,MAAM2D,IAGoB,GAAAC,OAAA,CAAAD,IAAA,GAAGH,mBAAmB,CAACH,sBAAa,CAACM,IAAI,CAAC;AAMpE,MAAME,QAUZ,GAAAD,OAAA,CAAAC,QAAA,GAAGL,mBAAmB,CAACH,sBAAa,CAACQ,QAAQ,CAAC;AAExC,SAASC,mBAAmBA,CAACpD,KAAc,EAMhD;EACA,OAAOA,KAAK,YAAYa,KAAK,IAAI,MAAM,IAAIb,KAAK,IAAI,QAAQ,IAAIA,KAAK;AACvE","ignoreList":[]}
package/index.d.cts ADDED
@@ -0,0 +1,65 @@
1
+ import { ChildProcess, StdioOptions } from 'child_process';
2
+ import child_process from 'child_process';
3
+ import { Pipe, Readable, Writable } from 'stream';
4
+ interface IOOptions {
5
+ silent?: boolean;
6
+ stdio?: StdioOptions;
7
+ encoding?: BufferEncoding | 'buffer' | null;
8
+ maxBuffer?: number;
9
+ }
10
+ type ChunkTypeHelper<MaxBuffer, Encoding> = MaxBuffer extends number ? Encoding extends BufferEncoding ? string : Buffer : Encoding extends BufferEncoding ? string : Encoding extends 'buffer' ? Buffer : undefined;
11
+ type ChunkType<Options extends IOOptions> = ChunkTypeHelper<'maxBuffer' extends keyof Options ? Options['maxBuffer'] : undefined, 'encoding' extends keyof Options ? Options['encoding'] : undefined>;
12
+ type IsPipeHelper<Stdio, Silent, Fd extends 0 | 1 | 2> = Stdio extends unknown[] ? Stdio[Fd] extends infer Value ? Value extends 'pipe' | 'overlapped' ? true : false : false : Stdio extends null | undefined | 'pipe' | 'overlapped' ? true : Stdio extends null | undefined ? Silent extends true ? false : true : false;
13
+ type IsPipe<Options extends IOOptions, Fd extends 0 | 1 | 2> = IsPipeHelper<'stdio' extends keyof Options ? Options['stdio'] : undefined, 'silent' extends keyof Options ? Options['silent'] : undefined, Fd>;
14
+ type Contains<A, T> = A extends [infer Head, ...infer Tail] ? Head extends T ? true : Contains<Tail, T> : false;
15
+ export interface ChildProcessResult<Options extends IOOptions> {
16
+ stdout: IsPipe<Options, 1> extends true ? ChunkType<Options> : undefined;
17
+ stderr: IsPipe<Options, 2> extends true ? ChunkType<Options> : undefined;
18
+ code: number | null;
19
+ signal: string | null;
20
+ killed: boolean;
21
+ }
22
+ type StdioStreams<Stdio> = { [K in keyof Stdio]: Stdio[K] extends 'pipe' | 'overlapped' ? K extends 0 | '0' ? Writable : Readable : null };
23
+ export interface ChildProcessPromise<Options extends IOOptions> extends ChildProcess, Promise<ChildProcessResult<Options>> {
24
+ stdin: IsPipe<Options, 0> extends true ? Writable : null;
25
+ stdout: IsPipe<Options, 1> extends true ? Readable : null;
26
+ stderr: IsPipe<Options, 2> extends true ? Readable : null;
27
+ readonly channel: Options['stdio'] extends infer Stdio ? Contains<Stdio, 'ipc'> extends true ? Pipe : undefined : undefined;
28
+ readonly stdio: Options['stdio'] extends infer Stdio ? Stdio extends unknown[] ? StdioStreams<Stdio> : Stdio extends null | undefined | 'pipe' | 'overlapped' ? [Writable, Readable, Readable, undefined, undefined] : [null, null, null, undefined, undefined] : [null, null, null, undefined, undefined];
29
+ }
30
+ interface PromisifyChildProcessBaseOptions extends IOOptions {
31
+ killSignal?: NodeJS.Signals | number;
32
+ }
33
+ export declare function promisifyChildProcess<Options extends PromisifyChildProcessBaseOptions>(child: ChildProcess, options?: Options): ChildProcessPromise<Options>;
34
+ export interface SpawnOptions extends child_process.SpawnOptions {
35
+ encoding?: BufferEncoding;
36
+ maxBuffer?: number;
37
+ }
38
+ export declare function spawn<Options extends SpawnOptions>(command: string, args: readonly string[], options?: Options): ChildProcessPromise<Options>;
39
+ export declare function spawn<Options extends SpawnOptions>(command: string, options?: Options): ChildProcessPromise<Options>;
40
+ export interface ForkOptions extends child_process.ForkOptions {
41
+ encoding?: BufferEncoding;
42
+ maxBuffer?: number;
43
+ }
44
+ export declare function fork<Options extends ForkOptions>(module: string, args: Array<string>, options?: Options): ChildProcessPromise<Options>;
45
+ export declare function fork<Options extends ForkOptions>(module: string, options?: Options): ChildProcessPromise<Options>;
46
+ export interface ExecOptions extends child_process.ExecOptions {
47
+ encoding?: BufferEncoding | 'buffer';
48
+ }
49
+ export declare const exec: <Options extends ExecOptions>(command: string, options?: Options) => ChildProcessPromise<Options>;
50
+ export interface ExecFileOptions extends child_process.ExecFileOptions {
51
+ encoding?: BufferEncoding | 'buffer';
52
+ }
53
+ export declare const execFile: {
54
+ <Options extends ExecFileOptions>(file: string, args: readonly string[], options?: Options): ChildProcessPromise<Options>;
55
+ <Options extends ExecFileOptions>(file: string, options?: Options): ChildProcessPromise<Options>;
56
+ };
57
+ export declare function isChildProcessError(error: unknown): error is Error & {
58
+ code: number | null;
59
+ signal: NodeJS.Signals | null;
60
+ killed: boolean;
61
+ stdout?: string | Buffer;
62
+ stderr?: string | Buffer;
63
+ };
64
+ export {};
65
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":["ChildProcess","StdioOptions","child_process","Pipe","Readable","Writable","IOOptions","silent","stdio","encoding","BufferEncoding","maxBuffer","ChunkTypeHelper","MaxBuffer","Encoding","Buffer","ChunkType","Options","IsPipeHelper","Stdio","Fd","Value","Silent","IsPipe","Contains","A","Head","T","Tail","ChildProcessResult","stdout","stderr","code","signal","killed","StdioStreams","K","ChildProcessPromise","Promise","stdin","channel","PromisifyChildProcessBaseOptions","killSignal","NodeJS","Signals","promisifyChildProcess","child","options","SpawnOptions","spawn","command","args","ForkOptions","fork","module","Array","ExecOptions","exec","ExecFileOptions","execFile","file","isChildProcessError","error","Error"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/index.d.ts CHANGED
@@ -1,68 +1,65 @@
1
- import {
2
- ChildProcess,
3
- SpawnOptions,
4
- ExecOptions,
5
- ExecFileOptions,
6
- ForkOptions,
7
- } from 'child_process'
8
-
9
- export interface Output {
10
- stdout?: string | Buffer | null | undefined
11
- stderr?: string | Buffer | null | undefined
12
- code?: number | null
13
- signal?: string | null
1
+ import { ChildProcess, StdioOptions } from 'child_process';
2
+ import child_process from 'child_process';
3
+ import { Pipe, Readable, Writable } from 'stream';
4
+ interface IOOptions {
5
+ silent?: boolean;
6
+ stdio?: StdioOptions;
7
+ encoding?: BufferEncoding | 'buffer' | null;
8
+ maxBuffer?: number;
14
9
  }
15
-
16
- export type ErrorWithOutput = Error & Output
17
-
18
- export type ChildProcessPromise = ChildProcess & Promise<Output>
19
-
20
- export interface PromisifyChildProcessOptions {
21
- encoding?: string
22
- killSignal?: string
23
- maxBuffer?: number
10
+ type ChunkTypeHelper<MaxBuffer, Encoding> = MaxBuffer extends number ? Encoding extends BufferEncoding ? string : Buffer : Encoding extends BufferEncoding ? string : Encoding extends 'buffer' ? Buffer : undefined;
11
+ type ChunkType<Options extends IOOptions> = ChunkTypeHelper<'maxBuffer' extends keyof Options ? Options['maxBuffer'] : undefined, 'encoding' extends keyof Options ? Options['encoding'] : undefined>;
12
+ type IsPipeHelper<Stdio, Silent, Fd extends 0 | 1 | 2> = Stdio extends unknown[] ? Stdio[Fd] extends infer Value ? Value extends 'pipe' | 'overlapped' ? true : false : false : Stdio extends null | undefined | 'pipe' | 'overlapped' ? true : Stdio extends null | undefined ? Silent extends true ? false : true : false;
13
+ type IsPipe<Options extends IOOptions, Fd extends 0 | 1 | 2> = IsPipeHelper<'stdio' extends keyof Options ? Options['stdio'] : undefined, 'silent' extends keyof Options ? Options['silent'] : undefined, Fd>;
14
+ type Contains<A, T> = A extends [infer Head, ...infer Tail] ? Head extends T ? true : Contains<Tail, T> : false;
15
+ export interface ChildProcessResult<Options extends IOOptions> {
16
+ stdout: IsPipe<Options, 1> extends true ? ChunkType<Options> : undefined;
17
+ stderr: IsPipe<Options, 2> extends true ? ChunkType<Options> : undefined;
18
+ code: number | null;
19
+ signal: string | null;
20
+ killed: boolean;
24
21
  }
25
-
26
- export type PromisifySpawnOptions = SpawnOptions & PromisifyChildProcessOptions
27
-
28
- export type PromisifyForkOptions = ForkOptions & PromisifyChildProcessOptions
29
-
30
- export function promisifyChildProcess(
31
- child: ChildProcess,
32
- options?: PromisifyChildProcessOptions
33
- ): ChildProcessPromise
34
-
35
- export function spawn(
36
- command: string,
37
- args: Array<string>,
38
- options?: PromisifySpawnOptions
39
- ): ChildProcessPromise
40
- export function spawn(
41
- command: string,
42
- options?: PromisifySpawnOptions
43
- ): ChildProcessPromise
44
-
45
- export function fork(
46
- module: string,
47
- args: Array<string>,
48
- options?: PromisifyForkOptions
49
- ): ChildProcessPromise
50
- export function fork(
51
- module: string,
52
- options?: PromisifyForkOptions
53
- ): ChildProcessPromise
54
-
55
- export function exec(
56
- command: string,
57
- options?: ExecOptions
58
- ): ChildProcessPromise
59
-
60
- export function execFile(
61
- file: string,
62
- args: Array<string>,
63
- options?: ExecFileOptions
64
- ): ChildProcessPromise
65
- export function execFile(
66
- file: string,
67
- options?: ExecFileOptions
68
- ): ChildProcessPromise
22
+ type StdioStreams<Stdio> = { [K in keyof Stdio]: Stdio[K] extends 'pipe' | 'overlapped' ? K extends 0 | '0' ? Writable : Readable : null };
23
+ export interface ChildProcessPromise<Options extends IOOptions> extends ChildProcess, Promise<ChildProcessResult<Options>> {
24
+ stdin: IsPipe<Options, 0> extends true ? Writable : null;
25
+ stdout: IsPipe<Options, 1> extends true ? Readable : null;
26
+ stderr: IsPipe<Options, 2> extends true ? Readable : null;
27
+ readonly channel: Options['stdio'] extends infer Stdio ? Contains<Stdio, 'ipc'> extends true ? Pipe : undefined : undefined;
28
+ readonly stdio: Options['stdio'] extends infer Stdio ? Stdio extends unknown[] ? StdioStreams<Stdio> : Stdio extends null | undefined | 'pipe' | 'overlapped' ? [Writable, Readable, Readable, undefined, undefined] : [null, null, null, undefined, undefined] : [null, null, null, undefined, undefined];
29
+ }
30
+ interface PromisifyChildProcessBaseOptions extends IOOptions {
31
+ killSignal?: NodeJS.Signals | number;
32
+ }
33
+ export declare function promisifyChildProcess<Options extends PromisifyChildProcessBaseOptions>(child: ChildProcess, options?: Options): ChildProcessPromise<Options>;
34
+ export interface SpawnOptions extends child_process.SpawnOptions {
35
+ encoding?: BufferEncoding;
36
+ maxBuffer?: number;
37
+ }
38
+ export declare function spawn<Options extends SpawnOptions>(command: string, args: readonly string[], options?: Options): ChildProcessPromise<Options>;
39
+ export declare function spawn<Options extends SpawnOptions>(command: string, options?: Options): ChildProcessPromise<Options>;
40
+ export interface ForkOptions extends child_process.ForkOptions {
41
+ encoding?: BufferEncoding;
42
+ maxBuffer?: number;
43
+ }
44
+ export declare function fork<Options extends ForkOptions>(module: string, args: Array<string>, options?: Options): ChildProcessPromise<Options>;
45
+ export declare function fork<Options extends ForkOptions>(module: string, options?: Options): ChildProcessPromise<Options>;
46
+ export interface ExecOptions extends child_process.ExecOptions {
47
+ encoding?: BufferEncoding | 'buffer';
48
+ }
49
+ export declare const exec: <Options extends ExecOptions>(command: string, options?: Options) => ChildProcessPromise<Options>;
50
+ export interface ExecFileOptions extends child_process.ExecFileOptions {
51
+ encoding?: BufferEncoding | 'buffer';
52
+ }
53
+ export declare const execFile: {
54
+ <Options extends ExecFileOptions>(file: string, args: readonly string[], options?: Options): ChildProcessPromise<Options>;
55
+ <Options extends ExecFileOptions>(file: string, options?: Options): ChildProcessPromise<Options>;
56
+ };
57
+ export declare function isChildProcessError(error: unknown): error is Error & {
58
+ code: number | null;
59
+ signal: NodeJS.Signals | null;
60
+ killed: boolean;
61
+ stdout?: string | Buffer;
62
+ stderr?: string | Buffer;
63
+ };
64
+ export {};
65
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":["ChildProcess","StdioOptions","child_process","Pipe","Readable","Writable","IOOptions","silent","stdio","encoding","BufferEncoding","maxBuffer","ChunkTypeHelper","MaxBuffer","Encoding","Buffer","ChunkType","Options","IsPipeHelper","Stdio","Fd","Value","Silent","IsPipe","Contains","A","Head","T","Tail","ChildProcessResult","stdout","stderr","code","signal","killed","StdioStreams","K","ChildProcessPromise","Promise","stdin","channel","PromisifyChildProcessBaseOptions","killSignal","NodeJS","Signals","promisifyChildProcess","child","options","SpawnOptions","spawn","command","args","ForkOptions","fork","module","Array","ExecOptions","exec","ExecFileOptions","execFile","file","isChildProcessError","error","Error"],"sources":["src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}