cross-spawn-cb 2.2.4 → 2.2.6

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.
Files changed (56) hide show
  1. package/assets/cross-spawn.cjs +1 -1
  2. package/dist/cjs/crossSpawn.d.cts +14 -0
  3. package/dist/cjs/crossSpawn.d.ts +14 -0
  4. package/dist/cjs/crossSpawn.js +56 -0
  5. package/dist/cjs/crossSpawn.js.map +1 -0
  6. package/dist/cjs/index.d.cts +2 -2
  7. package/dist/cjs/index.d.ts +2 -2
  8. package/dist/cjs/index.js +5 -2
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/polyfills/spawnSync.cjs.map +1 -0
  11. package/dist/cjs/spawn.d.cts +1 -1
  12. package/dist/cjs/spawn.d.ts +1 -1
  13. package/dist/cjs/spawn.js +3 -3
  14. package/dist/cjs/spawn.js.map +1 -1
  15. package/dist/cjs/spawnSync.d.cts +2 -2
  16. package/dist/cjs/spawnSync.d.ts +2 -2
  17. package/dist/cjs/spawnSync.js +2 -2
  18. package/dist/cjs/spawnSync.js.map +1 -1
  19. package/dist/cjs/types.d.cts +21 -1
  20. package/dist/cjs/types.d.ts +21 -1
  21. package/dist/cjs/workers/async.js.map +1 -1
  22. package/dist/esm/crossSpawn.d.ts +14 -0
  23. package/dist/esm/crossSpawn.js +40 -0
  24. package/dist/esm/crossSpawn.js.map +1 -0
  25. package/dist/esm/index.d.ts +2 -2
  26. package/dist/esm/index.js +2 -2
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/polyfills/spawnSync.cjs.map +1 -0
  29. package/dist/esm/spawn.d.ts +1 -1
  30. package/dist/esm/spawn.js +1 -1
  31. package/dist/esm/spawn.js.map +1 -1
  32. package/dist/esm/spawnSync.d.ts +2 -2
  33. package/dist/esm/spawnSync.js +1 -1
  34. package/dist/esm/spawnSync.js.map +1 -1
  35. package/dist/esm/types.d.ts +21 -1
  36. package/dist/esm/types.js.map +1 -1
  37. package/dist/esm/workers/async.js.map +1 -1
  38. package/package.json +3 -3
  39. package/dist/cjs/lib/crossSpawn.cjs +0 -4
  40. package/dist/cjs/lib/crossSpawn.cjs.map +0 -1
  41. package/dist/cjs/lib/crossSpawn.d.cts +0 -2
  42. package/dist/cjs/lib/crossSpawnCompat.cjs +0 -36
  43. package/dist/cjs/lib/crossSpawnCompat.cjs.map +0 -1
  44. package/dist/cjs/lib/crossSpawnCompat.d.cts +0 -9
  45. package/dist/cjs/lib/spawnSyncPolyfill.cjs.map +0 -1
  46. package/dist/esm/lib/crossSpawn.cjs +0 -2
  47. package/dist/esm/lib/crossSpawn.cjs.map +0 -1
  48. package/dist/esm/lib/crossSpawn.d.cts +0 -2
  49. package/dist/esm/lib/crossSpawnCompat.cjs +0 -34
  50. package/dist/esm/lib/crossSpawnCompat.cjs.map +0 -1
  51. package/dist/esm/lib/crossSpawnCompat.d.cts +0 -9
  52. package/dist/esm/lib/spawnSyncPolyfill.cjs.map +0 -1
  53. /package/dist/cjs/{lib/spawnSyncPolyfill.cjs → polyfills/spawnSync.cjs} +0 -0
  54. /package/dist/cjs/{lib/spawnSyncPolyfill.d.cts → polyfills/spawnSync.d.cts} +0 -0
  55. /package/dist/esm/{lib/spawnSyncPolyfill.cjs → polyfills/spawnSync.cjs} +0 -0
  56. /package/dist/esm/{lib/spawnSyncPolyfill.d.cts → polyfills/spawnSync.d.cts} +0 -0
@@ -23,7 +23,7 @@ function findKey(obj, fn) {
23
23
 
24
24
  var pathDelimiter = process.platform === 'win32' ? ';' : ':';
25
25
 
26
- var cpSpawnSync = require('child_process').spawnSync || require('../dist/cjs/lib/spawnSyncPolyfill.cjs');
26
+ var cpSpawnSync = require('child_process').spawnSync || require('../dist/cjs/polyfills/spawnSync.cjs');
27
27
 
28
28
  /* COMPATIBILITY POLYFILLS */
29
29
  var require$$0$2 = require('child_process');
@@ -0,0 +1,14 @@
1
+ import type { ChildProcess } from 'child_process';
2
+ import type { Parsed, SpawnOptions, SpawnResult, SpawnSyncOptions, hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './types.js';
3
+ declare function spawn(command: string, args: string[], options?: SpawnOptions): ChildProcess;
4
+ declare namespace spawn {
5
+ var sync: (command: string, args: string[], options?: SpawnSyncOptions) => SpawnResult;
6
+ var _parse: (command: string, args: string[], options?: SpawnOptions | SpawnSyncOptions) => Parsed;
7
+ var _enoent: {
8
+ hookChildProcess: hookChildProcess;
9
+ verifyENOENT: verifyENOENT;
10
+ verifyENOENTSync: verifyENOENTSync;
11
+ notFoundError: notFoundError;
12
+ };
13
+ }
14
+ export default spawn;
@@ -0,0 +1,14 @@
1
+ import type { ChildProcess } from 'child_process';
2
+ import type { Parsed, SpawnOptions, SpawnResult, SpawnSyncOptions, hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './types.js';
3
+ declare function spawn(command: string, args: string[], options?: SpawnOptions): ChildProcess;
4
+ declare namespace spawn {
5
+ var sync: (command: string, args: string[], options?: SpawnSyncOptions) => SpawnResult;
6
+ var _parse: (command: string, args: string[], options?: SpawnOptions | SpawnSyncOptions) => Parsed;
7
+ var _enoent: {
8
+ hookChildProcess: hookChildProcess;
9
+ verifyENOENT: verifyENOENT;
10
+ verifyENOENTSync: verifyENOENTSync;
11
+ notFoundError: notFoundError;
12
+ };
13
+ }
14
+ export default spawn;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return spawn;
9
+ }
10
+ });
11
+ var _child_process = /*#__PURE__*/ _interop_require_default(require("child_process"));
12
+ var _module = /*#__PURE__*/ _interop_require_default(require("module"));
13
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
14
+ var _spawnSynccjs = /*#__PURE__*/ _interop_require_default(require("./polyfills/spawnSync.cjs"));
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ var major = +process.versions.node.split('.')[0];
21
+ var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
22
+ var crossSpawn = major <= 7 ? _require('../../assets/cross-spawn.cjs') : _require('cross-spawn');
23
+ function spawn(command, args, options) {
24
+ var parsed = spawn._parse(command, args, options);
25
+ var spawned = _child_process.default.spawn(parsed.command, parsed.args, parsed.options);
26
+ spawn._enoent.hookChildProcess(spawned, parsed);
27
+ return spawned;
28
+ }
29
+ var cpSpawnSync = _child_process.default.spawnSync || _spawnSynccjs.default;
30
+ spawn.sync = function sync(command, args, options) {
31
+ var parsed = spawn._parse(command, args, options);
32
+ var res = cpSpawnSync(parsed.command, parsed.args, parsed.options);
33
+ res.error = res.error || spawn._enoent.verifyENOENTSync(res.status, parsed);
34
+ return res;
35
+ };
36
+ // patch earlier versions of cross-spawn with inconsistent handling of node
37
+ var NODES = [
38
+ 'node',
39
+ 'node.exe',
40
+ 'node.cmd'
41
+ ];
42
+ function _parse(command, args, options) {
43
+ if (NODES.indexOf(_path.default.basename(command).toLowerCase()) >= 0) {
44
+ var env = options ? options.env || process.env : process.env;
45
+ command = env.NODE || env.npm_node_execpath;
46
+ }
47
+ return crossSpawn._parse(command, args, options);
48
+ }
49
+ spawn._parse = major <= 7 ? _parse : crossSpawn._parse;
50
+ spawn._enoent = {
51
+ hookChildProcess: crossSpawn._enoent.hookChildProcess,
52
+ verifyENOENT: crossSpawn._enoent.verifyENOENT,
53
+ verifyENOENTSync: crossSpawn._enoent.verifyENOENTSync,
54
+ notFoundError: crossSpawn._enoent.notFoundError
55
+ };
56
+ /* 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/crossSpawn.ts"],"sourcesContent":["import cp from 'child_process';\nimport Module from 'module';\nimport path from 'path';\nimport spawnSyncPolyfill from './polyfills/spawnSync.cjs';\n\nimport type { ChildProcess } from 'child_process';\nimport type { Parsed, SpawnOptions, SpawnResult, SpawnSyncOptions, hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './types.js';\n\nconst major = +process.versions.node.split('.')[0];\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst crossSpawn = major <= 7 ? _require('../../assets/cross-spawn.cjs') : _require('cross-spawn');\n\nexport default function spawn(command: string, args: string[], options?: SpawnOptions): ChildProcess {\n const parsed = spawn._parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n spawn._enoent.hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nconst cpSpawnSync = cp.spawnSync || spawnSyncPolyfill;\nspawn.sync = function sync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult {\n const parsed = spawn._parse(command, args, options) as Parsed;\n const res = cpSpawnSync(parsed.command, parsed.args, parsed.options);\n res.error = res.error || spawn._enoent.verifyENOENTSync(res.status, parsed);\n return res;\n};\n\n// patch earlier versions of cross-spawn with inconsistent handling of node\nconst NODES = ['node', 'node.exe', 'node.cmd'];\nfunction _parse(command: string, args: string[], options?: SpawnOptions | SpawnSyncOptions): Parsed {\n if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {\n const env = options ? options.env || process.env : process.env;\n command = env.NODE || env.npm_node_execpath;\n }\n return crossSpawn._parse(command, args, options);\n}\nspawn._parse = (major <= 7 ? _parse : crossSpawn._parse) as typeof _parse;\n\nspawn._enoent = {\n hookChildProcess: crossSpawn._enoent.hookChildProcess as hookChildProcess,\n verifyENOENT: crossSpawn._enoent.verifyENOENT as verifyENOENT,\n verifyENOENTSync: crossSpawn._enoent.verifyENOENTSync as verifyENOENTSync,\n notFoundError: crossSpawn._enoent.notFoundError as notFoundError,\n};\n"],"names":["spawn","major","process","versions","node","split","_require","require","Module","createRequire","crossSpawn","command","args","options","parsed","_parse","spawned","cp","_enoent","hookChildProcess","cpSpawnSync","spawnSync","spawnSyncPolyfill","sync","res","error","verifyENOENTSync","status","NODES","indexOf","path","basename","toLowerCase","env","NODE","npm_node_execpath","verifyENOENT","notFoundError"],"mappings":";;;;+BAYA;;;eAAwBA;;;oEAZT;6DACI;2DACF;mEACa;;;;;;AAK9B,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,aAAaT,SAAS,IAAIK,SAAS,kCAAkCA,SAAS;AAErE,SAASN,MAAMW,OAAe,EAAEC,IAAc,EAAEC,OAAsB;IACnF,IAAMC,SAASd,MAAMe,MAAM,CAACJ,SAASC,MAAMC;IAC3C,IAAMG,UAAUC,sBAAE,CAACjB,KAAK,CAACc,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACpEb,MAAMkB,OAAO,CAACC,gBAAgB,CAACH,SAASF;IACxC,OAAOE;AACT;AAEA,IAAMI,cAAcH,sBAAE,CAACI,SAAS,IAAIC,qBAAiB;AACrDtB,MAAMuB,IAAI,GAAG,SAASA,KAAKZ,OAAe,EAAEC,IAAc,EAAEC,OAA0B;IACpF,IAAMC,SAASd,MAAMe,MAAM,CAACJ,SAASC,MAAMC;IAC3C,IAAMW,MAAMJ,YAAYN,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACnEW,IAAIC,KAAK,GAAGD,IAAIC,KAAK,IAAIzB,MAAMkB,OAAO,CAACQ,gBAAgB,CAACF,IAAIG,MAAM,EAAEb;IACpE,OAAOU;AACT;AAEA,2EAA2E;AAC3E,IAAMI,QAAQ;IAAC;IAAQ;IAAY;CAAW;AAC9C,SAASb,OAAOJ,OAAe,EAAEC,IAAc,EAAEC,OAAyC;IACxF,IAAIe,MAAMC,OAAO,CAACC,aAAI,CAACC,QAAQ,CAACpB,SAASqB,WAAW,OAAO,GAAG;QAC5D,IAAMC,MAAMpB,UAAUA,QAAQoB,GAAG,IAAI/B,QAAQ+B,GAAG,GAAG/B,QAAQ+B,GAAG;QAC9DtB,UAAUsB,IAAIC,IAAI,IAAID,IAAIE,iBAAiB;IAC7C;IACA,OAAOzB,WAAWK,MAAM,CAACJ,SAASC,MAAMC;AAC1C;AACAb,MAAMe,MAAM,GAAId,SAAS,IAAIc,SAASL,WAAWK,MAAM;AAEvDf,MAAMkB,OAAO,GAAG;IACdC,kBAAkBT,WAAWQ,OAAO,CAACC,gBAAgB;IACrDiB,cAAc1B,WAAWQ,OAAO,CAACkB,YAAY;IAC7CV,kBAAkBhB,WAAWQ,OAAO,CAACQ,gBAAgB;IACrDW,eAAe3B,WAAWQ,OAAO,CAACmB,aAAa;AACjD"}
@@ -1,4 +1,4 @@
1
1
  export type * from './types.js';
2
- export { default } from './spawn.js';
2
+ export { default, default as spawn } from './spawn.js';
3
+ export { default as crossSpawn } from './crossSpawn.js';
3
4
  export { default as sync } from './spawnSync.js';
4
- export { default as crossSpawn } from './lib/crossSpawn.cjs';
@@ -1,4 +1,4 @@
1
1
  export type * from './types.js';
2
- export { default } from './spawn.js';
2
+ export { default, default as spawn } from './spawn.js';
3
+ export { default as crossSpawn } from './crossSpawn.js';
3
4
  export { default as sync } from './spawnSync.js';
4
- export { default as crossSpawn } from './lib/crossSpawn.cjs';
package/dist/cjs/index.js CHANGED
@@ -10,18 +10,21 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  get crossSpawn () {
13
- return _crossSpawncjs.default;
13
+ return _crossSpawn.default;
14
14
  },
15
15
  get default () {
16
16
  return _spawn.default;
17
17
  },
18
+ get spawn () {
19
+ return _spawn.default;
20
+ },
18
21
  get sync () {
19
22
  return _spawnSync.default;
20
23
  }
21
24
  });
22
25
  var _spawn = /*#__PURE__*/ _interop_require_default(require("./spawn.js"));
26
+ var _crossSpawn = /*#__PURE__*/ _interop_require_default(require("./crossSpawn.js"));
23
27
  var _spawnSync = /*#__PURE__*/ _interop_require_default(require("./spawnSync.js"));
24
- var _crossSpawncjs = /*#__PURE__*/ _interop_require_default(require("./lib/crossSpawn.cjs"));
25
28
  function _interop_require_default(obj) {
26
29
  return obj && obj.__esModule ? obj : {
27
30
  default: obj
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default } from './spawn.js';\nexport { default as sync } from './spawnSync.js';\nexport { default as crossSpawn } from './lib/crossSpawn.cjs';\n"],"names":["crossSpawn","default","sync"],"mappings":";;;;;;;;;;;QAGoBA;eAAAA,sBAAU;;QAFrBC;eAAAA,cAAO;;QACIC;eAAAA,kBAAI;;;4DADA;gEACQ;oEACM"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default, default as spawn } from './spawn.js';\nexport { default as crossSpawn } from './crossSpawn.js';\nexport { default as sync } from './spawnSync.js';\n"],"names":["crossSpawn","default","spawn","sync"],"mappings":";;;;;;;;;;;QAEoBA;eAAAA,mBAAU;;QADrBC;eAAAA,cAAO;;QAAaC;eAAAA,cAAK;;QAEdC;eAAAA,kBAAI;;;4DAFkB;iEACJ;gEACN"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/polyfills/spawnSync.cjs"],"sourcesContent":["const path = require('path');\n\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nmodule.exports = function spawnSyncPolyfill(cmd, args, options) {\n if (!functionExec) functionExec = require('function-exec-sync');\n return functionExec({ callbacks: true }, workerPath, cmd, args, options || {});\n};\n"],"names":["path","require","workerPath","join","__dirname","functionExec","module","exports","spawnSyncPolyfill","cmd","args","options","callbacks"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AAErB,IAAMC,aAAaF,KAAKG,IAAI,CAACC,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIC,eAAe,MAAM,qBAAqB;AAC9CC,OAAOC,OAAO,GAAG,SAASC,kBAAkBC,GAAG,EAAEC,IAAI,EAAEC,OAAO;IAC5D,IAAI,CAACN,cAAcA,eAAeJ,QAAQ;IAC1C,OAAOI,aAAa;QAAEO,WAAW;IAAK,GAAGV,YAAYO,KAAKC,MAAMC,WAAW,CAAC;AAC9E"}
@@ -4,6 +4,6 @@ declare function spawn(command: string, args: string[], options?: SpawnOptions |
4
4
  declare namespace spawn {
5
5
  var worker: typeof import("./workers/async.js").default;
6
6
  var sync: typeof spawnSync;
7
- var crossSpawn: any;
7
+ var crossSpawn: typeof import("./crossSpawn.js").default;
8
8
  }
9
9
  export default spawn;
@@ -4,6 +4,6 @@ declare function spawn(command: string, args: string[], options?: SpawnOptions |
4
4
  declare namespace spawn {
5
5
  var worker: typeof import("./workers/async.js").default;
6
6
  var sync: typeof spawnSync;
7
- var crossSpawn: any;
7
+ var crossSpawn: typeof import("./crossSpawn.js").default;
8
8
  }
9
9
  export default spawn;
package/dist/cjs/spawn.js CHANGED
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return spawn;
9
9
  }
10
10
  });
11
- var _crossSpawncjs = /*#__PURE__*/ _interop_require_default(require("./lib/crossSpawn.cjs"));
11
+ var _crossSpawn = /*#__PURE__*/ _interop_require_default(require("./crossSpawn.js"));
12
12
  var _spawnSync = /*#__PURE__*/ _interop_require_default(require("./spawnSync.js"));
13
13
  var _async = /*#__PURE__*/ _interop_require_default(require("./workers/async.js"));
14
14
  function _interop_require_default(obj) {
@@ -22,7 +22,7 @@ function spawn(command, args, options, callback) {
22
22
  options = {};
23
23
  }
24
24
  options = options || {};
25
- var cp = (0, _crossSpawncjs.default)(command, args, options);
25
+ var cp = (0, _crossSpawn.default)(command, args, options);
26
26
  if (typeof callback === 'function') return (0, _async.default)(cp, options, callback);
27
27
  return new Promise(function(resolve, reject) {
28
28
  return (0, _async.default)(cp, options, function(err, res) {
@@ -32,5 +32,5 @@ function spawn(command, args, options, callback) {
32
32
  }
33
33
  spawn.worker = _async.default;
34
34
  spawn.sync = _spawnSync.default;
35
- spawn.crossSpawn = _crossSpawncjs.default;
35
+ spawn.crossSpawn = _crossSpawn.default;
36
36
  /* 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; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './lib/crossSpawn.cjs';\nimport spawnSync from './spawnSync.js';\nimport worker from './workers/async.js';\n\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';\nexport default function spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): undefined | 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) as undefined;\n return new Promise((resolve, reject) => worker(cp, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\n"],"names":["spawn","command","args","options","callback","cp","crossSpawn","worker","Promise","resolve","reject","err","res","sync","spawnSync"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALD;gEACD;4DACH;;;;;;AAGJ,SAASA,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC7H,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAME,KAAKC,IAAAA,sBAAU,EAACL,SAASC,MAAMC;IAErC,IAAI,OAAOC,aAAa,YAAY,OAAOG,IAAAA,cAAM,EAACF,IAAIF,SAASC;IAC/D,OAAO,IAAII,QAAQ,SAACC,SAASC;eAAWH,IAAAA,cAAM,EAACF,IAAIF,SAAS,SAACQ,KAAKC;mBAASD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACzG;AACAZ,MAAMO,MAAM,GAAGA,cAAM;AACrBP,MAAMa,IAAI,GAAGC,kBAAS;AACtBd,MAAMM,UAAU,GAAGA,sBAAU"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.js';\nimport spawnSync from './spawnSync.js';\nimport worker from './workers/async.js';\n\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';\n\nexport default function spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): undefined | 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) as undefined;\n return new Promise((resolve, reject) => worker(cp, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\n"],"names":["spawn","command","args","options","callback","cp","crossSpawn","worker","Promise","resolve","reject","err","res","sync","spawnSync"],"mappings":";;;;+BAMA;;;eAAwBA;;;iEAND;gEACD;4DACH;;;;;;AAIJ,SAASA,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC7H,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAME,KAAKC,IAAAA,mBAAU,EAACL,SAASC,MAAMC;IAErC,IAAI,OAAOC,aAAa,YAAY,OAAOG,IAAAA,cAAM,EAACF,IAAIF,SAASC;IAC/D,OAAO,IAAII,QAAQ,SAACC,SAASC;eAAWH,IAAAA,cAAM,EAACF,IAAIF,SAAS,SAACQ,KAAKC;mBAASD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACzG;AACAZ,MAAMO,MAAM,GAAGA,cAAM;AACrBP,MAAMa,IAAI,GAAGC,kBAAS;AACtBd,MAAMM,UAAU,GAAGA,mBAAU"}
@@ -1,5 +1,5 @@
1
- import type { SpawnOptions, SpawnResult } from './types.js';
2
- declare function spawnSync(command: string, args: string[], options?: SpawnOptions): SpawnResult;
1
+ import type { SpawnResult, SpawnSyncOptions } from './types.js';
2
+ declare function spawnSync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult;
3
3
  declare namespace spawnSync {
4
4
  var worker: typeof import("./workers/sync.js").default;
5
5
  }
@@ -1,5 +1,5 @@
1
- import type { SpawnOptions, SpawnResult } from './types.js';
2
- declare function spawnSync(command: string, args: string[], options?: SpawnOptions): SpawnResult;
1
+ import type { SpawnResult, SpawnSyncOptions } from './types.js';
2
+ declare function spawnSync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult;
3
3
  declare namespace spawnSync {
4
4
  var worker: typeof import("./workers/sync.js").default;
5
5
  }
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return spawnSync;
9
9
  }
10
10
  });
11
- var _crossSpawncjs = /*#__PURE__*/ _interop_require_default(require("./lib/crossSpawn.cjs"));
11
+ var _crossSpawn = /*#__PURE__*/ _interop_require_default(require("./crossSpawn.js"));
12
12
  var _sync = /*#__PURE__*/ _interop_require_default(require("./workers/sync.js"));
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
@@ -74,7 +74,7 @@ function spawnSync(command, args, options) {
74
74
  stdio: 'pipe',
75
75
  encoding: options.encoding || 'utf8'
76
76
  });
77
- var res = _crossSpawncjs.default.sync(command, args, syncOptions);
77
+ var res = _crossSpawn.default.sync(command, args, syncOptions);
78
78
  return (0, _sync.default)(res, options);
79
79
  }
80
80
  spawnSync.worker = _sync.default;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawnSync.ts"],"sourcesContent":["import crossSpawn from './lib/crossSpawn.cjs';\nimport worker from './workers/sync.js';\n\nimport type { SpawnOptions, SpawnResult } from './types.js';\n\nexport default function spawnSync(command: string, args: string[], options?: SpawnOptions): SpawnResult {\n options = options || {};\n const syncOptions = { ...options, env: options.env || process.env, stdio: 'pipe', encoding: options.encoding || 'utf8' };\n const res = crossSpawn.sync(command, args, syncOptions);\n return worker(res, options as SpawnOptions);\n}\nspawnSync.worker = worker;\n"],"names":["spawnSync","command","args","options","syncOptions","env","process","stdio","encoding","res","crossSpawn","sync","worker"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALD;2DACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIJ,SAASA,UAAUC,OAAe,EAAEC,IAAc,EAAEC,OAAsB;IACvFA,UAAUA,WAAW,CAAC;IACtB,IAAMC,cAAc,wCAAKD;QAASE,KAAKF,QAAQE,GAAG,IAAIC,QAAQD,GAAG;QAAEE,OAAO;QAAQC,UAAUL,QAAQK,QAAQ,IAAI;;IAChH,IAAMC,MAAMC,sBAAU,CAACC,IAAI,CAACV,SAASC,MAAME;IAC3C,OAAOQ,IAAAA,aAAM,EAACH,KAAKN;AACrB;AACAH,UAAUY,MAAM,GAAGA,aAAM"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawnSync.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.js';\nimport worker from './workers/sync.js';\n\nimport type { SpawnOptions, SpawnResult, SpawnSyncOptions } from './types.js';\n\nexport default function spawnSync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult {\n options = options || {};\n const syncOptions = { ...options, env: options.env || process.env, stdio: 'pipe', encoding: options.encoding || 'utf8' };\n const res = crossSpawn.sync(command, args, syncOptions as SpawnSyncOptions);\n return worker(res, options as SpawnOptions);\n}\nspawnSync.worker = worker;\n"],"names":["spawnSync","command","args","options","syncOptions","env","process","stdio","encoding","res","crossSpawn","sync","worker"],"mappings":";;;;+BAKA;;;eAAwBA;;;iEALD;2DACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIJ,SAASA,UAAUC,OAAe,EAAEC,IAAc,EAAEC,OAA0B;IAC3FA,UAAUA,WAAW,CAAC;IACtB,IAAMC,cAAc,wCAAKD;QAASE,KAAKF,QAAQE,GAAG,IAAIC,QAAQD,GAAG;QAAEE,OAAO;QAAQC,UAAUL,QAAQK,QAAQ,IAAI;;IAChH,IAAMC,MAAMC,mBAAU,CAACC,IAAI,CAACV,SAASC,MAAME;IAC3C,OAAOQ,IAAAA,aAAM,EAACH,KAAKN;AACrB;AACAH,UAAUY,MAAM,GAAGA,aAAM"}
@@ -5,8 +5,28 @@ export interface SpawnOptions extends child_process.SpawnOptions {
5
5
  env?: NodeJS.ProcessEnv;
6
6
  input?: string | Buffer;
7
7
  }
8
+ export interface SpawnSyncOptions extends child_process.SpawnSyncOptions {
9
+ encoding?: BufferEncoding;
10
+ env?: NodeJS.ProcessEnv;
11
+ input?: string | Buffer;
12
+ }
8
13
  export type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;
9
- export interface SpawnError extends Error, SpawnResult {
14
+ export interface Parsed {
15
+ command: string;
16
+ args: string[];
17
+ options: SpawnOptions | SpawnSyncOptions;
18
+ }
19
+ export interface NotFoundError extends Error {
10
20
  code?: string;
21
+ errno?: string;
22
+ syscall?: string;
23
+ path?: string;
24
+ spawnargs?: string[];
25
+ }
26
+ export interface SpawnError extends NotFoundError, SpawnResult {
11
27
  }
12
28
  export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
29
+ export type hookChildProcess = (cp: ChildProcess, parsed: Parsed) => undefined;
30
+ export type verifyENOENT = (status: number, parsed: Parsed) => NotFoundError | null;
31
+ export type verifyENOENTSync = (status: number, parsed: Parsed) => NotFoundError | null;
32
+ export type notFoundError = (cp: ChildProcess, parsed: Parsed) => NotFoundError;
@@ -5,8 +5,28 @@ export interface SpawnOptions extends child_process.SpawnOptions {
5
5
  env?: NodeJS.ProcessEnv;
6
6
  input?: string | Buffer;
7
7
  }
8
+ export interface SpawnSyncOptions extends child_process.SpawnSyncOptions {
9
+ encoding?: BufferEncoding;
10
+ env?: NodeJS.ProcessEnv;
11
+ input?: string | Buffer;
12
+ }
8
13
  export type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;
9
- export interface SpawnError extends Error, SpawnResult {
14
+ export interface Parsed {
15
+ command: string;
16
+ args: string[];
17
+ options: SpawnOptions | SpawnSyncOptions;
18
+ }
19
+ export interface NotFoundError extends Error {
10
20
  code?: string;
21
+ errno?: string;
22
+ syscall?: string;
23
+ path?: string;
24
+ spawnargs?: string[];
25
+ }
26
+ export interface SpawnError extends NotFoundError, SpawnResult {
11
27
  }
12
28
  export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
29
+ export type hookChildProcess = (cp: ChildProcess, parsed: Parsed) => undefined;
30
+ export type verifyENOENT = (status: number, parsed: Parsed) => NotFoundError | null;
31
+ export type verifyENOENTSync = (status: number, parsed: Parsed) => NotFoundError | null;
32
+ export type 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.js';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.js';\n\nfunction isError(obj) {\n return Object.prototype.toString.call(obj) === '[object Error]';\n}\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'], (status, signal) => {\n if (isError(status)) {\n const err = status as SpawnError;\n if (err.code === 'OK') return; // ignore\n return callback(err);\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 err = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (err) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n err[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n err ? callback(err 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","isError","obj","Object","prototype","toString","call","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","oo","err","code","Buffer","concat","Error","key","spawnKeys","indexOf","isBuffer","input","stdin","end"],"mappings":";;;;+BASA;;;eAAwBA;;;4DATT;yBACW;;;;;;AAI1B,SAASC,QAAQC,GAAG;IAClB,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,SAAS;AACjD;AAEe,SAASF,OAAOO,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,SAACQ,QAAQC;QAClC,IAAIf,QAAQc,SAAS;YACnB,IAAMO,MAAMP;YACZ,IAAIO,IAAIC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxC,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,CAACR,QAAQ,CAACG,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,CAACT,QAAQ,CAACG,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,IAAMO,OAAMZ,IAAIK,MAAM,KAAK,IAAI,IAAIW,MAAM,AAAC,uBAAiC,OAAXhB,IAAIK,MAAM,KAAM;QAChF,IAAIO,MAAK;YACP,IAAK,IAAMK,OAAOjB,IAAK;gBACrB,IAAIkB,oBAAS,CAACC,OAAO,CAACF,OAAO,GAAG;gBAChCL,IAAG,CAACK,IAAI,GAAGH,OAAOM,QAAQ,CAACpB,GAAG,CAACiB,IAAI,IAAIjB,GAAG,CAACiB,IAAI,CAACtB,QAAQ,CAACG,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACiB,IAAI;YACjG;QACF;QACAL,OAAMb,SAASa,QAAqBb,SAAS,MAAMC;IACrD;IAEA,aAAa;IACb,IAAIF,QAAQuB,KAAK,IAAK,CAAA,OAAOvB,QAAQuB,KAAK,KAAK,YAAYP,OAAOM,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.js';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.js';\n\nfunction isError(obj) {\n return Object.prototype.toString.call(obj) === '[object Error]';\n}\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'], (status: number | null, signal: NodeJS.Signals | null) => {\n if (isError(status)) {\n const err = status as unknown as SpawnError;\n if (err.code === 'OK') return; // ignore\n return callback(err);\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 err = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (err) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n err[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n err ? callback(err 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","isError","obj","Object","prototype","toString","call","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","oo","err","code","Buffer","concat","Error","key","spawnKeys","indexOf","isBuffer","input","stdin","end"],"mappings":";;;;+BASA;;;eAAwBA;;;4DATT;yBACW;;;;;;AAI1B,SAASC,QAAQC,GAAG;IAClB,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,SAAS;AACjD;AAEe,SAASF,OAAOO,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,SAACQ,QAAuBC;QACjD,IAAIf,QAAQc,SAAS;YACnB,IAAMO,MAAMP;YACZ,IAAIO,IAAIC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxC,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,CAACR,QAAQ,CAACG,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,CAACT,QAAQ,CAACG,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,IAAMO,OAAMZ,IAAIK,MAAM,KAAK,IAAI,IAAIW,MAAM,AAAC,uBAAiC,OAAXhB,IAAIK,MAAM,KAAM;QAChF,IAAIO,MAAK;YACP,IAAK,IAAMK,OAAOjB,IAAK;gBACrB,IAAIkB,oBAAS,CAACC,OAAO,CAACF,OAAO,GAAG;gBAChCL,IAAG,CAACK,IAAI,GAAGH,OAAOM,QAAQ,CAACpB,GAAG,CAACiB,IAAI,IAAIjB,GAAG,CAACiB,IAAI,CAACtB,QAAQ,CAACG,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACiB,IAAI;YACjG;QACF;QACAL,OAAMb,SAASa,QAAqBb,SAAS,MAAMC;IACrD;IAEA,aAAa;IACb,IAAIF,QAAQuB,KAAK,IAAK,CAAA,OAAOvB,QAAQuB,KAAK,KAAK,YAAYP,OAAOM,QAAQ,CAACtB,QAAQuB,KAAK,CAAA,GAAI;QAC1FxB,GAAGyB,KAAK,CAACC,GAAG,CAACzB,QAAQuB,KAAK;IAC5B;AACF"}
@@ -0,0 +1,14 @@
1
+ import type { ChildProcess } from 'child_process';
2
+ import type { Parsed, SpawnOptions, SpawnResult, SpawnSyncOptions, hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './types.js';
3
+ declare function spawn(command: string, args: string[], options?: SpawnOptions): ChildProcess;
4
+ declare namespace spawn {
5
+ var sync: (command: string, args: string[], options?: SpawnSyncOptions) => SpawnResult;
6
+ var _parse: (command: string, args: string[], options?: SpawnOptions | SpawnSyncOptions) => Parsed;
7
+ var _enoent: {
8
+ hookChildProcess: hookChildProcess;
9
+ verifyENOENT: verifyENOENT;
10
+ verifyENOENTSync: verifyENOENTSync;
11
+ notFoundError: notFoundError;
12
+ };
13
+ }
14
+ export default spawn;
@@ -0,0 +1,40 @@
1
+ import cp from 'child_process';
2
+ import Module from 'module';
3
+ import path from 'path';
4
+ import spawnSyncPolyfill from './polyfills/spawnSync.cjs';
5
+ const major = +process.versions.node.split('.')[0];
6
+ const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
7
+ const crossSpawn = major <= 7 ? _require('../../assets/cross-spawn.cjs') : _require('cross-spawn');
8
+ export default function spawn(command, args, options) {
9
+ const parsed = spawn._parse(command, args, options);
10
+ const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
11
+ spawn._enoent.hookChildProcess(spawned, parsed);
12
+ return spawned;
13
+ }
14
+ const cpSpawnSync = cp.spawnSync || spawnSyncPolyfill;
15
+ spawn.sync = function sync(command, args, options) {
16
+ const parsed = spawn._parse(command, args, options);
17
+ const res = cpSpawnSync(parsed.command, parsed.args, parsed.options);
18
+ res.error = res.error || spawn._enoent.verifyENOENTSync(res.status, parsed);
19
+ return res;
20
+ };
21
+ // patch earlier versions of cross-spawn with inconsistent handling of node
22
+ const NODES = [
23
+ 'node',
24
+ 'node.exe',
25
+ 'node.cmd'
26
+ ];
27
+ function _parse(command, args, options) {
28
+ if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {
29
+ const env = options ? options.env || process.env : process.env;
30
+ command = env.NODE || env.npm_node_execpath;
31
+ }
32
+ return crossSpawn._parse(command, args, options);
33
+ }
34
+ spawn._parse = major <= 7 ? _parse : crossSpawn._parse;
35
+ spawn._enoent = {
36
+ hookChildProcess: crossSpawn._enoent.hookChildProcess,
37
+ verifyENOENT: crossSpawn._enoent.verifyENOENT,
38
+ verifyENOENTSync: crossSpawn._enoent.verifyENOENTSync,
39
+ notFoundError: crossSpawn._enoent.notFoundError
40
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/crossSpawn.ts"],"sourcesContent":["import cp from 'child_process';\nimport Module from 'module';\nimport path from 'path';\nimport spawnSyncPolyfill from './polyfills/spawnSync.cjs';\n\nimport type { ChildProcess } from 'child_process';\nimport type { Parsed, SpawnOptions, SpawnResult, SpawnSyncOptions, hookChildProcess, notFoundError, verifyENOENT, verifyENOENTSync } from './types.js';\n\nconst major = +process.versions.node.split('.')[0];\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst crossSpawn = major <= 7 ? _require('../../assets/cross-spawn.cjs') : _require('cross-spawn');\n\nexport default function spawn(command: string, args: string[], options?: SpawnOptions): ChildProcess {\n const parsed = spawn._parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n spawn._enoent.hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nconst cpSpawnSync = cp.spawnSync || spawnSyncPolyfill;\nspawn.sync = function sync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult {\n const parsed = spawn._parse(command, args, options) as Parsed;\n const res = cpSpawnSync(parsed.command, parsed.args, parsed.options);\n res.error = res.error || spawn._enoent.verifyENOENTSync(res.status, parsed);\n return res;\n};\n\n// patch earlier versions of cross-spawn with inconsistent handling of node\nconst NODES = ['node', 'node.exe', 'node.cmd'];\nfunction _parse(command: string, args: string[], options?: SpawnOptions | SpawnSyncOptions): Parsed {\n if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {\n const env = options ? options.env || process.env : process.env;\n command = env.NODE || env.npm_node_execpath;\n }\n return crossSpawn._parse(command, args, options);\n}\nspawn._parse = (major <= 7 ? _parse : crossSpawn._parse) as typeof _parse;\n\nspawn._enoent = {\n hookChildProcess: crossSpawn._enoent.hookChildProcess as hookChildProcess,\n verifyENOENT: crossSpawn._enoent.verifyENOENT as verifyENOENT,\n verifyENOENTSync: crossSpawn._enoent.verifyENOENTSync as verifyENOENTSync,\n notFoundError: crossSpawn._enoent.notFoundError as notFoundError,\n};\n"],"names":["cp","Module","path","spawnSyncPolyfill","major","process","versions","node","split","_require","require","createRequire","url","crossSpawn","spawn","command","args","options","parsed","_parse","spawned","_enoent","hookChildProcess","cpSpawnSync","spawnSync","sync","res","error","verifyENOENTSync","status","NODES","indexOf","basename","toLowerCase","env","NODE","npm_node_execpath","verifyENOENT","notFoundError"],"mappings":"AAAA,OAAOA,QAAQ,gBAAgB;AAC/B,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,OAAO;AACxB,OAAOC,uBAAuB,4BAA4B;AAK1D,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,WAAW,OAAOC,YAAY,cAAcT,OAAOU,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,aAAaT,SAAS,IAAIK,SAAS,kCAAkCA,SAAS;AAEpF,eAAe,SAASK,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsB;IACnF,MAAMC,SAASJ,MAAMK,MAAM,CAACJ,SAASC,MAAMC;IAC3C,MAAMG,UAAUpB,GAAGc,KAAK,CAACI,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACpEH,MAAMO,OAAO,CAACC,gBAAgB,CAACF,SAASF;IACxC,OAAOE;AACT;AAEA,MAAMG,cAAcvB,GAAGwB,SAAS,IAAIrB;AACpCW,MAAMW,IAAI,GAAG,SAASA,KAAKV,OAAe,EAAEC,IAAc,EAAEC,OAA0B;IACpF,MAAMC,SAASJ,MAAMK,MAAM,CAACJ,SAASC,MAAMC;IAC3C,MAAMS,MAAMH,YAAYL,OAAOH,OAAO,EAAEG,OAAOF,IAAI,EAAEE,OAAOD,OAAO;IACnES,IAAIC,KAAK,GAAGD,IAAIC,KAAK,IAAIb,MAAMO,OAAO,CAACO,gBAAgB,CAACF,IAAIG,MAAM,EAAEX;IACpE,OAAOQ;AACT;AAEA,2EAA2E;AAC3E,MAAMI,QAAQ;IAAC;IAAQ;IAAY;CAAW;AAC9C,SAASX,OAAOJ,OAAe,EAAEC,IAAc,EAAEC,OAAyC;IACxF,IAAIa,MAAMC,OAAO,CAAC7B,KAAK8B,QAAQ,CAACjB,SAASkB,WAAW,OAAO,GAAG;QAC5D,MAAMC,MAAMjB,UAAUA,QAAQiB,GAAG,IAAI7B,QAAQ6B,GAAG,GAAG7B,QAAQ6B,GAAG;QAC9DnB,UAAUmB,IAAIC,IAAI,IAAID,IAAIE,iBAAiB;IAC7C;IACA,OAAOvB,WAAWM,MAAM,CAACJ,SAASC,MAAMC;AAC1C;AACAH,MAAMK,MAAM,GAAIf,SAAS,IAAIe,SAASN,WAAWM,MAAM;AAEvDL,MAAMO,OAAO,GAAG;IACdC,kBAAkBT,WAAWQ,OAAO,CAACC,gBAAgB;IACrDe,cAAcxB,WAAWQ,OAAO,CAACgB,YAAY;IAC7CT,kBAAkBf,WAAWQ,OAAO,CAACO,gBAAgB;IACrDU,eAAezB,WAAWQ,OAAO,CAACiB,aAAa;AACjD"}
@@ -1,4 +1,4 @@
1
1
  export type * from './types.js';
2
- export { default } from './spawn.js';
2
+ export { default, default as spawn } from './spawn.js';
3
+ export { default as crossSpawn } from './crossSpawn.js';
3
4
  export { default as sync } from './spawnSync.js';
4
- export { default as crossSpawn } from './lib/crossSpawn.cjs';
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { default } from './spawn.js';
1
+ export { default, default as spawn } from './spawn.js';
2
+ export { default as crossSpawn } from './crossSpawn.js';
2
3
  export { default as sync } from './spawnSync.js';
3
- export { default as crossSpawn } from './lib/crossSpawn.cjs';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default } from './spawn.js';\nexport { default as sync } from './spawnSync.js';\nexport { default as crossSpawn } from './lib/crossSpawn.cjs';\n"],"names":["default","sync","crossSpawn"],"mappings":"AACA,SAASA,OAAO,QAAQ,aAAa;AACrC,SAASA,WAAWC,IAAI,QAAQ,iBAAiB;AACjD,SAASD,WAAWE,UAAU,QAAQ,uBAAuB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default, default as spawn } from './spawn.js';\nexport { default as crossSpawn } from './crossSpawn.js';\nexport { default as sync } from './spawnSync.js';\n"],"names":["default","spawn","crossSpawn","sync"],"mappings":"AACA,SAASA,OAAO,EAAEA,WAAWC,KAAK,QAAQ,aAAa;AACvD,SAASD,WAAWE,UAAU,QAAQ,kBAAkB;AACxD,SAASF,WAAWG,IAAI,QAAQ,iBAAiB"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/polyfills/spawnSync.cjs"],"sourcesContent":["const path = require('path');\n\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nmodule.exports = function spawnSyncPolyfill(cmd, args, options) {\n if (!functionExec) functionExec = require('function-exec-sync');\n return functionExec({ callbacks: true }, workerPath, cmd, args, options || {});\n};\n"],"names":["path","require","workerPath","join","__dirname","functionExec","module","exports","spawnSyncPolyfill","cmd","args","options","callbacks"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,aAAaF,KAAKG,IAAI,CAACC,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIC,eAAe,MAAM,qBAAqB;AAC9CC,OAAOC,OAAO,GAAG,SAASC,kBAAkBC,GAAG,EAAEC,IAAI,EAAEC,OAAO;IAC5D,IAAI,CAACN,cAAcA,eAAeJ,QAAQ;IAC1C,OAAOI,aAAa;QAAEO,WAAW;IAAK,GAAGV,YAAYO,KAAKC,MAAMC,WAAW,CAAC;AAC9E"}
@@ -4,6 +4,6 @@ declare function spawn(command: string, args: string[], options?: SpawnOptions |
4
4
  declare namespace spawn {
5
5
  var worker: typeof import("./workers/async.js").default;
6
6
  var sync: typeof spawnSync;
7
- var crossSpawn: any;
7
+ var crossSpawn: typeof import("./crossSpawn.js").default;
8
8
  }
9
9
  export default spawn;
package/dist/esm/spawn.js CHANGED
@@ -1,4 +1,4 @@
1
- import crossSpawn from './lib/crossSpawn.cjs';
1
+ import crossSpawn from './crossSpawn.js';
2
2
  import spawnSync from './spawnSync.js';
3
3
  import worker from './workers/async.js';
4
4
  export default function spawn(command, args, options, callback) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './lib/crossSpawn.cjs';\nimport spawnSync from './spawnSync.js';\nimport worker from './workers/async.js';\n\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';\nexport default function spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): undefined | 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) as undefined;\n return new Promise((resolve, reject) => worker(cp, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\n"],"names":["crossSpawn","spawnSync","worker","spawn","command","args","options","callback","cp","Promise","resolve","reject","err","res","sync"],"mappings":"AAAA,OAAOA,gBAAgB,uBAAuB;AAC9C,OAAOC,eAAe,iBAAiB;AACvC,OAAOC,YAAY,qBAAqB;AAGxC,eAAe,SAASC,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC7H,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,SAAS,CAACM,KAAKC,MAASD,MAAMD,OAAOC,OAAOF,QAAQG;AACzG;AACAV,MAAMD,MAAM,GAAGA;AACfC,MAAMW,IAAI,GAAGb;AACbE,MAAMH,UAAU,GAAGA"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawn.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.js';\nimport spawnSync from './spawnSync.js';\nimport worker from './workers/async.js';\n\nimport type { SpawnCallback, SpawnOptions, SpawnResult } from './types.js';\n\nexport default function spawn(command: string, args: string[], options?: SpawnOptions | SpawnCallback, callback?: SpawnCallback): undefined | 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) as undefined;\n return new Promise((resolve, reject) => worker(cp, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\nspawn.worker = worker;\nspawn.sync = spawnSync;\nspawn.crossSpawn = crossSpawn;\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;AACvC,OAAOC,YAAY,qBAAqB;AAIxC,eAAe,SAASC,MAAMC,OAAe,EAAEC,IAAc,EAAEC,OAAsC,EAAEC,QAAwB;IAC7H,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,SAAS,CAACM,KAAKC,MAASD,MAAMD,OAAOC,OAAOF,QAAQG;AACzG;AACAV,MAAMD,MAAM,GAAGA;AACfC,MAAMW,IAAI,GAAGb;AACbE,MAAMH,UAAU,GAAGA"}
@@ -1,5 +1,5 @@
1
- import type { SpawnOptions, SpawnResult } from './types.js';
2
- declare function spawnSync(command: string, args: string[], options?: SpawnOptions): SpawnResult;
1
+ import type { SpawnResult, SpawnSyncOptions } from './types.js';
2
+ declare function spawnSync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult;
3
3
  declare namespace spawnSync {
4
4
  var worker: typeof import("./workers/sync.js").default;
5
5
  }
@@ -1,4 +1,4 @@
1
- import crossSpawn from './lib/crossSpawn.cjs';
1
+ import crossSpawn from './crossSpawn.js';
2
2
  import worker from './workers/sync.js';
3
3
  export default function spawnSync(command, args, options) {
4
4
  options = options || {};
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawnSync.ts"],"sourcesContent":["import crossSpawn from './lib/crossSpawn.cjs';\nimport worker from './workers/sync.js';\n\nimport type { SpawnOptions, SpawnResult } from './types.js';\n\nexport default function spawnSync(command: string, args: string[], options?: SpawnOptions): SpawnResult {\n options = options || {};\n const syncOptions = { ...options, env: options.env || process.env, stdio: 'pipe', encoding: options.encoding || 'utf8' };\n const res = crossSpawn.sync(command, args, syncOptions);\n return worker(res, options as SpawnOptions);\n}\nspawnSync.worker = worker;\n"],"names":["crossSpawn","worker","spawnSync","command","args","options","syncOptions","env","process","stdio","encoding","res","sync"],"mappings":"AAAA,OAAOA,gBAAgB,uBAAuB;AAC9C,OAAOC,YAAY,oBAAoB;AAIvC,eAAe,SAASC,UAAUC,OAAe,EAAEC,IAAc,EAAEC,OAAsB;IACvFA,UAAUA,WAAW,CAAC;IACtB,MAAMC,cAAc;QAAE,GAAGD,OAAO;QAAEE,KAAKF,QAAQE,GAAG,IAAIC,QAAQD,GAAG;QAAEE,OAAO;QAAQC,UAAUL,QAAQK,QAAQ,IAAI;IAAO;IACvH,MAAMC,MAAMX,WAAWY,IAAI,CAACT,SAASC,MAAME;IAC3C,OAAOL,OAAOU,KAAKN;AACrB;AACAH,UAAUD,MAAM,GAAGA"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/spawnSync.ts"],"sourcesContent":["import crossSpawn from './crossSpawn.js';\nimport worker from './workers/sync.js';\n\nimport type { SpawnOptions, SpawnResult, SpawnSyncOptions } from './types.js';\n\nexport default function spawnSync(command: string, args: string[], options?: SpawnSyncOptions): SpawnResult {\n options = options || {};\n const syncOptions = { ...options, env: options.env || process.env, stdio: 'pipe', encoding: options.encoding || 'utf8' };\n const res = crossSpawn.sync(command, args, syncOptions as SpawnSyncOptions);\n return worker(res, options as SpawnOptions);\n}\nspawnSync.worker = worker;\n"],"names":["crossSpawn","worker","spawnSync","command","args","options","syncOptions","env","process","stdio","encoding","res","sync"],"mappings":"AAAA,OAAOA,gBAAgB,kBAAkB;AACzC,OAAOC,YAAY,oBAAoB;AAIvC,eAAe,SAASC,UAAUC,OAAe,EAAEC,IAAc,EAAEC,OAA0B;IAC3FA,UAAUA,WAAW,CAAC;IACtB,MAAMC,cAAc;QAAE,GAAGD,OAAO;QAAEE,KAAKF,QAAQE,GAAG,IAAIC,QAAQD,GAAG;QAAEE,OAAO;QAAQC,UAAUL,QAAQK,QAAQ,IAAI;IAAO;IACvH,MAAMC,MAAMX,WAAWY,IAAI,CAACT,SAASC,MAAME;IAC3C,OAAOL,OAAOU,KAAKN;AACrB;AACAH,UAAUD,MAAM,GAAGA"}
@@ -5,8 +5,28 @@ export interface SpawnOptions extends child_process.SpawnOptions {
5
5
  env?: NodeJS.ProcessEnv;
6
6
  input?: string | Buffer;
7
7
  }
8
+ export interface SpawnSyncOptions extends child_process.SpawnSyncOptions {
9
+ encoding?: BufferEncoding;
10
+ env?: NodeJS.ProcessEnv;
11
+ input?: string | Buffer;
12
+ }
8
13
  export type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;
9
- export interface SpawnError extends Error, SpawnResult {
14
+ export interface Parsed {
15
+ command: string;
16
+ args: string[];
17
+ options: SpawnOptions | SpawnSyncOptions;
18
+ }
19
+ export interface NotFoundError extends Error {
10
20
  code?: string;
21
+ errno?: string;
22
+ syscall?: string;
23
+ path?: string;
24
+ spawnargs?: string[];
25
+ }
26
+ export interface SpawnError extends NotFoundError, SpawnResult {
11
27
  }
12
28
  export type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;
29
+ export type hookChildProcess = (cp: ChildProcess, parsed: Parsed) => undefined;
30
+ export type verifyENOENT = (status: number, parsed: Parsed) => NotFoundError | null;
31
+ export type verifyENOENTSync = (status: number, parsed: Parsed) => NotFoundError | null;
32
+ export type notFoundError = (cp: ChildProcess, parsed: Parsed) => NotFoundError;
@@ -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 type SpawnResult = child_process.SpawnSyncReturns<string | Buffer>;\n\nexport interface SpawnError extends Error, SpawnResult {\n code?: string;\n}\nexport type SpawnCallback = (err?: SpawnError, res?: SpawnResult) => void;\n"],"names":[],"mappings":"AAaA,WAA0E"}
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}\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 type hookChildProcess = (cp: ChildProcess, parsed: Parsed) => undefined;\nexport type verifyENOENT = (status: number, parsed: Parsed) => NotFoundError | null;\nexport type verifyENOENTSync = (status: number, parsed: Parsed) => NotFoundError | null;\nexport type notFoundError = (cp: ChildProcess, parsed: Parsed) => NotFoundError;\n"],"names":[],"mappings":"AAmCA,WAAgF"}
@@ -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.js';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.js';\n\nfunction isError(obj) {\n return Object.prototype.toString.call(obj) === '[object Error]';\n}\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'], (status, signal) => {\n if (isError(status)) {\n const err = status as SpawnError;\n if (err.code === 'OK') return; // ignore\n return callback(err);\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 err = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (err) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n err[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n err ? callback(err 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","isError","obj","Object","prototype","toString","call","worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","err","code","Buffer","concat","Error","key","indexOf","isBuffer","input","stdin","end"],"mappings":"AAAA,OAAOA,QAAQ,SAAS;AACxB,SAASC,SAAS,QAAQ,kBAAkB;AAI5C,SAASC,QAAQC,GAAG;IAClB,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,SAAS;AACjD;AAEA,eAAe,SAASK,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;IACrDhB,GAAGS,IAAI;QAAC;QAAS;KAAQ,EAAE,CAACQ,QAAQC;QAClC,IAAIhB,QAAQe,SAAS;YACnB,MAAMM,MAAMN;YACZ,IAAIM,IAAIC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxC,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,CAACT,QAAQ,CAACI,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,CAACV,QAAQ,CAACI,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,MAAMM,MAAMX,IAAIK,MAAM,KAAK,IAAI,IAAIU,MAAM,CAAC,oBAAoB,EAAEf,IAAIK,MAAM,EAAE,IAAI;QAChF,IAAIM,KAAK;YACP,IAAK,MAAMK,OAAOhB,IAAK;gBACrB,IAAIX,UAAU4B,OAAO,CAACD,OAAO,GAAG;gBAChCL,GAAG,CAACK,IAAI,GAAGH,OAAOK,QAAQ,CAAClB,GAAG,CAACgB,IAAI,IAAIhB,GAAG,CAACgB,IAAI,CAACtB,QAAQ,CAACI,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACgB,IAAI;YACjG;QACF;QACAL,MAAMZ,SAASY,OAAqBZ,SAAS,MAAMC;IACrD;IAEA,aAAa;IACb,IAAIF,QAAQqB,KAAK,IAAK,CAAA,OAAOrB,QAAQqB,KAAK,KAAK,YAAYN,OAAOK,QAAQ,CAACpB,QAAQqB,KAAK,CAAA,GAAI;QAC1FtB,GAAGuB,KAAK,CAACC,GAAG,CAACvB,QAAQqB,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.js';\n\nimport type { ChildProcess, SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from '../types.js';\n\nfunction isError(obj) {\n return Object.prototype.toString.call(obj) === '[object Error]';\n}\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'], (status: number | null, signal: NodeJS.Signals | null) => {\n if (isError(status)) {\n const err = status as unknown as SpawnError;\n if (err.code === 'OK') return; // ignore\n return callback(err);\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 err = res.status !== 0 ? new Error(`Non-zero exit code: ${res.status}`) : null;\n if (err) {\n for (const key in res) {\n if (spawnKeys.indexOf(key) < 0) continue;\n err[key] = Buffer.isBuffer(res[key]) ? res[key].toString(options.encoding || 'utf8') : res[key];\n }\n }\n err ? callback(err 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","isError","obj","Object","prototype","toString","call","worker","cp","options","callback","res","pid","output","stdout","stderr","status","signal","encoding","on","push","bind","err","code","Buffer","concat","Error","key","indexOf","isBuffer","input","stdin","end"],"mappings":"AAAA,OAAOA,QAAQ,SAAS;AACxB,SAASC,SAAS,QAAQ,kBAAkB;AAI5C,SAASC,QAAQC,GAAG;IAClB,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,SAAS;AACjD;AAEA,eAAe,SAASK,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;IACrDhB,GAAGS,IAAI;QAAC;QAAS;KAAQ,EAAE,CAACQ,QAAuBC;QACjD,IAAIhB,QAAQe,SAAS;YACnB,MAAMM,MAAMN;YACZ,IAAIM,IAAIC,IAAI,KAAK,MAAM,QAAQ,SAAS;YACxC,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,CAACT,QAAQ,CAACI,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,CAACV,QAAQ,CAACI,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,MAAMM,MAAMX,IAAIK,MAAM,KAAK,IAAI,IAAIU,MAAM,CAAC,oBAAoB,EAAEf,IAAIK,MAAM,EAAE,IAAI;QAChF,IAAIM,KAAK;YACP,IAAK,MAAMK,OAAOhB,IAAK;gBACrB,IAAIX,UAAU4B,OAAO,CAACD,OAAO,GAAG;gBAChCL,GAAG,CAACK,IAAI,GAAGH,OAAOK,QAAQ,CAAClB,GAAG,CAACgB,IAAI,IAAIhB,GAAG,CAACgB,IAAI,CAACtB,QAAQ,CAACI,QAAQS,QAAQ,IAAI,UAAUP,GAAG,CAACgB,IAAI;YACjG;QACF;QACAL,MAAMZ,SAASY,OAAqBZ,SAAS,MAAMC;IACrD;IAEA,aAAa;IACb,IAAIF,QAAQqB,KAAK,IAAK,CAAA,OAAOrB,QAAQqB,KAAK,KAAK,YAAYN,OAAOK,QAAQ,CAACpB,QAAQqB,KAAK,CAAA,GAAI;QAC1FtB,GAAGuB,KAAK,CAACC,GAAG,CAACvB,QAAQqB,KAAK;IAC5B;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cross-spawn-cb",
3
- "version": "2.2.4",
3
+ "version": "2.2.6",
4
4
  "description": "Cross spawn with a completion callback",
5
5
  "keywords": [
6
6
  "cross-spawn",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "cross-spawn": "^7.0.6",
38
- "function-exec-sync": "^1.2.25",
39
- "on-one": "^0.1.6"
38
+ "function-exec-sync": "^1.2.26",
39
+ "on-one": "^0.1.7"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/mocha": "*",
@@ -1,4 +0,0 @@
1
- "use strict";
2
- var major = +process.versions.node.split('.')[0];
3
- module.exports = major <= 7 ? require('../lib/crossSpawnCompat.cjs') : require('cross-spawn');
4
- /* 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; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/crossSpawn.cjs"],"sourcesContent":["const major = +process.versions.node.split('.')[0];\n\nmodule.exports = major <= 7 ? require('../lib/crossSpawnCompat.cjs') : require('cross-spawn');\n"],"names":["major","process","versions","node","split","module","exports","require"],"mappings":";AAAA,IAAMA,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElDC,OAAOC,OAAO,GAAGN,SAAS,IAAIO,QAAQ,iCAAiCA,QAAQ"}
@@ -1,2 +0,0 @@
1
- declare const _exports: any;
2
- export = _exports;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var path = require('path');
3
- var cp = require('child_process');
4
- var cpSpawnSync = require('child_process').spawnSync || require('./spawnSyncPolyfill.cjs');
5
- var crossSpawn = require('../../../assets/cross-spawn.cjs');
6
- var NODES = [
7
- 'node',
8
- 'node.exe',
9
- 'node.cmd'
10
- ];
11
- function parse(command, args, options) {
12
- if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {
13
- var env = options ? options.env || process.env : process.env;
14
- command = env.NODE || env.npm_node_execpath;
15
- }
16
- return crossSpawn._parse(command, args, options);
17
- }
18
- var enoent = crossSpawn._enoent;
19
- function spawn(command, args, options) {
20
- var parsed = parse(command, args, options);
21
- var spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
22
- enoent.hookChildProcess(spawned, parsed);
23
- return spawned;
24
- }
25
- function spawnSync(command, args, options) {
26
- var parsed = parse(command, args, options);
27
- var result = cpSpawnSync(parsed.command, parsed.args, parsed.options);
28
- result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
29
- return result;
30
- }
31
- module.exports = spawn;
32
- module.exports.spawn = spawn;
33
- module.exports.sync = spawnSync;
34
- module.exports._parse = parse;
35
- module.exports._enoent = enoent;
36
- /* 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; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/crossSpawnCompat.cjs"],"sourcesContent":["const path = require('path');\nconst cp = require('child_process');\nconst cpSpawnSync = require('child_process').spawnSync || require('./spawnSyncPolyfill.cjs');\nconst crossSpawn = require('../../../assets/cross-spawn.cjs');\n\nconst NODES = ['node', 'node.exe', 'node.cmd'];\nfunction parse(command, args, options) {\n if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {\n const env = options ? options.env || process.env : process.env;\n command = env.NODE || env.npm_node_execpath;\n }\n return crossSpawn._parse(command, args, options);\n}\nconst enoent = crossSpawn._enoent;\n\nfunction spawn(command, args, options) {\n const parsed = parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n enoent.hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n const parsed = parse(command, args, options);\n const result = cpSpawnSync(parsed.command, parsed.args, parsed.options);\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n"],"names":["path","require","cp","cpSpawnSync","spawnSync","crossSpawn","NODES","parse","command","args","options","indexOf","basename","toLowerCase","env","process","NODE","npm_node_execpath","_parse","enoent","_enoent","spawn","parsed","spawned","hookChildProcess","result","error","verifyENOENTSync","status","module","exports","sync"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,KAAKD,QAAQ;AACnB,IAAME,cAAcF,QAAQ,iBAAiBG,SAAS,IAAIH,QAAQ;AAClE,IAAMI,aAAaJ,QAAQ;AAE3B,IAAMK,QAAQ;IAAC;IAAQ;IAAY;CAAW;AAC9C,SAASC,MAAMC,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACnC,IAAIJ,MAAMK,OAAO,CAACX,KAAKY,QAAQ,CAACJ,SAASK,WAAW,OAAO,GAAG;QAC5D,IAAMC,MAAMJ,UAAUA,QAAQI,GAAG,IAAIC,QAAQD,GAAG,GAAGC,QAAQD,GAAG;QAC9DN,UAAUM,IAAIE,IAAI,IAAIF,IAAIG,iBAAiB;IAC7C;IACA,OAAOZ,WAAWa,MAAM,CAACV,SAASC,MAAMC;AAC1C;AACA,IAAMS,SAASd,WAAWe,OAAO;AAEjC,SAASC,MAAMb,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACnC,IAAMY,SAASf,MAAMC,SAASC,MAAMC;IACpC,IAAMa,UAAUrB,GAAGmB,KAAK,CAACC,OAAOd,OAAO,EAAEc,OAAOb,IAAI,EAAEa,OAAOZ,OAAO;IACpES,OAAOK,gBAAgB,CAACD,SAASD;IACjC,OAAOC;AACT;AAEA,SAASnB,UAAUI,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACvC,IAAMY,SAASf,MAAMC,SAASC,MAAMC;IACpC,IAAMe,SAAStB,YAAYmB,OAAOd,OAAO,EAAEc,OAAOb,IAAI,EAAEa,OAAOZ,OAAO;IACtEe,OAAOC,KAAK,GAAGD,OAAOC,KAAK,IAAIP,OAAOQ,gBAAgB,CAACF,OAAOG,MAAM,EAAEN;IACtE,OAAOG;AACT;AAEAI,OAAOC,OAAO,GAAGT;AACjBQ,OAAOC,OAAO,CAACT,KAAK,GAAGA;AACvBQ,OAAOC,OAAO,CAACC,IAAI,GAAG3B;AACtByB,OAAOC,OAAO,CAACZ,MAAM,GAAGX;AACxBsB,OAAOC,OAAO,CAACV,OAAO,GAAGD"}
@@ -1,9 +0,0 @@
1
- export = spawn;
2
- declare function spawn(command: any, args: any, options: any): cp.ChildProcessWithoutNullStreams;
3
- declare namespace spawn {
4
- export { spawn, spawnSync as sync, parse as _parse, enoent as _enoent };
5
- }
6
- import cp = require("child_process");
7
- declare function spawnSync(command: any, args: any, options: any): any;
8
- declare function parse(command: any, args: any, options: any): any;
9
- declare const enoent: any;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/spawnSyncPolyfill.cjs"],"sourcesContent":["const path = require('path');\n\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nmodule.exports = function spawnSyncPolyfill(cmd, args, options) {\n if (!functionExec) functionExec = require('function-exec-sync');\n return functionExec({ callbacks: true }, workerPath, cmd, args, options || {});\n};\n"],"names":["path","require","workerPath","join","__dirname","functionExec","module","exports","spawnSyncPolyfill","cmd","args","options","callbacks"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AAErB,IAAMC,aAAaF,KAAKG,IAAI,CAACC,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIC,eAAe,MAAM,qBAAqB;AAC9CC,OAAOC,OAAO,GAAG,SAASC,kBAAkBC,GAAG,EAAEC,IAAI,EAAEC,OAAO;IAC5D,IAAI,CAACN,cAAcA,eAAeJ,QAAQ;IAC1C,OAAOI,aAAa;QAAEO,WAAW;IAAK,GAAGV,YAAYO,KAAKC,MAAMC,WAAW,CAAC;AAC9E"}
@@ -1,2 +0,0 @@
1
- const major = +process.versions.node.split('.')[0];
2
- module.exports = major <= 7 ? require('../lib/crossSpawnCompat.cjs') : require('cross-spawn');
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/crossSpawn.cjs"],"sourcesContent":["const major = +process.versions.node.split('.')[0];\n\nmodule.exports = major <= 7 ? require('../lib/crossSpawnCompat.cjs') : require('cross-spawn');\n"],"names":["major","process","versions","node","split","module","exports","require"],"mappings":"AAAA,MAAMA,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElDC,OAAOC,OAAO,GAAGN,SAAS,IAAIO,QAAQ,iCAAiCA,QAAQ"}
@@ -1,2 +0,0 @@
1
- declare const _exports: any;
2
- export = _exports;
@@ -1,34 +0,0 @@
1
- const path = require('path');
2
- const cp = require('child_process');
3
- const cpSpawnSync = require('child_process').spawnSync || require('./spawnSyncPolyfill.cjs');
4
- const crossSpawn = require('../../../assets/cross-spawn.cjs');
5
- const NODES = [
6
- 'node',
7
- 'node.exe',
8
- 'node.cmd'
9
- ];
10
- function parse(command, args, options) {
11
- if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {
12
- const env = options ? options.env || process.env : process.env;
13
- command = env.NODE || env.npm_node_execpath;
14
- }
15
- return crossSpawn._parse(command, args, options);
16
- }
17
- const enoent = crossSpawn._enoent;
18
- function spawn(command, args, options) {
19
- const parsed = parse(command, args, options);
20
- const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
21
- enoent.hookChildProcess(spawned, parsed);
22
- return spawned;
23
- }
24
- function spawnSync(command, args, options) {
25
- const parsed = parse(command, args, options);
26
- const result = cpSpawnSync(parsed.command, parsed.args, parsed.options);
27
- result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
28
- return result;
29
- }
30
- module.exports = spawn;
31
- module.exports.spawn = spawn;
32
- module.exports.sync = spawnSync;
33
- module.exports._parse = parse;
34
- module.exports._enoent = enoent;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/crossSpawnCompat.cjs"],"sourcesContent":["const path = require('path');\nconst cp = require('child_process');\nconst cpSpawnSync = require('child_process').spawnSync || require('./spawnSyncPolyfill.cjs');\nconst crossSpawn = require('../../../assets/cross-spawn.cjs');\n\nconst NODES = ['node', 'node.exe', 'node.cmd'];\nfunction parse(command, args, options) {\n if (NODES.indexOf(path.basename(command).toLowerCase()) >= 0) {\n const env = options ? options.env || process.env : process.env;\n command = env.NODE || env.npm_node_execpath;\n }\n return crossSpawn._parse(command, args, options);\n}\nconst enoent = crossSpawn._enoent;\n\nfunction spawn(command, args, options) {\n const parsed = parse(command, args, options);\n const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n enoent.hookChildProcess(spawned, parsed);\n return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n const parsed = parse(command, args, options);\n const result = cpSpawnSync(parsed.command, parsed.args, parsed.options);\n result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n"],"names":["path","require","cp","cpSpawnSync","spawnSync","crossSpawn","NODES","parse","command","args","options","indexOf","basename","toLowerCase","env","process","NODE","npm_node_execpath","_parse","enoent","_enoent","spawn","parsed","spawned","hookChildProcess","result","error","verifyENOENTSync","status","module","exports","sync"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,KAAKD,QAAQ;AACnB,MAAME,cAAcF,QAAQ,iBAAiBG,SAAS,IAAIH,QAAQ;AAClE,MAAMI,aAAaJ,QAAQ;AAE3B,MAAMK,QAAQ;IAAC;IAAQ;IAAY;CAAW;AAC9C,SAASC,MAAMC,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACnC,IAAIJ,MAAMK,OAAO,CAACX,KAAKY,QAAQ,CAACJ,SAASK,WAAW,OAAO,GAAG;QAC5D,MAAMC,MAAMJ,UAAUA,QAAQI,GAAG,IAAIC,QAAQD,GAAG,GAAGC,QAAQD,GAAG;QAC9DN,UAAUM,IAAIE,IAAI,IAAIF,IAAIG,iBAAiB;IAC7C;IACA,OAAOZ,WAAWa,MAAM,CAACV,SAASC,MAAMC;AAC1C;AACA,MAAMS,SAASd,WAAWe,OAAO;AAEjC,SAASC,MAAMb,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACnC,MAAMY,SAASf,MAAMC,SAASC,MAAMC;IACpC,MAAMa,UAAUrB,GAAGmB,KAAK,CAACC,OAAOd,OAAO,EAAEc,OAAOb,IAAI,EAAEa,OAAOZ,OAAO;IACpES,OAAOK,gBAAgB,CAACD,SAASD;IACjC,OAAOC;AACT;AAEA,SAASnB,UAAUI,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACvC,MAAMY,SAASf,MAAMC,SAASC,MAAMC;IACpC,MAAMe,SAAStB,YAAYmB,OAAOd,OAAO,EAAEc,OAAOb,IAAI,EAAEa,OAAOZ,OAAO;IACtEe,OAAOC,KAAK,GAAGD,OAAOC,KAAK,IAAIP,OAAOQ,gBAAgB,CAACF,OAAOG,MAAM,EAAEN;IACtE,OAAOG;AACT;AAEAI,OAAOC,OAAO,GAAGT;AACjBQ,OAAOC,OAAO,CAACT,KAAK,GAAGA;AACvBQ,OAAOC,OAAO,CAACC,IAAI,GAAG3B;AACtByB,OAAOC,OAAO,CAACZ,MAAM,GAAGX;AACxBsB,OAAOC,OAAO,CAACV,OAAO,GAAGD"}
@@ -1,9 +0,0 @@
1
- export = spawn;
2
- declare function spawn(command: any, args: any, options: any): cp.ChildProcessWithoutNullStreams;
3
- declare namespace spawn {
4
- export { spawn, spawnSync as sync, parse as _parse, enoent as _enoent };
5
- }
6
- import cp = require("child_process");
7
- declare function spawnSync(command: any, args: any, options: any): any;
8
- declare function parse(command: any, args: any, options: any): any;
9
- declare const enoent: any;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/compat/cross-spawn-cb/src/lib/spawnSyncPolyfill.cjs"],"sourcesContent":["const path = require('path');\n\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'spawn.js');\n\nlet functionExec = null; // break dependencies\nmodule.exports = function spawnSyncPolyfill(cmd, args, options) {\n if (!functionExec) functionExec = require('function-exec-sync');\n return functionExec({ callbacks: true }, workerPath, cmd, args, options || {});\n};\n"],"names":["path","require","workerPath","join","__dirname","functionExec","module","exports","spawnSyncPolyfill","cmd","args","options","callbacks"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,aAAaF,KAAKG,IAAI,CAACC,WAAW,MAAM,MAAM,OAAO;AAE3D,IAAIC,eAAe,MAAM,qBAAqB;AAC9CC,OAAOC,OAAO,GAAG,SAASC,kBAAkBC,GAAG,EAAEC,IAAI,EAAEC,OAAO;IAC5D,IAAI,CAACN,cAAcA,eAAeJ,QAAQ;IAC1C,OAAOI,aAAa;QAAEO,WAAW;IAAK,GAAGV,YAAYO,KAAKC,MAAMC,WAAW,CAAC;AAC9E"}