cross-spawn-cb 2.5.3 → 3.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/dist/cjs/shim/index.js +2 -3
- package/dist/cjs/shim/index.js.map +1 -1
- package/dist/cjs/shim/spawnSync.d.cts +2 -0
- package/dist/cjs/shim/spawnSync.d.ts +2 -0
- package/dist/cjs/{polyfills → shim}/spawnSync.js +11 -11
- package/dist/cjs/shim/spawnSync.js.map +1 -0
- package/dist/cjs/spawn.d.cts +3 -1
- package/dist/cjs/spawn.d.ts +3 -1
- package/dist/cjs/spawn.js +2 -1
- package/dist/cjs/spawn.js.map +1 -1
- package/dist/cjs/types.d.cts +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/workers/async.js.map +1 -1
- package/dist/esm/shim/index.js +2 -3
- package/dist/esm/shim/index.js.map +1 -1
- package/dist/esm/shim/spawnSync.d.ts +2 -0
- package/dist/esm/shim/spawnSync.js +15 -0
- package/dist/esm/shim/spawnSync.js.map +1 -0
- package/dist/esm/spawn.d.ts +3 -1
- package/dist/esm/spawn.js +2 -1
- package/dist/esm/spawn.js.map +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/workers/async.js.map +1 -1
- package/package.json +4 -4
- package/dist/cjs/polyfills/spawnSync.d.cts +0 -2
- package/dist/cjs/polyfills/spawnSync.d.ts +0 -2
- package/dist/cjs/polyfills/spawnSync.js.map +0 -1
- package/dist/esm/polyfills/spawnSync.d.ts +0 -2
- package/dist/esm/polyfills/spawnSync.js +0 -15
- package/dist/esm/polyfills/spawnSync.js.map +0 -1
package/dist/cjs/shim/index.js
CHANGED
|
@@ -34,15 +34,14 @@ _export(exports, {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
var _child_process = /*#__PURE__*/ _interop_require_default(require("child_process"));
|
|
37
|
-
var _spawnSyncts = /*#__PURE__*/ _interop_require_default(require("../polyfills/spawnSync.js"));
|
|
38
37
|
var _enoentts = require("./enoent.js");
|
|
39
38
|
var _parsets = require("./parse.js");
|
|
39
|
+
var _spawnSyncts = /*#__PURE__*/ _interop_require_default(require("./spawnSync.js"));
|
|
40
40
|
function _interop_require_default(obj) {
|
|
41
41
|
return obj && obj.__esModule ? obj : {
|
|
42
42
|
default: obj
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
var cpSpawnSync = _child_process.default.spawnSync || _spawnSyncts.default;
|
|
46
45
|
function spawn(command, args, options) {
|
|
47
46
|
var parsed = (0, _parsets.parse)(command, args, options);
|
|
48
47
|
var spawned = _child_process.default.spawn(parsed.command, parsed.args, parsed.options);
|
|
@@ -51,7 +50,7 @@ function spawn(command, args, options) {
|
|
|
51
50
|
}
|
|
52
51
|
function spawnSync(command, args, options) {
|
|
53
52
|
var parsed = (0, _parsets.parse)(command, args, options);
|
|
54
|
-
var result =
|
|
53
|
+
var result = (0, _spawnSyncts.default)(parsed.command, parsed.args, parsed.options);
|
|
55
54
|
result.error = result.error || (0, _enoentts.verifyENOENTSync)(result.status, parsed);
|
|
56
55
|
return result;
|
|
57
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/index.ts"],"sourcesContent":["/**\n * Minimal cross-spawn shim for Windows compatibility on legacy Node.js\n *\n * This replaces the bundled cross-spawn v6.0.5 (~1,950 lines) with a minimal\n * implementation (~200 lines) that uses external dependencies:\n * - which@^1.0.0 (command resolution)\n * - env-path-key@^1.0.0 (cross-platform PATH key detection)\n */\n\nimport type { ChildProcess, SpawnSyncReturns } from 'child_process';\nimport cp from 'child_process';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/index.ts"],"sourcesContent":["/**\n * Minimal cross-spawn shim for Windows compatibility on legacy Node.js\n *\n * This replaces the bundled cross-spawn v6.0.5 (~1,950 lines) with a minimal\n * implementation (~200 lines) that uses external dependencies:\n * - which@^1.0.0 (command resolution)\n * - env-path-key@^1.0.0 (cross-platform PATH key detection)\n */\n\nimport type { ChildProcess, SpawnSyncReturns } from 'child_process';\nimport cp from 'child_process';\nimport { hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './enoent.ts';\nimport { parse } from './parse.ts';\nimport spawnSyncCompat from './spawnSync.ts';\nimport type { Parsed, ShimSpawnOptions } from './types.ts';\n\nfunction spawn(command: string, args?: string[] | ShimSpawnOptions, options?: ShimSpawnOptions): ChildProcess {\n const parsed = parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nfunction spawnSync(command: string, args?: string[] | ShimSpawnOptions, options?: ShimSpawnOptions): SpawnSyncReturns<Buffer> {\n const parsed = parse(command, args, options);\n const result = spawnSyncCompat(parsed.command, parsed.args, parsed.options) as SpawnSyncReturns<Buffer> & { error?: Error };\n result.error = result.error || verifyENOENTSync(result.status as number, parsed);\n return result;\n}\n\n// Main export\nexport default spawn;\n\n// Named exports matching cross-spawn's API\nexport { spawn };\nexport { spawnSync as sync };\n\n// Internal APIs used by crossSpawn.ts\nexport { parse as _parse };\nexport const _enoent = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n\n// Re-export types\nexport type { Parsed, ShimSpawnOptions };\n"],"names":["_enoent","_parse","parse","spawn","sync","spawnSync","command","args","options","parsed","spawned","cp","hookChildProcess","result","spawnSyncCompat","error","verifyENOENTSync","status","verifyENOENT","notFoundError"],"mappings":"AAAA;;;;;;;CAOC;;;;;;;;;;;QAgCYA;eAAAA;;QADKC;eAATC,cAAK;;QARd,cAAc;IACd;eAAA;;QAGSC;eAAAA;;QACaC;eAAbC;;;oEAzBM;wBACiE;uBAC1D;kEACM;;;;;;AAG5B,SAASF,MAAMG,OAAe,EAAEC,IAAkC,EAAEC,OAA0B;IAC5F,IAAMC,SAASP,IAAAA,cAAK,EAACI,SAASC,MAAMC;IACpC,IAAME,UAAUC,sBAAE,CAACR,KAAK,CAACM,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACpEI,IAAAA,0BAAgB,EAACF,SAASD;IAC1B,OAAOC;AACT;AAEA,SAASL,UAAUC,OAAe,EAAEC,IAAkC,EAAEC,OAA0B;IAChG,IAAMC,SAASP,IAAAA,cAAK,EAACI,SAASC,MAAMC;IACpC,IAAMK,SAASC,IAAAA,oBAAe,EAACL,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IAC1EK,OAAOE,KAAK,GAAGF,OAAOE,KAAK,IAAIC,IAAAA,0BAAgB,EAACH,OAAOI,MAAM,EAAYR;IACzE,OAAOI;AACT;IAGA,WAAeV;AAQR,IAAMH,UAAU;IACrBY,kBAAAA,0BAAgB;IAChBM,cAAAA,sBAAY;IACZF,kBAAAA,0BAAgB;IAChBG,eAAAA,uBAAa;AACf"}
|
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return spawnSync;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _child_process = /*#__PURE__*/ _interop_require_default(require("child_process"));
|
|
12
|
+
var _nodeversioncalllocal = require("node-version-call-local");
|
|
12
13
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
14
|
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
14
15
|
function _interop_require_default(obj) {
|
|
@@ -16,16 +17,15 @@ function _interop_require_default(obj) {
|
|
|
16
17
|
default: obj
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
// CJS/ESM compatibility
|
|
20
|
-
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
21
20
|
var __dirname = _path.default.dirname(typeof __filename !== 'undefined' ? __filename : _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()));
|
|
22
|
-
// Path is relative to dist/cjs/polyfills/ at runtime
|
|
23
21
|
var workerPath = _path.default.join(__dirname, '..', '..', 'cjs', 'spawn.js');
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
function run(cmd, args, options) {
|
|
23
|
+
return _child_process.default.spawnSync(cmd, args, options);
|
|
24
|
+
}
|
|
25
|
+
var worker = typeof _child_process.default.spawnSync === 'function' ? run : (0, _nodeversioncalllocal.bind)(process.version, workerPath, {
|
|
26
|
+
callbacks: true
|
|
27
|
+
});
|
|
28
|
+
function spawnSync(cmd, args, options) {
|
|
29
|
+
return worker(cmd, args, options || {});
|
|
30
30
|
}
|
|
31
31
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/spawnSync.ts"],"sourcesContent":["import cp from 'child_process';\nimport { bind } from 'node-version-call-local';\nimport path from 'path';\nimport url from 'url';\nimport type { SpawnResult } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nfunction run(cmd: string, args: string[], options?: object): SpawnResult {\n return cp.spawnSync(cmd, args, options) as SpawnResult;\n}\n\nconst worker = typeof cp.spawnSync === 'function' ? run : bind(process.version, workerPath, { callbacks: true });\n\nexport default function spawnSync(cmd: string, args: string[], options?: object): SpawnResult {\n return worker(cmd, args, options || {}) as SpawnResult;\n}\n"],"names":["spawnSync","__dirname","path","dirname","__filename","url","fileURLToPath","workerPath","join","run","cmd","args","options","cp","worker","bind","process","version","callbacks"],"mappings":";;;;+BAeA;;;eAAwBA;;;oEAfT;oCACM;2DACJ;0DACD;;;;;;AAGhB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAClG,IAAMC,aAAaL,aAAI,CAACM,IAAI,CAACP,WAAW,MAAM,MAAM,OAAO;AAE3D,SAASQ,IAAIC,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IACxD,OAAOC,sBAAE,CAACb,SAAS,CAACU,KAAKC,MAAMC;AACjC;AAEA,IAAME,SAAS,OAAOD,sBAAE,CAACb,SAAS,KAAK,aAAaS,MAAMM,IAAAA,0BAAI,EAACC,QAAQC,OAAO,EAAEV,YAAY;IAAEW,WAAW;AAAK;AAE/F,SAASlB,UAAUU,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IAC7E,OAAOE,OAAOJ,KAAKC,MAAMC,WAAW,CAAC;AACvC"}
|
package/dist/cjs/spawn.d.cts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import spawnSync from './spawnSync.js';
|
|
2
2
|
import type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';
|
|
3
|
-
declare function spawn(command: string, args: string[],
|
|
3
|
+
declare function spawn(command: string, args: string[], callback: SpawnCallback): void;
|
|
4
|
+
declare function spawn(command: string, args: string[], options: SpawnOptions, callback: SpawnCallback): void;
|
|
5
|
+
declare function spawn(command: string, args: string[], options?: SpawnOptions): Promise<SpawnResult>;
|
|
4
6
|
declare namespace spawn {
|
|
5
7
|
var worker: typeof import("./workers/async.js").default;
|
|
6
8
|
var sync: typeof spawnSync;
|
package/dist/cjs/spawn.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import spawnSync from './spawnSync.js';
|
|
2
2
|
import type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';
|
|
3
|
-
declare function spawn(command: string, args: string[],
|
|
3
|
+
declare function spawn(command: string, args: string[], callback: SpawnCallback): void;
|
|
4
|
+
declare function spawn(command: string, args: string[], options: SpawnOptions, callback: SpawnCallback): void;
|
|
5
|
+
declare function spawn(command: string, args: string[], options?: SpawnOptions): Promise<SpawnResult>;
|
|
4
6
|
declare namespace spawn {
|
|
5
7
|
var worker: typeof import("./workers/async.js").default;
|
|
6
8
|
var sync: typeof spawnSync;
|
package/dist/cjs/spawn.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _crossSpawnts = /*#__PURE__*/ _interop_require_default(require("./crossSpawn.js"));
|
|
@@ -33,4 +33,5 @@ function spawn(command, args, options, callback) {
|
|
|
33
33
|
spawn.worker = _asyncts.default;
|
|
34
34
|
spawn.sync = _spawnSyncts.default;
|
|
35
35
|
spawn.crossSpawn = _crossSpawnts.default;
|
|
36
|
+
var _default = spawn;
|
|
36
37
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
package/dist/cjs/spawn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.ts';\nimport spawnSync from './spawnSync.ts';\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.ts';\nimport worker from './workers/async.ts';\n\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.ts';\nimport spawnSync from './spawnSync.ts';\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.ts';\nimport worker from './workers/async.ts';\n\nfunction spawn(command: string, args: string[], callback: SpawnCallback): void;\nfunction spawn(command: string, args: string[], options: SpawnOptions, callback: SpawnCallback): void;\nfunction spawn(command: string, args: string[], options?: SpawnOptions): Promise<SpawnResult>;\nfunction spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): void | Promise<SpawnResult> {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n const cp = crossSpawn(command, args, options);\n\n if (typeof callback === 'function') return worker(cp, options, callback);\n return new Promise((resolve, reject) => worker(cp, options as SpawnOptions, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\n\nexport default spawn;\n"],"names":["spawn","command","args","options","callback","cp","crossSpawn","worker","Promise","resolve","reject","err","res","sync","spawnSync"],"mappings":";;;;+BAuBA;;;eAAA;;;mEAvBuB;kEACD;8DAEH;;;;;;AAKnB,SAASA,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC9G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAME,KAAKC,IAAAA,qBAAU,EAACL,SAASC,MAAMC;IAErC,IAAI,OAAOC,aAAa,YAAY,OAAOG,IAAAA,gBAAM,EAACF,IAAIF,SAASC;IAC/D,OAAO,IAAII,QAAQ,SAACC,SAASC;eAAWH,IAAAA,gBAAM,EAACF,IAAIF,SAAyB,SAACQ,KAAKC;mBAASD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACzH;AACAZ,MAAMO,MAAM,GAAGA,gBAAM;AACrBP,MAAMa,IAAI,GAAGC,oBAAS;AACtBd,MAAMM,UAAU,GAAGA,qBAAU;IAE7B,WAAeN"}
|
package/dist/cjs/types.d.cts
CHANGED
|
@@ -32,7 +32,7 @@ export interface SpawnError extends NotFoundError, SpawnResult {
|
|
|
32
32
|
}
|
|
33
33
|
export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
|
|
34
34
|
export interface Enoent {
|
|
35
|
-
hookChildProcess: (cp: ChildProcess, parsed: Parsed) =>
|
|
35
|
+
hookChildProcess: (cp: ChildProcess, parsed: Parsed) => void;
|
|
36
36
|
verifyENOENT: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
37
37
|
verifyENOENTSync: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
38
38
|
notFoundError: (cp: ChildProcess, parsed: Parsed) => NotFoundError;
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export interface SpawnError extends NotFoundError, SpawnResult {
|
|
|
32
32
|
}
|
|
33
33
|
export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
|
|
34
34
|
export interface Enoent {
|
|
35
|
-
hookChildProcess: (cp: ChildProcess, parsed: Parsed) =>
|
|
35
|
+
hookChildProcess: (cp: ChildProcess, parsed: Parsed) => void;
|
|
36
36
|
verifyENOENT: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
37
37
|
verifyENOENTSync: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
38
38
|
notFoundError: (cp: ChildProcess, parsed: Parsed) => NotFoundError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/workers/async.ts"],"sourcesContent":["import oo from 'on-one';\nimport { spawnKeys } from '../constants.ts';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.ts';\n\nexport default function worker(cp: ChildProcess, options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n // collect output\n const res = { pid: 0, output: [], stdout: null, stderr: null, status: null, signal: null } as SpawnResult;\n const stdout: Buffer[] = [];\n const stderr: Buffer[] = [];\n if (options.encoding && cp.stdout) cp.stdout.on('data', stdout.push.bind(stdout));\n if (options.encoding && cp.stderr) cp.stderr.on('data', stderr.push.bind(stderr));\n\n // some versions of node emit both an error and close\n oo(cp, ['error', 'close'], (err: Error | null, status: number | null, signal: NodeJS.Signals | null) => {\n if (err) {\n if ((err as SpawnError).code === 'OK') return; // ignore\n return callback(err as SpawnError);\n }\n\n // prepare result\n res.pid = cp.pid;\n res.status = status;\n res.signal = signal;\n if (options.encoding && cp.stdout) {\n res.stdout = Buffer.concat(stdout);\n if (options.encoding !== 'binary') res.stdout = res.stdout.toString(options.encoding);\n }\n if (options.encoding && cp.stderr) {\n res.stderr = Buffer.concat(stderr);\n if (options.encoding !== 'binary') res.stderr = res.stderr.toString(options.encoding);\n }\n res.output = [null, res.stdout, res.stderr];\n if (res.status === null) res.status = 0; // patch: early node on windows could return null\n\n // process errors\n const exitErr = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (exitErr) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n exitErr[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n exitErr ? callback(exitErr as SpawnError) : callback(null, res);\n });\n\n // pipe input\n if (options.input && (typeof options.input === 'string' || Buffer.isBuffer(options.input))) {\n cp.stdin.end(options.input);\n }\n}\n"],"names":["worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","oo","err","code","Buffer","concat","toString","exitErr","Error","key","spawnKeys","indexOf","isBuffer","input","stdin","end"],"mappings":";;;;+BAKA;;;eAAwBA;;;4DALT;2BACW;;;;;;AAIX,SAASA,OAAOC,EAAgB,EAAEC,OAAsC,EAAEC,QAAwB;IAC/G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,iBAAiB;IACjB,IAAME,MAAM;QAAEC,KAAK;QAAGC,QAAQ,EAAE;QAAEC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;IAAK;IACzF,IAAMH,SAAmB,EAAE;IAC3B,IAAMC,SAAmB,EAAE;IAC3B,IAAIN,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAEN,GAAGM,MAAM,CAACK,EAAE,CAAC,QAAQL,OAAOM,IAAI,CAACC,IAAI,CAACP;IACzE,IAAIL,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAEP,GAAGO,MAAM,CAACI,EAAE,CAAC,QAAQJ,OAAOK,IAAI,CAACC,IAAI,CAACN;IAEzE,qDAAqD;IACrDO,IAAAA,cAAE,EAACd,IAAI;QAAC;QAAS;KAAQ,EAAE,SAACe,KAAmBP,QAAuBC;QACpE,IAAIM,KAAK;YACP,IAAI,AAACA,IAAmBC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxD,OAAOd,SAASa;QAClB;QAEA,iBAAiB;QACjBZ,IAAIC,GAAG,GAAGJ,GAAGI,GAAG;QAChBD,IAAIK,MAAM,GAAGA;QACbL,IAAIM,MAAM,GAAGA;QACb,IAAIR,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAE;YACjCH,IAAIG,MAAM,GAAGW,OAAOC,MAAM,CAACZ;YAC3B,IAAIL,QAAQS,QAAQ,KAAK,UAAUP,IAAIG,MAAM,GAAGH,IAAIG,MAAM,CAACa,QAAQ,CAAClB,QAAQS,QAAQ;QACtF;QACA,IAAIT,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAE;YACjCJ,IAAII,MAAM,GAAGU,OAAOC,MAAM,CAACX;YAC3B,IAAIN,QAAQS,QAAQ,KAAK,UAAUP,IAAII,MAAM,GAAGJ,IAAII,MAAM,CAACY,QAAQ,CAAClB,QAAQS,QAAQ;QACtF;QACAP,IAAIE,MAAM,GAAG;YAAC;YAAMF,IAAIG,MAAM;YAAEH,IAAII,MAAM;SAAC;QAC3C,IAAIJ,IAAIK,MAAM,KAAK,MAAML,IAAIK,MAAM,GAAG,GAAG,iDAAiD;QAE1F,iBAAiB;QACjB,IAAMY,UAAUjB,IAAIK,MAAM,KAAK,IAAI,IAAIa,MAAM,AAAC,uBAAiC,OAAXlB,IAAIK,MAAM,KAAM;QACpF,IAAIY,SAAS;YACX,IAAK,IAAME,OAAOnB,IAAK;gBACrB,IAAIoB,sBAAS,CAACC,OAAO,CAACF,OAAO,GAAG;gBAChCF,OAAO,CAACE,IAAI,GAAGL,OAAOQ,QAAQ,CAACtB,GAAG,CAACmB,IAAI,IAAInB,GAAG,CAACmB,IAAI,CAACH,QAAQ,CAAClB,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACmB,IAAI;YACrG;QACF;QACAF,UAAUlB,SAASkB,WAAyBlB,SAAS,MAAMC;IAC7D;IAEA,aAAa;IACb,IAAIF,QAAQyB,KAAK,IAAK,CAAA,OAAOzB,QAAQyB,KAAK,KAAK,YAAYT,OAAOQ,QAAQ,CAACxB,QAAQyB,KAAK,CAAA,GAAI;QAC1F1B,GAAG2B,KAAK,CAACC,GAAG,CAAC3B,QAAQyB,KAAK;IAC5B;AACF"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/workers/async.ts"],"sourcesContent":["import oo from 'on-one';\nimport { spawnKeys } from '../constants.ts';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.ts';\n\nexport default function worker(cp: ChildProcess, options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): void {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n // collect output\n const res = { pid: 0, output: [], stdout: null, stderr: null, status: null, signal: null } as SpawnResult;\n const stdout: Buffer[] = [];\n const stderr: Buffer[] = [];\n if (options.encoding && cp.stdout) cp.stdout.on('data', stdout.push.bind(stdout));\n if (options.encoding && cp.stderr) cp.stderr.on('data', stderr.push.bind(stderr));\n\n // some versions of node emit both an error and close\n oo(cp, ['error', 'close'], (err: Error | null, status: number | null, signal: NodeJS.Signals | null) => {\n if (err) {\n if ((err as SpawnError).code === 'OK') return; // ignore\n return callback(err as SpawnError);\n }\n\n // prepare result\n res.pid = cp.pid;\n res.status = status;\n res.signal = signal;\n if (options.encoding && cp.stdout) {\n res.stdout = Buffer.concat(stdout);\n if (options.encoding !== 'binary') res.stdout = res.stdout.toString(options.encoding);\n }\n if (options.encoding && cp.stderr) {\n res.stderr = Buffer.concat(stderr);\n if (options.encoding !== 'binary') res.stderr = res.stderr.toString(options.encoding);\n }\n res.output = [null, res.stdout, res.stderr];\n if (res.status === null) res.status = 0; // patch: early node on windows could return null\n\n // process errors\n const exitErr = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (exitErr) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n exitErr[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n exitErr ? callback(exitErr as SpawnError) : callback(null, res);\n });\n\n // pipe input\n if (options.input && (typeof options.input === 'string' || Buffer.isBuffer(options.input))) {\n cp.stdin.end(options.input);\n }\n}\n"],"names":["worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","oo","err","code","Buffer","concat","toString","exitErr","Error","key","spawnKeys","indexOf","isBuffer","input","stdin","end"],"mappings":";;;;+BAKA;;;eAAwBA;;;4DALT;2BACW;;;;;;AAIX,SAASA,OAAOC,EAAgB,EAAEC,OAAsC,EAAEC,QAAwB;IAC/G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,iBAAiB;IACjB,IAAME,MAAM;QAAEC,KAAK;QAAGC,QAAQ,EAAE;QAAEC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;IAAK;IACzF,IAAMH,SAAmB,EAAE;IAC3B,IAAMC,SAAmB,EAAE;IAC3B,IAAIN,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAEN,GAAGM,MAAM,CAACK,EAAE,CAAC,QAAQL,OAAOM,IAAI,CAACC,IAAI,CAACP;IACzE,IAAIL,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAEP,GAAGO,MAAM,CAACI,EAAE,CAAC,QAAQJ,OAAOK,IAAI,CAACC,IAAI,CAACN;IAEzE,qDAAqD;IACrDO,IAAAA,cAAE,EAACd,IAAI;QAAC;QAAS;KAAQ,EAAE,SAACe,KAAmBP,QAAuBC;QACpE,IAAIM,KAAK;YACP,IAAI,AAACA,IAAmBC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxD,OAAOd,SAASa;QAClB;QAEA,iBAAiB;QACjBZ,IAAIC,GAAG,GAAGJ,GAAGI,GAAG;QAChBD,IAAIK,MAAM,GAAGA;QACbL,IAAIM,MAAM,GAAGA;QACb,IAAIR,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAE;YACjCH,IAAIG,MAAM,GAAGW,OAAOC,MAAM,CAACZ;YAC3B,IAAIL,QAAQS,QAAQ,KAAK,UAAUP,IAAIG,MAAM,GAAGH,IAAIG,MAAM,CAACa,QAAQ,CAAClB,QAAQS,QAAQ;QACtF;QACA,IAAIT,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAE;YACjCJ,IAAII,MAAM,GAAGU,OAAOC,MAAM,CAACX;YAC3B,IAAIN,QAAQS,QAAQ,KAAK,UAAUP,IAAII,MAAM,GAAGJ,IAAII,MAAM,CAACY,QAAQ,CAAClB,QAAQS,QAAQ;QACtF;QACAP,IAAIE,MAAM,GAAG;YAAC;YAAMF,IAAIG,MAAM;YAAEH,IAAII,MAAM;SAAC;QAC3C,IAAIJ,IAAIK,MAAM,KAAK,MAAML,IAAIK,MAAM,GAAG,GAAG,iDAAiD;QAE1F,iBAAiB;QACjB,IAAMY,UAAUjB,IAAIK,MAAM,KAAK,IAAI,IAAIa,MAAM,AAAC,uBAAiC,OAAXlB,IAAIK,MAAM,KAAM;QACpF,IAAIY,SAAS;YACX,IAAK,IAAME,OAAOnB,IAAK;gBACrB,IAAIoB,sBAAS,CAACC,OAAO,CAACF,OAAO,GAAG;gBAChCF,OAAO,CAACE,IAAI,GAAGL,OAAOQ,QAAQ,CAACtB,GAAG,CAACmB,IAAI,IAAInB,GAAG,CAACmB,IAAI,CAACH,QAAQ,CAAClB,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACmB,IAAI;YACrG;QACF;QACAF,UAAUlB,SAASkB,WAAyBlB,SAAS,MAAMC;IAC7D;IAEA,aAAa;IACb,IAAIF,QAAQyB,KAAK,IAAK,CAAA,OAAOzB,QAAQyB,KAAK,KAAK,YAAYT,OAAOQ,QAAQ,CAACxB,QAAQyB,KAAK,CAAA,GAAI;QAC1F1B,GAAG2B,KAAK,CAACC,GAAG,CAAC3B,QAAQyB,KAAK;IAC5B;AACF"}
|
package/dist/esm/shim/index.js
CHANGED
|
@@ -6,10 +6,9 @@
|
|
|
6
6
|
* - which@^1.0.0 (command resolution)
|
|
7
7
|
* - env-path-key@^1.0.0 (cross-platform PATH key detection)
|
|
8
8
|
*/ import cp from 'child_process';
|
|
9
|
-
import spawnSyncPolyfill from '../polyfills/spawnSync.js';
|
|
10
9
|
import { hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './enoent.js';
|
|
11
10
|
import { parse } from './parse.js';
|
|
12
|
-
|
|
11
|
+
import spawnSyncCompat from './spawnSync.js';
|
|
13
12
|
function spawn(command, args, options) {
|
|
14
13
|
const parsed = parse(command, args, options);
|
|
15
14
|
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
|
|
@@ -18,7 +17,7 @@ function spawn(command, args, options) {
|
|
|
18
17
|
}
|
|
19
18
|
function spawnSync(command, args, options) {
|
|
20
19
|
const parsed = parse(command, args, options);
|
|
21
|
-
const result =
|
|
20
|
+
const result = spawnSyncCompat(parsed.command, parsed.args, parsed.options);
|
|
22
21
|
result.error = result.error || verifyENOENTSync(result.status, parsed);
|
|
23
22
|
return result;
|
|
24
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/index.ts"],"sourcesContent":["/**\n * Minimal cross-spawn shim for Windows compatibility on legacy Node.js\n *\n * This replaces the bundled cross-spawn v6.0.5 (~1,950 lines) with a minimal\n * implementation (~200 lines) that uses external dependencies:\n * - which@^1.0.0 (command resolution)\n * - env-path-key@^1.0.0 (cross-platform PATH key detection)\n */\n\nimport type { ChildProcess, SpawnSyncReturns } from 'child_process';\nimport cp from 'child_process';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/index.ts"],"sourcesContent":["/**\n * Minimal cross-spawn shim for Windows compatibility on legacy Node.js\n *\n * This replaces the bundled cross-spawn v6.0.5 (~1,950 lines) with a minimal\n * implementation (~200 lines) that uses external dependencies:\n * - which@^1.0.0 (command resolution)\n * - env-path-key@^1.0.0 (cross-platform PATH key detection)\n */\n\nimport type { ChildProcess, SpawnSyncReturns } from 'child_process';\nimport cp from 'child_process';\nimport { hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './enoent.ts';\nimport { parse } from './parse.ts';\nimport spawnSyncCompat from './spawnSync.ts';\nimport type { Parsed, ShimSpawnOptions } from './types.ts';\n\nfunction spawn(command: string, args?: string[] | ShimSpawnOptions, options?: ShimSpawnOptions): ChildProcess {\n const parsed = parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nfunction spawnSync(command: string, args?: string[] | ShimSpawnOptions, options?: ShimSpawnOptions): SpawnSyncReturns<Buffer> {\n const parsed = parse(command, args, options);\n const result = spawnSyncCompat(parsed.command, parsed.args, parsed.options) as SpawnSyncReturns<Buffer> & { error?: Error };\n result.error = result.error || verifyENOENTSync(result.status as number, parsed);\n return result;\n}\n\n// Main export\nexport default spawn;\n\n// Named exports matching cross-spawn's API\nexport { spawn };\nexport { spawnSync as sync };\n\n// Internal APIs used by crossSpawn.ts\nexport { parse as _parse };\nexport const _enoent = {\n hookChildProcess,\n verifyENOENT,\n verifyENOENTSync,\n notFoundError,\n};\n\n// Re-export types\nexport type { Parsed, ShimSpawnOptions };\n"],"names":["cp","hookChildProcess","notFoundError","verifyENOENT","verifyENOENTSync","parse","spawnSyncCompat","spawn","command","args","options","parsed","spawned","spawnSync","result","error","status","sync","_parse","_enoent"],"mappings":"AAAA;;;;;;;CAOC,GAGD,OAAOA,QAAQ,gBAAgB;AAC/B,SAASC,gBAAgB,EAAEC,aAAa,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,cAAc;AAC9F,SAASC,KAAK,QAAQ,aAAa;AACnC,OAAOC,qBAAqB,iBAAiB;AAG7C,SAASC,MAAMC,OAAe,EAAEC,IAAkC,EAAEC,OAA0B;IAC5F,MAAMC,SAASN,MAAMG,SAASC,MAAMC;IACpC,MAAME,UAAUZ,GAAGO,KAAK,CAACI,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACpET,iBAAiBW,SAASD;IAC1B,OAAOC;AACT;AAEA,SAASC,UAAUL,OAAe,EAAEC,IAAkC,EAAEC,OAA0B;IAChG,MAAMC,SAASN,MAAMG,SAASC,MAAMC;IACpC,MAAMI,SAASR,gBAAgBK,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IAC1EI,OAAOC,KAAK,GAAGD,OAAOC,KAAK,IAAIX,iBAAiBU,OAAOE,MAAM,EAAYL;IACzE,OAAOG;AACT;AAEA,cAAc;AACd,eAAeP,MAAM;AAErB,2CAA2C;AAC3C,SAASA,KAAK,GAAG;AACjB,SAASM,aAAaI,IAAI,GAAG;AAE7B,sCAAsC;AACtC,SAASZ,SAASa,MAAM,GAAG;AAC3B,OAAO,MAAMC,UAAU;IACrBlB;IACAE;IACAC;IACAF;AACF,EAAE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import cp from 'child_process';
|
|
2
|
+
import { bind } from 'node-version-call-local';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import url from 'url';
|
|
5
|
+
const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));
|
|
6
|
+
const workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');
|
|
7
|
+
function run(cmd, args, options) {
|
|
8
|
+
return cp.spawnSync(cmd, args, options);
|
|
9
|
+
}
|
|
10
|
+
const worker = typeof cp.spawnSync === 'function' ? run : bind(process.version, workerPath, {
|
|
11
|
+
callbacks: true
|
|
12
|
+
});
|
|
13
|
+
export default function spawnSync(cmd, args, options) {
|
|
14
|
+
return worker(cmd, args, options || {});
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/shim/spawnSync.ts"],"sourcesContent":["import cp from 'child_process';\nimport { bind } from 'node-version-call-local';\nimport path from 'path';\nimport url from 'url';\nimport type { SpawnResult } from '../types.ts';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nfunction run(cmd: string, args: string[], options?: object): SpawnResult {\n return cp.spawnSync(cmd, args, options) as SpawnResult;\n}\n\nconst worker = typeof cp.spawnSync === 'function' ? run : bind(process.version, workerPath, { callbacks: true });\n\nexport default function spawnSync(cmd: string, args: string[], options?: object): SpawnResult {\n return worker(cmd, args, options || {}) as SpawnResult;\n}\n"],"names":["cp","bind","path","url","__dirname","dirname","__filename","fileURLToPath","workerPath","join","run","cmd","args","options","spawnSync","worker","process","version","callbacks"],"mappings":"AAAA,OAAOA,QAAQ,gBAAgB;AAC/B,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAGtB,MAAMC,YAAYF,KAAKG,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaH,IAAII,aAAa,CAAC,YAAYJ,GAAG;AACjH,MAAMK,aAAaN,KAAKO,IAAI,CAACL,WAAW,MAAM,MAAM,OAAO;AAE3D,SAASM,IAAIC,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IACxD,OAAOb,GAAGc,SAAS,CAACH,KAAKC,MAAMC;AACjC;AAEA,MAAME,SAAS,OAAOf,GAAGc,SAAS,KAAK,aAAaJ,MAAMT,KAAKe,QAAQC,OAAO,EAAET,YAAY;IAAEU,WAAW;AAAK;AAE9G,eAAe,SAASJ,UAAUH,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IAC7E,OAAOE,OAAOJ,KAAKC,MAAMC,WAAW,CAAC;AACvC"}
|
package/dist/esm/spawn.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import spawnSync from './spawnSync.js';
|
|
2
2
|
import type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';
|
|
3
|
-
declare function spawn(command: string, args: string[],
|
|
3
|
+
declare function spawn(command: string, args: string[], callback: SpawnCallback): void;
|
|
4
|
+
declare function spawn(command: string, args: string[], options: SpawnOptions, callback: SpawnCallback): void;
|
|
5
|
+
declare function spawn(command: string, args: string[], options?: SpawnOptions): Promise<SpawnResult>;
|
|
4
6
|
declare namespace spawn {
|
|
5
7
|
var worker: typeof import("./workers/async.js").default;
|
|
6
8
|
var sync: typeof spawnSync;
|
package/dist/esm/spawn.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import crossSpawn from './crossSpawn.js';
|
|
2
2
|
import spawnSync from './spawnSync.js';
|
|
3
3
|
import worker from './workers/async.js';
|
|
4
|
-
|
|
4
|
+
function spawn(command, args, options, callback) {
|
|
5
5
|
if (typeof options === 'function') {
|
|
6
6
|
callback = options;
|
|
7
7
|
options = {};
|
|
@@ -14,3 +14,4 @@ export default function spawn(command, args, options, callback) {
|
|
|
14
14
|
spawn.worker = worker;
|
|
15
15
|
spawn.sync = spawnSync;
|
|
16
16
|
spawn.crossSpawn = crossSpawn;
|
|
17
|
+
export default spawn;
|
package/dist/esm/spawn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.ts';\nimport spawnSync from './spawnSync.ts';\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.ts';\nimport worker from './workers/async.ts';\n\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.ts';\nimport spawnSync from './spawnSync.ts';\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.ts';\nimport worker from './workers/async.ts';\n\nfunction spawn(command: string, args: string[], callback: SpawnCallback): void;\nfunction spawn(command: string, args: string[], options: SpawnOptions, callback: SpawnCallback): void;\nfunction spawn(command: string, args: string[], options?: SpawnOptions): Promise<SpawnResult>;\nfunction spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): void | Promise<SpawnResult> {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n const cp = crossSpawn(command, args, options);\n\n if (typeof callback === 'function') return worker(cp, options, callback);\n return new Promise((resolve, reject) => worker(cp, options as SpawnOptions, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\n\nexport default spawn;\n"],"names":["crossSpawn","spawnSync","worker","spawn","command","args","options","callback","cp","Promise","resolve","reject","err","res","sync"],"mappings":"AAAA,OAAOA,gBAAgB,kBAAkB;AACzC,OAAOC,eAAe,iBAAiB;AAEvC,OAAOC,YAAY,qBAAqB;AAKxC,SAASC,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC9G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IACtB,MAAME,KAAKR,WAAWI,SAASC,MAAMC;IAErC,IAAI,OAAOC,aAAa,YAAY,OAAOL,OAAOM,IAAIF,SAASC;IAC/D,OAAO,IAAIE,QAAQ,CAACC,SAASC,SAAWT,OAAOM,IAAIF,SAAyB,CAACM,KAAKC,MAASD,MAAMD,OAAOC,OAAOF,QAAQG;AACzH;AACAV,MAAMD,MAAM,GAAGA;AACfC,MAAMW,IAAI,GAAGb;AACbE,MAAMH,UAAU,GAAGA;AAEnB,eAAeG,MAAM"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export interface SpawnError extends NotFoundError, SpawnResult {
|
|
|
32
32
|
}
|
|
33
33
|
export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
|
|
34
34
|
export interface Enoent {
|
|
35
|
-
hookChildProcess: (cp: ChildProcess, parsed: Parsed) =>
|
|
35
|
+
hookChildProcess: (cp: ChildProcess, parsed: Parsed) => void;
|
|
36
36
|
verifyENOENT: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
37
37
|
verifyENOENTSync: (status: number, parsed: Parsed) => NotFoundError | null;
|
|
38
38
|
notFoundError: (cp: ChildProcess, parsed: Parsed) => NotFoundError;
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/types.ts"],"sourcesContent":["import type * as child_process from 'child_process';\n\nexport type ChildProcess = child_process.ChildProcess;\nexport interface SpawnOptions extends child_process.SpawnOptions {\n encoding?: BufferEncoding;\n env?: NodeJS.ProcessEnv;\n input?: string | Buffer;\n}\nexport interface SpawnSyncOptions extends child_process.SpawnSyncOptions {\n encoding?: BufferEncoding;\n env?: NodeJS.ProcessEnv;\n input?: string | Buffer;\n}\nexport type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;\n\nexport interface Parsed {\n command: string;\n args: string[];\n options: SpawnOptions | SpawnSyncOptions;\n file?: string | null;\n original?: {\n command: string;\n args: string[];\n };\n}\n\nexport interface NotFoundError extends Error {\n code?: string;\n errno?: string;\n syscall?: string;\n path?: string;\n spawnargs?: string[];\n}\nexport interface SpawnError extends NotFoundError, SpawnResult {}\n\nexport type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;\n\nexport interface Enoent {\n hookChildProcess: (cp: ChildProcess, parsed: Parsed) =>
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/types.ts"],"sourcesContent":["import type * as child_process from 'child_process';\n\nexport type ChildProcess = child_process.ChildProcess;\nexport interface SpawnOptions extends child_process.SpawnOptions {\n encoding?: BufferEncoding;\n env?: NodeJS.ProcessEnv;\n input?: string | Buffer;\n}\nexport interface SpawnSyncOptions extends child_process.SpawnSyncOptions {\n encoding?: BufferEncoding;\n env?: NodeJS.ProcessEnv;\n input?: string | Buffer;\n}\nexport type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;\n\nexport interface Parsed {\n command: string;\n args: string[];\n options: SpawnOptions | SpawnSyncOptions;\n file?: string | null;\n original?: {\n command: string;\n args: string[];\n };\n}\n\nexport interface NotFoundError extends Error {\n code?: string;\n errno?: string;\n syscall?: string;\n path?: string;\n spawnargs?: string[];\n}\nexport interface SpawnError extends NotFoundError, SpawnResult {}\n\nexport type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;\n\nexport interface Enoent {\n hookChildProcess: (cp: ChildProcess, parsed: Parsed) => void;\n verifyENOENT: (status: number, parsed: Parsed) => NotFoundError | null;\n verifyENOENTSync: (status: number, parsed: Parsed) => NotFoundError | null;\n notFoundError: (cp: ChildProcess, parsed: Parsed) => NotFoundError;\n}\n"],"names":[],"mappings":"AAqCA,WAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/workers/async.ts"],"sourcesContent":["import oo from 'on-one';\nimport { spawnKeys } from '../constants.ts';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.ts';\n\nexport default function worker(cp: ChildProcess, options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n // collect output\n const res = { pid: 0, output: [], stdout: null, stderr: null, status: null, signal: null } as SpawnResult;\n const stdout: Buffer[] = [];\n const stderr: Buffer[] = [];\n if (options.encoding && cp.stdout) cp.stdout.on('data', stdout.push.bind(stdout));\n if (options.encoding && cp.stderr) cp.stderr.on('data', stderr.push.bind(stderr));\n\n // some versions of node emit both an error and close\n oo(cp, ['error', 'close'], (err: Error | null, status: number | null, signal: NodeJS.Signals | null) => {\n if (err) {\n if ((err as SpawnError).code === 'OK') return; // ignore\n return callback(err as SpawnError);\n }\n\n // prepare result\n res.pid = cp.pid;\n res.status = status;\n res.signal = signal;\n if (options.encoding && cp.stdout) {\n res.stdout = Buffer.concat(stdout);\n if (options.encoding !== 'binary') res.stdout = res.stdout.toString(options.encoding);\n }\n if (options.encoding && cp.stderr) {\n res.stderr = Buffer.concat(stderr);\n if (options.encoding !== 'binary') res.stderr = res.stderr.toString(options.encoding);\n }\n res.output = [null, res.stdout, res.stderr];\n if (res.status === null) res.status = 0; // patch: early node on windows could return null\n\n // process errors\n const exitErr = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (exitErr) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n exitErr[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n exitErr ? callback(exitErr as SpawnError) : callback(null, res);\n });\n\n // pipe input\n if (options.input && (typeof options.input === 'string' || Buffer.isBuffer(options.input))) {\n cp.stdin.end(options.input);\n }\n}\n"],"names":["oo","spawnKeys","worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","err","code","Buffer","concat","toString","exitErr","Error","key","indexOf","isBuffer","input","stdin","end"],"mappings":"AAAA,OAAOA,QAAQ,SAAS;AACxB,SAASC,SAAS,QAAQ,kBAAkB;AAI5C,eAAe,SAASC,OAAOC,EAAgB,EAAEC,OAAsC,EAAEC,QAAwB;IAC/G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,iBAAiB;IACjB,MAAME,MAAM;QAAEC,KAAK;QAAGC,QAAQ,EAAE;QAAEC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;IAAK;IACzF,MAAMH,SAAmB,EAAE;IAC3B,MAAMC,SAAmB,EAAE;IAC3B,IAAIN,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAEN,GAAGM,MAAM,CAACK,EAAE,CAAC,QAAQL,OAAOM,IAAI,CAACC,IAAI,CAACP;IACzE,IAAIL,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAEP,GAAGO,MAAM,CAACI,EAAE,CAAC,QAAQJ,OAAOK,IAAI,CAACC,IAAI,CAACN;IAEzE,qDAAqD;IACrDV,GAAGG,IAAI;QAAC;QAAS;KAAQ,EAAE,CAACc,KAAmBN,QAAuBC;QACpE,IAAIK,KAAK;YACP,IAAI,AAACA,IAAmBC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxD,OAAOb,SAASY;QAClB;QAEA,iBAAiB;QACjBX,IAAIC,GAAG,GAAGJ,GAAGI,GAAG;QAChBD,IAAIK,MAAM,GAAGA;QACbL,IAAIM,MAAM,GAAGA;QACb,IAAIR,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAE;YACjCH,IAAIG,MAAM,GAAGU,OAAOC,MAAM,CAACX;YAC3B,IAAIL,QAAQS,QAAQ,KAAK,UAAUP,IAAIG,MAAM,GAAGH,IAAIG,MAAM,CAACY,QAAQ,CAACjB,QAAQS,QAAQ;QACtF;QACA,IAAIT,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAE;YACjCJ,IAAII,MAAM,GAAGS,OAAOC,MAAM,CAACV;YAC3B,IAAIN,QAAQS,QAAQ,KAAK,UAAUP,IAAII,MAAM,GAAGJ,IAAII,MAAM,CAACW,QAAQ,CAACjB,QAAQS,QAAQ;QACtF;QACAP,IAAIE,MAAM,GAAG;YAAC;YAAMF,IAAIG,MAAM;YAAEH,IAAII,MAAM;SAAC;QAC3C,IAAIJ,IAAIK,MAAM,KAAK,MAAML,IAAIK,MAAM,GAAG,GAAG,iDAAiD;QAE1F,iBAAiB;QACjB,MAAMW,UAAUhB,IAAIK,MAAM,KAAK,IAAI,IAAIY,MAAM,CAAC,oBAAoB,EAAEjB,IAAIK,MAAM,EAAE,IAAI;QACpF,IAAIW,SAAS;YACX,IAAK,MAAME,OAAOlB,IAAK;gBACrB,IAAIL,UAAUwB,OAAO,CAACD,OAAO,GAAG;gBAChCF,OAAO,CAACE,IAAI,GAAGL,OAAOO,QAAQ,CAACpB,GAAG,CAACkB,IAAI,IAAIlB,GAAG,CAACkB,IAAI,CAACH,QAAQ,CAACjB,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACkB,IAAI;YACrG;QACF;QACAF,UAAUjB,SAASiB,WAAyBjB,SAAS,MAAMC;IAC7D;IAEA,aAAa;IACb,IAAIF,QAAQuB,KAAK,IAAK,CAAA,OAAOvB,QAAQuB,KAAK,KAAK,YAAYR,OAAOO,QAAQ,CAACtB,QAAQuB,KAAK,CAAA,GAAI;QAC1FxB,GAAGyB,KAAK,CAACC,GAAG,CAACzB,QAAQuB,KAAK;IAC5B;AACF"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/workers/async.ts"],"sourcesContent":["import oo from 'on-one';\nimport { spawnKeys } from '../constants.ts';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.ts';\n\nexport default function worker(cp: ChildProcess, options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): void {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n // collect output\n const res = { pid: 0, output: [], stdout: null, stderr: null, status: null, signal: null } as SpawnResult;\n const stdout: Buffer[] = [];\n const stderr: Buffer[] = [];\n if (options.encoding && cp.stdout) cp.stdout.on('data', stdout.push.bind(stdout));\n if (options.encoding && cp.stderr) cp.stderr.on('data', stderr.push.bind(stderr));\n\n // some versions of node emit both an error and close\n oo(cp, ['error', 'close'], (err: Error | null, status: number | null, signal: NodeJS.Signals | null) => {\n if (err) {\n if ((err as SpawnError).code === 'OK') return; // ignore\n return callback(err as SpawnError);\n }\n\n // prepare result\n res.pid = cp.pid;\n res.status = status;\n res.signal = signal;\n if (options.encoding && cp.stdout) {\n res.stdout = Buffer.concat(stdout);\n if (options.encoding !== 'binary') res.stdout = res.stdout.toString(options.encoding);\n }\n if (options.encoding && cp.stderr) {\n res.stderr = Buffer.concat(stderr);\n if (options.encoding !== 'binary') res.stderr = res.stderr.toString(options.encoding);\n }\n res.output = [null, res.stdout, res.stderr];\n if (res.status === null) res.status = 0; // patch: early node on windows could return null\n\n // process errors\n const exitErr = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (exitErr) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n exitErr[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n exitErr ? callback(exitErr as SpawnError) : callback(null, res);\n });\n\n // pipe input\n if (options.input && (typeof options.input === 'string' || Buffer.isBuffer(options.input))) {\n cp.stdin.end(options.input);\n }\n}\n"],"names":["oo","spawnKeys","worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","err","code","Buffer","concat","toString","exitErr","Error","key","indexOf","isBuffer","input","stdin","end"],"mappings":"AAAA,OAAOA,QAAQ,SAAS;AACxB,SAASC,SAAS,QAAQ,kBAAkB;AAI5C,eAAe,SAASC,OAAOC,EAAgB,EAAEC,OAAsC,EAAEC,QAAwB;IAC/G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,iBAAiB;IACjB,MAAME,MAAM;QAAEC,KAAK;QAAGC,QAAQ,EAAE;QAAEC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;QAAMC,QAAQ;IAAK;IACzF,MAAMH,SAAmB,EAAE;IAC3B,MAAMC,SAAmB,EAAE;IAC3B,IAAIN,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAEN,GAAGM,MAAM,CAACK,EAAE,CAAC,QAAQL,OAAOM,IAAI,CAACC,IAAI,CAACP;IACzE,IAAIL,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAEP,GAAGO,MAAM,CAACI,EAAE,CAAC,QAAQJ,OAAOK,IAAI,CAACC,IAAI,CAACN;IAEzE,qDAAqD;IACrDV,GAAGG,IAAI;QAAC;QAAS;KAAQ,EAAE,CAACc,KAAmBN,QAAuBC;QACpE,IAAIK,KAAK;YACP,IAAI,AAACA,IAAmBC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxD,OAAOb,SAASY;QAClB;QAEA,iBAAiB;QACjBX,IAAIC,GAAG,GAAGJ,GAAGI,GAAG;QAChBD,IAAIK,MAAM,GAAGA;QACbL,IAAIM,MAAM,GAAGA;QACb,IAAIR,QAAQS,QAAQ,IAAIV,GAAGM,MAAM,EAAE;YACjCH,IAAIG,MAAM,GAAGU,OAAOC,MAAM,CAACX;YAC3B,IAAIL,QAAQS,QAAQ,KAAK,UAAUP,IAAIG,MAAM,GAAGH,IAAIG,MAAM,CAACY,QAAQ,CAACjB,QAAQS,QAAQ;QACtF;QACA,IAAIT,QAAQS,QAAQ,IAAIV,GAAGO,MAAM,EAAE;YACjCJ,IAAII,MAAM,GAAGS,OAAOC,MAAM,CAACV;YAC3B,IAAIN,QAAQS,QAAQ,KAAK,UAAUP,IAAII,MAAM,GAAGJ,IAAII,MAAM,CAACW,QAAQ,CAACjB,QAAQS,QAAQ;QACtF;QACAP,IAAIE,MAAM,GAAG;YAAC;YAAMF,IAAIG,MAAM;YAAEH,IAAII,MAAM;SAAC;QAC3C,IAAIJ,IAAIK,MAAM,KAAK,MAAML,IAAIK,MAAM,GAAG,GAAG,iDAAiD;QAE1F,iBAAiB;QACjB,MAAMW,UAAUhB,IAAIK,MAAM,KAAK,IAAI,IAAIY,MAAM,CAAC,oBAAoB,EAAEjB,IAAIK,MAAM,EAAE,IAAI;QACpF,IAAIW,SAAS;YACX,IAAK,MAAME,OAAOlB,IAAK;gBACrB,IAAIL,UAAUwB,OAAO,CAACD,OAAO,GAAG;gBAChCF,OAAO,CAACE,IAAI,GAAGL,OAAOO,QAAQ,CAACpB,GAAG,CAACkB,IAAI,IAAIlB,GAAG,CAACkB,IAAI,CAACH,QAAQ,CAACjB,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACkB,IAAI;YACrG;QACF;QACAF,UAAUjB,SAASiB,WAAyBjB,SAAS,MAAMC;IAC7D;IAEA,aAAa;IACb,IAAIF,QAAQuB,KAAK,IAAK,CAAA,OAAOvB,QAAQuB,KAAK,KAAK,YAAYR,OAAOO,QAAQ,CAACtB,QAAQuB,KAAK,CAAA,GAAI;QAC1FxB,GAAGyB,KAAK,CAACC,GAAG,CAACzB,QAAQuB,KAAK;IAC5B;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cross-spawn-cb",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Cross spawn with a completion callback",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cross-spawn",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"cross-spawn": "^7.0.6",
|
|
39
39
|
"env-path-key": "^1.0.0",
|
|
40
|
-
"
|
|
40
|
+
"node-version-call-local": "^0.3.0",
|
|
41
41
|
"on-one": "^1.0.0",
|
|
42
|
-
"which": "
|
|
42
|
+
"which": "1.3.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/mocha": "*",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"node-version-utils": "^1.0.2",
|
|
53
53
|
"pinkie-promise": "*",
|
|
54
54
|
"ts-dev-stack": "*",
|
|
55
|
-
"tsds-config": "
|
|
55
|
+
"tsds-config": "^1.0.4"
|
|
56
56
|
},
|
|
57
57
|
"engines": {
|
|
58
58
|
"node": ">=0.8"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/polyfills/spawnSync.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport url from 'url';\nimport type { SpawnResult } from '../types.ts';\n\n// CJS/ESM compatibility\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\n// Path is relative to dist/cjs/polyfills/ at runtime\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nexport default function spawnSyncPolyfill(cmd: string, args: string[], options?: object): SpawnResult {\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec?.({ callbacks: true }, workerPath, cmd, args, options || {});\n}\n"],"names":["spawnSyncPolyfill","_require","require","Module","createRequire","__dirname","path","dirname","__filename","url","fileURLToPath","workerPath","join","functionExec","cmd","args","options","callbacks"],"mappings":";;;;+BAaA;;;eAAwBA;;;6DAbL;2DACF;0DACD;;;;;;AAGhB,wBAAwB;AACxB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAElG,qDAAqD;AACrD,IAAMC,aAAaL,aAAI,CAACM,IAAI,CAACP,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIQ,eAAe,MAAM,qBAAqB;AAC/B,SAASb,kBAAkBc,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IACrF,IAAI,CAACH,cAAcA,eAAeZ,SAAS;IAC3C,OAAOY,yBAAAA,mCAAAA,aAAe;QAAEI,WAAW;IAAK,GAAGN,YAAYG,KAAKC,MAAMC,WAAW,CAAC;AAChF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import Module from 'module';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import url from 'url';
|
|
4
|
-
// CJS/ESM compatibility
|
|
5
|
-
const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
|
|
6
|
-
const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));
|
|
7
|
-
// Path is relative to dist/cjs/polyfills/ at runtime
|
|
8
|
-
const workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');
|
|
9
|
-
let functionExec = null; // break dependencies
|
|
10
|
-
export default function spawnSyncPolyfill(cmd, args, options) {
|
|
11
|
-
if (!functionExec) functionExec = _require('function-exec-sync');
|
|
12
|
-
return functionExec === null || functionExec === void 0 ? void 0 : functionExec({
|
|
13
|
-
callbacks: true
|
|
14
|
-
}, workerPath, cmd, args, options || {});
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/polyfills/spawnSync.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport url from 'url';\nimport type { SpawnResult } from '../types.ts';\n\n// CJS/ESM compatibility\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\n// Path is relative to dist/cjs/polyfills/ at runtime\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nexport default function spawnSyncPolyfill(cmd: string, args: string[], options?: object): SpawnResult {\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec?.({ callbacks: true }, workerPath, cmd, args, options || {});\n}\n"],"names":["Module","path","url","_require","require","createRequire","__dirname","dirname","__filename","fileURLToPath","workerPath","join","functionExec","spawnSyncPolyfill","cmd","args","options","callbacks"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAGtB,wBAAwB;AACxB,MAAMC,WAAW,OAAOC,YAAY,cAAcJ,OAAOK,aAAa,CAAC,YAAYH,GAAG,IAAIE;AAC1F,MAAME,YAAYL,KAAKM,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaN,IAAIO,aAAa,CAAC,YAAYP,GAAG;AAEjH,qDAAqD;AACrD,MAAMQ,aAAaT,KAAKU,IAAI,CAACL,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIM,eAAe,MAAM,qBAAqB;AAC9C,eAAe,SAASC,kBAAkBC,GAAW,EAAEC,IAAc,EAAEC,OAAgB;IACrF,IAAI,CAACJ,cAAcA,eAAeT,SAAS;IAC3C,OAAOS,yBAAAA,mCAAAA,aAAe;QAAEK,WAAW;IAAK,GAAGP,YAAYI,KAAKC,MAAMC,WAAW,CAAC;AAChF"}
|