teen_process 4.0.9 → 4.1.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/build/lib/circular-buffer.d.ts.map +1 -1
- package/build/lib/circular-buffer.js +2 -1
- package/build/lib/circular-buffer.js.map +1 -1
- package/build/lib/exec.d.ts.map +1 -1
- package/build/lib/exec.js +28 -4
- package/build/lib/exec.js.map +1 -1
- package/build/lib/helpers.js +3 -2
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/index.d.ts +1 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/subprocess.d.ts.map +1 -1
- package/build/lib/subprocess.js +6 -2
- package/build/lib/subprocess.js.map +1 -1
- package/build/lib/types.d.ts.map +1 -1
- package/lib/circular-buffer.ts +4 -1
- package/lib/exec.ts +30 -9
- package/lib/helpers.ts +2 -1
- package/lib/index.ts +1 -1
- package/lib/subprocess.ts +17 -12
- package/lib/types.ts +3 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circular-buffer.d.ts","sourceRoot":"","sources":["../../lib/circular-buffer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAoB,CAAC;AAGjD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,SAAkB;IAMrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAEM,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOvB,KAAK,IAAI,MAAM;IAItB,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"circular-buffer.d.ts","sourceRoot":"","sources":["../../lib/circular-buffer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAoB,CAAC;AAGjD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,SAAkB;IAMrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAEM,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOvB,KAAK,IAAI,MAAM;IAItB,OAAO,CAAC,MAAM;CA6Bf"}
|
|
@@ -36,7 +36,8 @@ class CircularBuffer {
|
|
|
36
36
|
// which reduces the CPU usage
|
|
37
37
|
const expectedSizeToShift = this._size - this._maxSize + Math.trunc(this._maxSize * THRESHOLD);
|
|
38
38
|
let actualShiftedSize = 0;
|
|
39
|
-
while (numberOfItemsToShift < this._buf.length - 1 &&
|
|
39
|
+
while (numberOfItemsToShift < this._buf.length - 1 &&
|
|
40
|
+
actualShiftedSize <= expectedSizeToShift) {
|
|
40
41
|
actualShiftedSize += this._buf[numberOfItemsToShift].length;
|
|
41
42
|
numberOfItemsToShift++;
|
|
42
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circular-buffer.js","sourceRoot":"","sources":["../../lib/circular-buffer.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU;AAC5D,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAa,cAAc;IACjB,IAAI,CAAW;IACf,KAAK,CAAS;IACd,QAAQ,CAAS;IAEzB,YAAY,OAAO,GAAG,uBAAe;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,wEAAwE;QACxE,8BAA8B;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;QAC/F,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,
|
|
1
|
+
{"version":3,"file":"circular-buffer.js","sourceRoot":"","sources":["../../lib/circular-buffer.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU;AAC5D,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAa,cAAc;IACjB,IAAI,CAAW;IACf,KAAK,CAAS;IACd,QAAQ,CAAS;IAEzB,YAAY,OAAO,GAAG,uBAAe;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,wEAAwE;QACxE,8BAA8B;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;QAC/F,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,OACE,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC3C,iBAAiB,IAAI,mBAAmB,EACxC,CAAC;YACD,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC;YAC5D,oBAAoB,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC;QAClC,CAAC;QACD,IAAI,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;YAC5C,qDAAqD;YACrD,+EAA+E;YAC/E,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA3DD,wCA2DC"}
|
package/build/lib/exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../lib/exec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EAGX,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../lib/exec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EAGX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,IAAI,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,EAClF,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,EAAO,EACnB,YAAY,GAAE,CAAW,GACxB,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAkH/C"}
|
package/build/lib/exec.js
CHANGED
|
@@ -58,8 +58,9 @@ async function exec(cmd, args = [], originalOpts = {}) {
|
|
|
58
58
|
};
|
|
59
59
|
const opts = lodash_1.default.defaults({}, originalOpts, defaults);
|
|
60
60
|
const isBuffer = Boolean(opts.isBuffer);
|
|
61
|
+
const spawnOpts = buildSpawnOptions(opts, originalOpts);
|
|
61
62
|
return await new Promise((resolve, reject) => {
|
|
62
|
-
const proc = (0, node_child_process_1.spawn)(cmd, args,
|
|
63
|
+
const proc = (0, node_child_process_1.spawn)(cmd, args, spawnOpts);
|
|
63
64
|
const stdoutBuffer = new circular_buffer_1.CircularBuffer(opts.maxStdoutBufferSize);
|
|
64
65
|
const stderrBuffer = new circular_buffer_1.CircularBuffer(opts.maxStderrBufferSize);
|
|
65
66
|
let timer = null;
|
|
@@ -98,8 +99,12 @@ async function exec(cmd, args = [], originalOpts = {}) {
|
|
|
98
99
|
handleStream('stdout', stdoutBuffer);
|
|
99
100
|
handleStream('stderr', stderrBuffer);
|
|
100
101
|
function getStdio(wantBuffer) {
|
|
101
|
-
const stdout = wantBuffer
|
|
102
|
-
|
|
102
|
+
const stdout = wantBuffer
|
|
103
|
+
? stdoutBuffer.value()
|
|
104
|
+
: stdoutBuffer.value().toString(opts.encoding);
|
|
105
|
+
const stderr = wantBuffer
|
|
106
|
+
? stderrBuffer.value()
|
|
107
|
+
: stderrBuffer.value().toString(opts.encoding);
|
|
103
108
|
return { stdout, stderr };
|
|
104
109
|
}
|
|
105
110
|
proc.on('close', (code) => {
|
|
@@ -122,11 +127,30 @@ async function exec(cmd, args = [], originalOpts = {}) {
|
|
|
122
127
|
if (opts.timeout) {
|
|
123
128
|
timer = setTimeout(() => {
|
|
124
129
|
const { stdout, stderr } = getStdio(isBuffer);
|
|
125
|
-
const err = Object.assign(new Error(`Command '${rep}' timed out after ${opts.timeout}ms`), {
|
|
130
|
+
const err = Object.assign(new Error(`Command '${rep}' timed out after ${opts.timeout}ms`), {
|
|
131
|
+
stdout,
|
|
132
|
+
stderr,
|
|
133
|
+
code: null,
|
|
134
|
+
});
|
|
126
135
|
reject(err);
|
|
127
136
|
proc.kill(opts.killSignal ?? 'SIGTERM');
|
|
128
137
|
}, opts.timeout);
|
|
129
138
|
}
|
|
130
139
|
});
|
|
131
140
|
}
|
|
141
|
+
function buildSpawnOptions(opts, originalOpts) {
|
|
142
|
+
return {
|
|
143
|
+
cwd: opts.cwd,
|
|
144
|
+
env: opts.env,
|
|
145
|
+
shell: opts.shell,
|
|
146
|
+
argv0: opts.argv0,
|
|
147
|
+
uid: opts.uid,
|
|
148
|
+
gid: opts.gid,
|
|
149
|
+
detached: opts.detached,
|
|
150
|
+
windowsHide: opts.windowsHide,
|
|
151
|
+
windowsVerbatimArguments: opts.windowsVerbatimArguments,
|
|
152
|
+
signal: opts.signal,
|
|
153
|
+
...(Object.prototype.hasOwnProperty.call(originalOpts, 'stdio') ? { stdio: opts.stdio } : {}),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
132
156
|
//# sourceMappingURL=exec.js.map
|
package/build/lib/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../lib/exec.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../lib/exec.ts"],"names":[],"mappings":"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"}
|
package/build/lib/helpers.js
CHANGED
|
@@ -39,8 +39,9 @@ async function formatEnoent(error, cmd, cwd) {
|
|
|
39
39
|
}
|
|
40
40
|
const curDir = node_path_1.default.resolve(cwd ?? process.cwd());
|
|
41
41
|
const pathMsg = process.env.PATH ?? 'which is not defined for the process';
|
|
42
|
-
error.message =
|
|
43
|
-
`
|
|
42
|
+
error.message =
|
|
43
|
+
`'${cmd}' executable is not found neither in the process working folder (${curDir}) ` +
|
|
44
|
+
`nor in any folders specified in the PATH environment variable (${pathMsg})`;
|
|
44
45
|
return error;
|
|
45
46
|
}
|
|
46
47
|
//# sourceMappingURL=helpers.js.map
|
package/build/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":";;;;;AAiBA,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":";;;;;AAiBA,oCA2BC;AA5CD,0DAA6B;AAC7B,gEAAkC;AAElC;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,YAAY,CAChC,KAA4B,EAC5B,GAAW,EACX,GAAY;IAEZ,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,OAAO,GAAG,0BAA0B,GAAG,SAAS,GAAG,8BAA8B,CAAC;gBACxF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,CAA0B,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,KAAK,CAAC,OAAO,GAAG,0BAA0B,GAAG,SAAS,GAAG,kBAAkB,CAAC;gBAC5E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,sCAAsC,CAAC;IAC3E,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,oEAAoE,MAAM,IAAI;YACrF,kEAAkE,OAAO,GAAG,CAAC;IAC/E,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/build/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { spawn } from 'node:child_process';
|
|
2
2
|
export { SubProcess } from './subprocess';
|
|
3
3
|
export { exec } from './exec';
|
|
4
|
-
export type { TeenProcessExecOptions, TeenProcessExecResult, ExecError, SubProcessOptions } from './types';
|
|
4
|
+
export type { TeenProcessExecOptions, TeenProcessExecResult, ExecError, SubProcessOptions, } from './types';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../lib/subprocess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../lib/subprocess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,KAAK,EAAC,iBAAiB,EAAE,aAAa,EAA4B,MAAM,SAAS,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,UAAU,CACrB,kBAAkB,SAAS,iBAAiB,GAAG,iBAAiB,CAChE,SAAQ,YAAY;IACpB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,aAAa,CAAU;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAwBvE,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,KAAK,CACT,aAAa,GAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAW,EACjF,SAAS,GAAE,MAAM,GAAG,OAAO,GAAG,IAAW,EACzC,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,IAAI,CAAC;IAgJhB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9E;;;;;;;;;;;;;;;;OAgBG;IACG,IAAI,CAAC,gBAAgB,GAAE,MAAM,EAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBpE;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI;IASrB,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,OAAO,CAAC,SAAS;CAYlB"}
|
package/build/lib/subprocess.js
CHANGED
|
@@ -168,7 +168,9 @@ class SubProcess extends node_events_1.EventEmitter {
|
|
|
168
168
|
const encoding = this.opts.encoding || 'utf8';
|
|
169
169
|
if (this.proc.stdout) {
|
|
170
170
|
this.proc.stdout.on('data', (chunk) => handleOutput({
|
|
171
|
-
stdout: (isBuffer
|
|
171
|
+
stdout: (isBuffer
|
|
172
|
+
? chunk
|
|
173
|
+
: chunk.toString(encoding)),
|
|
172
174
|
stderr: (isBuffer ? Buffer.alloc(0) : ''),
|
|
173
175
|
}));
|
|
174
176
|
handleStreamLines('stdout', this.proc.stdout);
|
|
@@ -176,7 +178,9 @@ class SubProcess extends node_events_1.EventEmitter {
|
|
|
176
178
|
if (this.proc.stderr) {
|
|
177
179
|
this.proc.stderr.on('data', (chunk) => handleOutput({
|
|
178
180
|
stdout: (isBuffer ? Buffer.alloc(0) : ''),
|
|
179
|
-
stderr: (isBuffer
|
|
181
|
+
stderr: (isBuffer
|
|
182
|
+
? chunk
|
|
183
|
+
: chunk.toString(encoding)),
|
|
180
184
|
}));
|
|
181
185
|
handleStreamLines('stderr', this.proc.stderr);
|
|
182
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../lib/subprocess.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAyC;AAEzC,6CAAyC;AACzC,6CAAkC;AAClC,oDAAuB;AACvB,uCAAuC;AACvC,iDAA8C;
|
|
1
|
+
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../lib/subprocess.ts"],"names":[],"mappings":"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"}
|
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gEAAgE;IAChE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAErE,qDAAqD;AACrD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gEAAgE;IAChE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAErE,qDAAqD;AACrD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAC/E,MAAM,GACN,MAAM,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAC7D,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,CAAC,CAAC;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,0CAA0C;AAC1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,YAAY,CAAC;AAEvE,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,iBAAiB,IAAI,CACvD,MAAM,EAAE,CAAC,SAAS,aAAa,GAAG,MAAM,GAAG,MAAM,EACjD,MAAM,CAAC,EAAE,CAAC,SAAS,aAAa,GAAG,MAAM,GAAG,MAAM,KAC/C,OAAO,CAAC"}
|
package/lib/circular-buffer.ts
CHANGED
|
@@ -41,7 +41,10 @@ export class CircularBuffer {
|
|
|
41
41
|
// which reduces the CPU usage
|
|
42
42
|
const expectedSizeToShift = this._size - this._maxSize + Math.trunc(this._maxSize * THRESHOLD);
|
|
43
43
|
let actualShiftedSize = 0;
|
|
44
|
-
while (
|
|
44
|
+
while (
|
|
45
|
+
numberOfItemsToShift < this._buf.length - 1 &&
|
|
46
|
+
actualShiftedSize <= expectedSizeToShift
|
|
47
|
+
) {
|
|
45
48
|
actualShiftedSize += this._buf[numberOfItemsToShift].length;
|
|
46
49
|
numberOfItemsToShift++;
|
|
47
50
|
}
|
package/lib/exec.ts
CHANGED
|
@@ -8,10 +8,9 @@ import type {
|
|
|
8
8
|
TeenProcessExecResult,
|
|
9
9
|
BufferProp,
|
|
10
10
|
ExecError,
|
|
11
|
-
StreamName
|
|
11
|
+
StreamName,
|
|
12
12
|
} from './types';
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
/**
|
|
16
15
|
* Spawns a child process and collects its output.
|
|
17
16
|
*
|
|
@@ -67,9 +66,10 @@ export async function exec<T extends TeenProcessExecOptions = TeenProcessExecOpt
|
|
|
67
66
|
|
|
68
67
|
const opts = _.defaults({}, originalOpts, defaults) as T;
|
|
69
68
|
const isBuffer = Boolean(opts.isBuffer);
|
|
69
|
+
const spawnOpts = buildSpawnOptions(opts, originalOpts);
|
|
70
70
|
|
|
71
71
|
return await new Promise<TeenProcessExecResult<BufferProp<T>>>((resolve, reject) => {
|
|
72
|
-
const proc = spawn(cmd, args,
|
|
72
|
+
const proc = spawn(cmd, args, spawnOpts);
|
|
73
73
|
const stdoutBuffer = new CircularBuffer(opts.maxStdoutBufferSize);
|
|
74
74
|
const stderrBuffer = new CircularBuffer(opts.maxStderrBufferSize);
|
|
75
75
|
let timer: NodeJS.Timeout | null = null;
|
|
@@ -118,8 +118,12 @@ export async function exec<T extends TeenProcessExecOptions = TeenProcessExecOpt
|
|
|
118
118
|
function getStdio<U extends boolean>(
|
|
119
119
|
wantBuffer: U,
|
|
120
120
|
): U extends true ? {stdout: Buffer; stderr: Buffer} : {stdout: string; stderr: string} {
|
|
121
|
-
const stdout = wantBuffer
|
|
122
|
-
|
|
121
|
+
const stdout = wantBuffer
|
|
122
|
+
? stdoutBuffer.value()
|
|
123
|
+
: stdoutBuffer.value().toString(opts.encoding);
|
|
124
|
+
const stderr = wantBuffer
|
|
125
|
+
? stderrBuffer.value()
|
|
126
|
+
: stderrBuffer.value().toString(opts.encoding);
|
|
123
127
|
return {stdout, stderr} as U extends true
|
|
124
128
|
? {stdout: Buffer; stderr: Buffer}
|
|
125
129
|
: {stdout: string; stderr: string};
|
|
@@ -145,13 +149,30 @@ export async function exec<T extends TeenProcessExecOptions = TeenProcessExecOpt
|
|
|
145
149
|
if (opts.timeout) {
|
|
146
150
|
timer = setTimeout(() => {
|
|
147
151
|
const {stdout, stderr} = getStdio(isBuffer);
|
|
148
|
-
const err = Object.assign(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
const err = Object.assign(new Error(`Command '${rep}' timed out after ${opts.timeout}ms`), {
|
|
153
|
+
stdout,
|
|
154
|
+
stderr,
|
|
155
|
+
code: null,
|
|
156
|
+
}) as ExecError;
|
|
152
157
|
reject(err);
|
|
153
158
|
proc.kill(opts.killSignal ?? 'SIGTERM');
|
|
154
159
|
}, opts.timeout);
|
|
155
160
|
}
|
|
156
161
|
});
|
|
157
162
|
}
|
|
163
|
+
|
|
164
|
+
function buildSpawnOptions<T extends TeenProcessExecOptions>(opts: T, originalOpts: T) {
|
|
165
|
+
return {
|
|
166
|
+
cwd: opts.cwd,
|
|
167
|
+
env: opts.env,
|
|
168
|
+
shell: opts.shell,
|
|
169
|
+
argv0: opts.argv0,
|
|
170
|
+
uid: opts.uid,
|
|
171
|
+
gid: opts.gid,
|
|
172
|
+
detached: opts.detached,
|
|
173
|
+
windowsHide: opts.windowsHide,
|
|
174
|
+
windowsVerbatimArguments: opts.windowsVerbatimArguments,
|
|
175
|
+
signal: opts.signal,
|
|
176
|
+
...(Object.prototype.hasOwnProperty.call(originalOpts, 'stdio') ? {stdio: opts.stdio} : {}),
|
|
177
|
+
};
|
|
178
|
+
}
|
package/lib/helpers.ts
CHANGED
|
@@ -38,7 +38,8 @@ export async function formatEnoent(
|
|
|
38
38
|
|
|
39
39
|
const curDir = path.resolve(cwd ?? process.cwd());
|
|
40
40
|
const pathMsg = process.env.PATH ?? 'which is not defined for the process';
|
|
41
|
-
error.message =
|
|
41
|
+
error.message =
|
|
42
|
+
`'${cmd}' executable is not found neither in the process working folder (${curDir}) ` +
|
|
42
43
|
`nor in any folders specified in the PATH environment variable (${pathMsg})`;
|
|
43
44
|
return error;
|
|
44
45
|
}
|
package/lib/index.ts
CHANGED
package/lib/subprocess.ts
CHANGED
|
@@ -6,12 +6,7 @@ import _ from 'lodash';
|
|
|
6
6
|
import {formatEnoent} from './helpers';
|
|
7
7
|
import {createInterface} from 'node:readline';
|
|
8
8
|
import type {Readable} from 'node:stream';
|
|
9
|
-
import type {
|
|
10
|
-
SubProcessOptions,
|
|
11
|
-
StartDetector,
|
|
12
|
-
TIsBufferOpts,
|
|
13
|
-
StreamName
|
|
14
|
-
} from './types';
|
|
9
|
+
import type {SubProcessOptions, StartDetector, TIsBufferOpts, StreamName} from './types';
|
|
15
10
|
|
|
16
11
|
/**
|
|
17
12
|
* A wrapper around Node's spawn that provides event-driven process management.
|
|
@@ -118,7 +113,8 @@ export class SubProcess<
|
|
|
118
113
|
): Promise<void> {
|
|
119
114
|
let startDelay = 10;
|
|
120
115
|
|
|
121
|
-
const genericStartDetector: StartDetector<TSubProcessOptions> = (stdout, stderr) =>
|
|
116
|
+
const genericStartDetector: StartDetector<TSubProcessOptions> = (stdout, stderr) =>
|
|
117
|
+
stdout || stderr;
|
|
122
118
|
let detector: StartDetector<TSubProcessOptions> | null = null;
|
|
123
119
|
|
|
124
120
|
if (startDetector === null) {
|
|
@@ -200,10 +196,14 @@ export class SubProcess<
|
|
|
200
196
|
if (this.proc.stdout) {
|
|
201
197
|
this.proc.stdout.on('data', (chunk: Buffer) =>
|
|
202
198
|
handleOutput({
|
|
203
|
-
stdout: (isBuffer
|
|
199
|
+
stdout: (isBuffer
|
|
200
|
+
? chunk
|
|
201
|
+
: chunk.toString(encoding)) as TSubProcessOptions extends TIsBufferOpts
|
|
202
|
+
? Buffer
|
|
203
|
+
: string,
|
|
204
|
+
stderr: (isBuffer ? Buffer.alloc(0) : '') as TSubProcessOptions extends TIsBufferOpts
|
|
204
205
|
? Buffer
|
|
205
206
|
: string,
|
|
206
|
-
stderr: (isBuffer ? Buffer.alloc(0) : '') as TSubProcessOptions extends TIsBufferOpts ? Buffer : string,
|
|
207
207
|
}),
|
|
208
208
|
);
|
|
209
209
|
handleStreamLines('stdout', this.proc.stdout);
|
|
@@ -212,8 +212,12 @@ export class SubProcess<
|
|
|
212
212
|
if (this.proc.stderr) {
|
|
213
213
|
this.proc.stderr.on('data', (chunk: Buffer) =>
|
|
214
214
|
handleOutput({
|
|
215
|
-
stdout: (isBuffer ? Buffer.alloc(0) : '') as TSubProcessOptions extends TIsBufferOpts
|
|
216
|
-
|
|
215
|
+
stdout: (isBuffer ? Buffer.alloc(0) : '') as TSubProcessOptions extends TIsBufferOpts
|
|
216
|
+
? Buffer
|
|
217
|
+
: string,
|
|
218
|
+
stderr: (isBuffer
|
|
219
|
+
? chunk
|
|
220
|
+
: chunk.toString(encoding)) as TSubProcessOptions extends TIsBufferOpts
|
|
217
221
|
? Buffer
|
|
218
222
|
: string,
|
|
219
223
|
}),
|
|
@@ -339,7 +343,8 @@ export class SubProcess<
|
|
|
339
343
|
}
|
|
340
344
|
|
|
341
345
|
private emitLines(streamName: StreamName, lines: Iterable<string> | string): void {
|
|
342
|
-
const doEmit = (line: string) =>
|
|
346
|
+
const doEmit = (line: string) =>
|
|
347
|
+
this.emit('stream-line', `[${streamName.toUpperCase()}] ${line}`);
|
|
343
348
|
|
|
344
349
|
if (_.isString(lines)) {
|
|
345
350
|
doEmit(lines);
|
package/lib/types.ts
CHANGED
|
@@ -42,7 +42,9 @@ export type ExecError = Error & TeenProcessExecErrorProps;
|
|
|
42
42
|
/**
|
|
43
43
|
* Extracts the isBuffer property from options.
|
|
44
44
|
*/
|
|
45
|
-
export type BufferProp<T extends {isBuffer?: boolean}> = T['isBuffer'] extends true
|
|
45
|
+
export type BufferProp<T extends {isBuffer?: boolean}> = T['isBuffer'] extends true
|
|
46
|
+
? Buffer
|
|
47
|
+
: string;
|
|
46
48
|
|
|
47
49
|
/**
|
|
48
50
|
* Resolves to the correct exec result shape based on buffer mode.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "teen_process",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "A grown up version of Node's spawn/exec",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"child_process",
|
|
@@ -37,6 +37,8 @@
|
|
|
37
37
|
"lint": "eslint .",
|
|
38
38
|
"lint:fix": "npm run lint -- --fix",
|
|
39
39
|
"lint:types": "tsc",
|
|
40
|
+
"format": "prettier -w ./lib ./test",
|
|
41
|
+
"format:check": "prettier --check ./lib ./test",
|
|
40
42
|
"prepare": "npm run rebuild",
|
|
41
43
|
"rebuild": "npm run clean && npm run build",
|
|
42
44
|
"test": "mocha"
|