node-version-use 1.4.9 → 1.5.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/cli.cjs CHANGED
@@ -44,13 +44,6 @@ var _default = function(argv, name) {
44
44
  console.log("Missing command. Example usage: ".concat(name, " [version expression] [command]"));
45
45
  return (0, _exit.default)(-1);
46
46
  }
47
- if (!options.silent) options.header = function(version, command, args) {
48
- console.log('\n----------------------');
49
- console.log("".concat([
50
- command
51
- ].concat(args).join(' '), " (").concat(version, ")"));
52
- console.log('----------------------');
53
- };
54
47
  options.stdio = 'inherit'; // pass through stdio
55
48
  (0, _index.default)(args[0], args[1], args.slice(2), options, function(err, results) {
56
49
  if (err && err.message.indexOf('ExperimentalWarning') >= 0) err = null;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.js"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport nvu from './index.mjs';\n\nconst figures = {\n tick: '✔',\n cross: '✘',\n};\n\nexport default (argv, name) => {\n const options = getopts(argv.slice(1), {\n alias: { range: 'r', desc: 'd', silent: 's' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc'],\n stopEarly: true,\n });\n\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');\n // define.option('-s, --silent', 'suppress logging', false);\n options.sort = options.desc ? -1 : 1;\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log(`Missing command. Example usage: ${name} [version expression] [command]`);\n return exit(-1);\n }\n\n if (!options.silent)\n options.header = (version, command, args) => {\n console.log('\\n----------------------');\n console.log(`${[command].concat(args).join(' ')} (${version})`);\n console.log('----------------------');\n };\n\n options.stdio = 'inherit'; // pass through stdio\n nvu(args[0], args[1], args.slice(2), options, (err, results) => {\n if (err && err.message.indexOf('ExperimentalWarning') >= 0) err = null;\n if (err) {\n results = err.results;\n console.log(err.message);\n }\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n console.log('\\n======================');\n console.log(`nvu ${args.join(' ')} ${errors.length ? 'failed' : 'succeeded'}`);\n results.forEach((res) => console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));\n }\n\n exit(err || errors.length ? -1 : 0);\n });\n};\n"],"names":["figures","tick","cross","argv","name","options","getopts","slice","alias","range","desc","silent","default","boolean","stopEarly","sort","args","concat","_","length","console","log","exit","header","version","command","join","stdio","nvu","err","results","message","indexOf","errors","filter","result","error","forEach","res"],"mappings":";;;;+BASA;;;eAAA;;;2DATiB;oEACG;4DACJ;;;;;;AAEhB,IAAMA,UAAU;IACdC,MAAM;IACNC,OAAO;AACT;IAEA,WAAe,SAACC,MAAMC;IACpB,IAAMC,UAAUC,IAAAA,sBAAO,EAACH,KAAKI,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,QAAQ;QAAI;QAC5CC,SAAS;YAAEH,OAAO;QAAa;QAC/BI,SAAS;YAAC;YAAU;SAAO;QAC3BC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DT,QAAQU,IAAI,GAAGV,QAAQK,IAAI,GAAG,CAAC,IAAI;IAEnC,IAAMM,OAAOb,KAAKI,KAAK,CAAC,GAAG,GAAGU,MAAM,CAACZ,QAAQa,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC,AAAC,mCAAuC,OAALjB,MAAK;QACpD,OAAOkB,IAAAA,aAAI,EAAC,CAAC;IACf;IAEA,IAAI,CAACjB,QAAQM,MAAM,EACjBN,QAAQkB,MAAM,GAAG,SAACC,SAASC,SAAST;QAClCI,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC,AAAC,GAAuCG,OAArC;YAACC;SAAQ,CAACR,MAAM,CAACD,MAAMU,IAAI,CAAC,MAAK,MAAY,OAARF,SAAQ;QAC5DJ,QAAQC,GAAG,CAAC;IACd;IAEFhB,QAAQsB,KAAK,GAAG,WAAW,qBAAqB;IAChDC,IAAAA,cAAG,EAACZ,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKT,KAAK,CAAC,IAAIF,SAAS,SAACwB,KAAKC;QAClD,IAAID,OAAOA,IAAIE,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAGH,MAAM;QAClE,IAAIA,KAAK;YACPC,UAAUD,IAAIC,OAAO;YACrBV,QAAQC,GAAG,CAACQ,IAAIE,OAAO;QACzB;QACA,IAAME,SAASH,QAAQI,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC/B,QAAQM,MAAM,EAAE;YACnBS,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,AAAC,OAAwBY,OAAlBjB,KAAKU,IAAI,CAAC,MAAK,KAA0C,OAAvCO,OAAOd,MAAM,GAAG,WAAW;YAChEW,QAAQO,OAAO,CAAC,SAACC;uBAAQlB,QAAQC,GAAG,CAAC,AAAC,GAA8CiB,OAA5CA,IAAIF,KAAK,GAAGpC,QAAQE,KAAK,GAAGF,QAAQC,IAAI,EAAC,KAAiBqC,OAAdA,IAAId,OAAO,EAAmD,OAAhDc,IAAIF,KAAK,GAAG,AAAC,WAA4B,OAAlBE,IAAIF,KAAK,CAACL,OAAO,IAAK;;QACjJ;QAEAT,IAAAA,aAAI,EAACO,OAAOI,OAAOd,MAAM,GAAG,CAAC,IAAI;IACnC;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.js"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport nvu from './index.mjs';\n\nconst figures = {\n tick: '✔',\n cross: '✘',\n};\n\nexport default (argv, name) => {\n const options = getopts(argv.slice(1), {\n alias: { range: 'r', desc: 'd', silent: 's' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc'],\n stopEarly: true,\n });\n\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');\n // define.option('-s, --silent', 'suppress logging', false);\n options.sort = options.desc ? -1 : 1;\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log(`Missing command. Example usage: ${name} [version expression] [command]`);\n return exit(-1);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n nvu(args[0], args[1], args.slice(2), options, (err, results) => {\n if (err && err.message.indexOf('ExperimentalWarning') >= 0) err = null;\n if (err) {\n results = err.results;\n console.log(err.message);\n }\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n console.log('\\n======================');\n console.log(`nvu ${args.join(' ')} ${errors.length ? 'failed' : 'succeeded'}`);\n results.forEach((res) => console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));\n }\n\n exit(err || errors.length ? -1 : 0);\n });\n};\n"],"names":["figures","tick","cross","argv","name","options","getopts","slice","alias","range","desc","silent","default","boolean","stopEarly","sort","args","concat","_","length","console","log","exit","stdio","nvu","err","results","message","indexOf","errors","filter","result","error","join","forEach","res","version"],"mappings":";;;;+BASA;;;eAAA;;;2DATiB;oEACG;4DACJ;;;;;;AAEhB,IAAMA,UAAU;IACdC,MAAM;IACNC,OAAO;AACT;IAEA,WAAe,SAACC,MAAMC;IACpB,IAAMC,UAAUC,IAAAA,sBAAO,EAACH,KAAKI,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,QAAQ;QAAI;QAC5CC,SAAS;YAAEH,OAAO;QAAa;QAC/BI,SAAS;YAAC;YAAU;SAAO;QAC3BC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DT,QAAQU,IAAI,GAAGV,QAAQK,IAAI,GAAG,CAAC,IAAI;IAEnC,IAAMM,OAAOb,KAAKI,KAAK,CAAC,GAAG,GAAGU,MAAM,CAACZ,QAAQa,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC,AAAC,mCAAuC,OAALjB,MAAK;QACpD,OAAOkB,IAAAA,aAAI,EAAC,CAAC;IACf;IAEAjB,QAAQkB,KAAK,GAAG,WAAW,qBAAqB;IAChDC,IAAAA,cAAG,EAACR,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKT,KAAK,CAAC,IAAIF,SAAS,SAACoB,KAAKC;QAClD,IAAID,OAAOA,IAAIE,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAGH,MAAM;QAClE,IAAIA,KAAK;YACPC,UAAUD,IAAIC,OAAO;YACrBN,QAAQC,GAAG,CAACI,IAAIE,OAAO;QACzB;QACA,IAAME,SAASH,QAAQI,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC3B,QAAQM,MAAM,EAAE;YACnBS,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,AAAC,OAAwBQ,OAAlBb,KAAKiB,IAAI,CAAC,MAAK,KAA0C,OAAvCJ,OAAOV,MAAM,GAAG,WAAW;YAChEO,QAAQQ,OAAO,CAAC,SAACC;uBAAQf,QAAQC,GAAG,CAAC,AAAC,GAA8Cc,OAA5CA,IAAIH,KAAK,GAAGhC,QAAQE,KAAK,GAAGF,QAAQC,IAAI,EAAC,KAAiBkC,OAAdA,IAAIC,OAAO,EAAmD,OAAhDD,IAAIH,KAAK,GAAG,AAAC,WAA4B,OAAlBG,IAAIH,KAAK,CAACL,OAAO,IAAK;;QACjJ;QAEAL,IAAAA,aAAI,EAACG,OAAOI,OAAOV,MAAM,GAAG,CAAC,IAAI;IACnC;AACF"}
@@ -13,6 +13,7 @@ var _noderesolveversions = /*#__PURE__*/ _interop_require_default(require("node-
13
13
  var _nodeversioninstall = /*#__PURE__*/ _interop_require_default(require("node-version-install"));
14
14
  var _nodeversionutils = require("node-version-utils");
15
15
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
16
+ var _spawnstreaming = /*#__PURE__*/ _interop_require_default(require("spawn-streaming"));
16
17
  var _constants = require("./constants.cjs");
17
18
  function _define_property(obj, key, value) {
18
19
  if (key in obj) {
@@ -58,7 +59,6 @@ function worker(versionExpression, command, args, options, callback) {
58
59
  var queue = new _queuecb.default(1);
59
60
  versions.forEach(function(version) {
60
61
  return queue.defer(function(cb) {
61
- !options.header || options.header(version, command, args);
62
62
  (0, _nodeversioninstall.default)(version, installOptions, function(_err, installs) {
63
63
  var install = installs && installs.length === 1 ? installs[0] : null;
64
64
  if (!install) {
@@ -71,7 +71,7 @@ function worker(versionExpression, command, args, options, callback) {
71
71
  });
72
72
  return callback();
73
73
  }
74
- (0, _crossspawncb.default)(command, args, (0, _nodeversionutils.spawnOptions)(install.installPath, options), function(err, res) {
74
+ var next = function(err, res) {
75
75
  if (err && err.message.indexOf('ExperimentalWarning') >= 0) {
76
76
  res = err;
77
77
  err = null;
@@ -84,7 +84,11 @@ function worker(versionExpression, command, args, options, callback) {
84
84
  result: res
85
85
  });
86
86
  cb();
87
- });
87
+ };
88
+ if (versions.length < 2) return (0, _crossspawncb.default)(command, args, (0, _nodeversionutils.spawnOptions)(install.installPath, options), next);
89
+ (0, _spawnstreaming.default)(command, args, (0, _nodeversionutils.spawnOptions)(install.installPath, options), {
90
+ prefix: install.version
91
+ }, next);
88
92
  });
89
93
  });
90
94
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.mjs"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport resolveVersions from 'node-resolve-versions';\nimport installVersion from 'node-version-install';\nimport { spawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport { storagePath } from './constants';\n\nexport default function worker(versionExpression, command, args, options, callback) {\n resolveVersions(versionExpression, options, (err, versions) => {\n if (err) return callback(err);\n if (!versions.length) return callback(new Error(`No versions found from expression: ${versionExpression}`));\n\n const installOptions = { storagePath, ...options };\n const results = [];\n const queue = new Queue(1);\n versions.forEach((version) =>\n queue.defer((cb) => {\n !options.header || options.header(version, command, args);\n installVersion(version, installOptions, (_err, installs) => {\n const install = installs && installs.length === 1 ? installs[0] : null;\n if (!install) {\n results.push({ install, command, version, error: new Error(`Unexpected version results for version ${version}. Install ${JSON.stringify(installs)}`), result: null });\n return callback();\n }\n\n spawn(command, args, spawnOptions(install.installPath, options), (err, res) => {\n if (err && err.message.indexOf('ExperimentalWarning') >= 0) {\n res = err;\n err = null;\n }\n results.push({ install, command, version, error: err, result: res });\n cb();\n });\n });\n })\n );\n queue.await((err) => {\n err ? callback(err) : callback(null, results);\n });\n });\n}\n"],"names":["worker","versionExpression","command","args","options","callback","resolveVersions","err","versions","length","Error","installOptions","storagePath","results","queue","Queue","forEach","version","defer","cb","header","installVersion","_err","installs","install","push","error","JSON","stringify","result","spawn","spawnOptions","installPath","res","message","indexOf","await"],"mappings":";;;;+BAOA;;;eAAwBA;;;mEAPN;0EACU;yEACD;gCACE;8DACX;yBACU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,SAASA,OAAOC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAChFC,IAAAA,4BAAe,EAACL,mBAAmBG,SAAS,SAACG,KAAKC;QAChD,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAOJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBT;QAEtF,IAAMU,iBAAiB;YAAEC,aAAAA,sBAAW;WAAKR;QACzC,IAAMS,UAAU,EAAE;QAClB,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;QACxBP,SAASQ,OAAO,CAAC,SAACC;mBAChBH,MAAMI,KAAK,CAAC,SAACC;gBACX,CAACf,QAAQgB,MAAM,IAAIhB,QAAQgB,MAAM,CAACH,SAASf,SAASC;gBACpDkB,IAAAA,2BAAc,EAACJ,SAASN,gBAAgB,SAACW,MAAMC;oBAC7C,IAAMC,UAAUD,YAAYA,SAASd,MAAM,KAAK,IAAIc,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACC,SAAS;wBACZX,QAAQY,IAAI,CAAC;4BAAED,SAAAA;4BAAStB,SAAAA;4BAASe,SAAAA;4BAASS,OAAO,IAAIhB,MAAM,AAAC,0CAA6DiB,OAApBV,SAAQ,cAAqC,OAAzBU,KAAKC,SAAS,CAACL;4BAAcM,QAAQ;wBAAK;wBACnK,OAAOxB;oBACT;oBAEAyB,IAAAA,qBAAK,EAAC5B,SAASC,MAAM4B,IAAAA,8BAAY,EAACP,QAAQQ,WAAW,EAAE5B,UAAU,SAACG,KAAK0B;wBACrE,IAAI1B,OAAOA,IAAI2B,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAM1B;4BACNA,MAAM;wBACR;wBACAM,QAAQY,IAAI,CAAC;4BAAED,SAAAA;4BAAStB,SAAAA;4BAASe,SAAAA;4BAASS,OAAOnB;4BAAKsB,QAAQI;wBAAI;wBAClEd;oBACF;gBACF;YACF;;QAEFL,MAAMsB,KAAK,CAAC,SAAC7B;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMQ;QACvC;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.mjs"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport resolveVersions from 'node-resolve-versions';\nimport installVersion from 'node-version-install';\nimport { spawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport spawnStreaming from 'spawn-streaming';\nimport { storagePath } from './constants';\n\nexport default function worker(versionExpression, command, args, options, callback) {\n resolveVersions(versionExpression, options, (err, versions) => {\n if (err) return callback(err);\n if (!versions.length) return callback(new Error(`No versions found from expression: ${versionExpression}`));\n\n const installOptions = { storagePath, ...options };\n const results = [];\n const queue = new Queue(1);\n versions.forEach((version) =>\n queue.defer((cb) => {\n installVersion(version, installOptions, (_err, installs) => {\n const install = installs && installs.length === 1 ? installs[0] : null;\n if (!install) {\n results.push({ install, command, version, error: new Error(`Unexpected version results for version ${version}. Install ${JSON.stringify(installs)}`), result: null });\n return callback();\n }\n\n const next = (err, res) => {\n if (err && err.message.indexOf('ExperimentalWarning') >= 0) {\n res = err;\n err = null;\n }\n results.push({ install, command, version, error: err, result: res });\n cb();\n };\n\n if (versions.length < 2) return spawn(command, args, spawnOptions(install.installPath, options), next);\n spawnStreaming(command, args, spawnOptions(install.installPath, options), { prefix: install.version }, next);\n });\n })\n );\n queue.await((err) => {\n err ? callback(err) : callback(null, results);\n });\n });\n}\n"],"names":["worker","versionExpression","command","args","options","callback","resolveVersions","err","versions","length","Error","installOptions","storagePath","results","queue","Queue","forEach","version","defer","cb","installVersion","_err","installs","install","push","error","JSON","stringify","result","next","res","message","indexOf","spawn","spawnOptions","installPath","spawnStreaming","prefix","await"],"mappings":";;;;+BAQA;;;eAAwBA;;;mEARN;0EACU;yEACD;gCACE;8DACX;qEACS;yBACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,SAASA,OAAOC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAChFC,IAAAA,4BAAe,EAACL,mBAAmBG,SAAS,SAACG,KAAKC;QAChD,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAOJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBT;QAEtF,IAAMU,iBAAiB;YAAEC,aAAAA,sBAAW;WAAKR;QACzC,IAAMS,UAAU,EAAE;QAClB,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;QACxBP,SAASQ,OAAO,CAAC,SAACC;mBAChBH,MAAMI,KAAK,CAAC,SAACC;gBACXC,IAAAA,2BAAc,EAACH,SAASN,gBAAgB,SAACU,MAAMC;oBAC7C,IAAMC,UAAUD,YAAYA,SAASb,MAAM,KAAK,IAAIa,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACC,SAAS;wBACZV,QAAQW,IAAI,CAAC;4BAAED,SAAAA;4BAASrB,SAAAA;4BAASe,SAAAA;4BAASQ,OAAO,IAAIf,MAAM,AAAC,0CAA6DgB,OAApBT,SAAQ,cAAqC,OAAzBS,KAAKC,SAAS,CAACL;4BAAcM,QAAQ;wBAAK;wBACnK,OAAOvB;oBACT;oBAEA,IAAMwB,OAAO,SAACtB,KAAKuB;wBACjB,IAAIvB,OAAOA,IAAIwB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMvB;4BACNA,MAAM;wBACR;wBACAM,QAAQW,IAAI,CAAC;4BAAED,SAAAA;4BAASrB,SAAAA;4BAASe,SAAAA;4BAASQ,OAAOlB;4BAAKqB,QAAQE;wBAAI;wBAClEX;oBACF;oBAEA,IAAIX,SAASC,MAAM,GAAG,GAAG,OAAOwB,IAAAA,qBAAK,EAAC/B,SAASC,MAAM+B,IAAAA,8BAAY,EAACX,QAAQY,WAAW,EAAE/B,UAAUyB;oBACjGO,IAAAA,uBAAc,EAAClC,SAASC,MAAM+B,IAAAA,8BAAY,EAACX,QAAQY,WAAW,EAAE/B,UAAU;wBAAEiC,QAAQd,QAAQN,OAAO;oBAAC,GAAGY;gBACzG;YACF;;QAEFf,MAAMwB,KAAK,CAAC,SAAC/B;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMQ;QACvC;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-use",
3
- "version": "1.4.9",
3
+ "version": "1.5.0",
4
4
  "description": "Cross-platform solution for using multiple versions of node. Useful for compatibility testing",
5
5
  "keywords": [
6
6
  "node",
@@ -35,12 +35,13 @@
35
35
  "dependencies": {
36
36
  "cross-spawn-cb": "^2.1.2",
37
37
  "exit": "^0.1.2",
38
- "getopts-compat": "^2.2.5",
38
+ "getopts-compat": "^2.2.6",
39
39
  "homedir-polyfill": "^1.0.3",
40
40
  "node-resolve-versions": "^1.0.10",
41
41
  "node-version-install": "^1.1.1",
42
42
  "node-version-utils": "^1.2.4",
43
- "queue-cb": "^1.4.10"
43
+ "queue-cb": "^1.4.10",
44
+ "spawn-streaming": "^1.0.1"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@biomejs/biome": "^1.9.4",