node-version-use 1.7.12 → 1.7.13

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.js CHANGED
@@ -105,7 +105,7 @@ var _default = function(argv, name) {
105
105
  if (!_spawnterm.default) {
106
106
  console.log('\n======================');
107
107
  results.forEach(function(res) {
108
- return console.log("".concat(res.error ? _spawnterm.figures.cross : _spawnterm.figures.tick, " ").concat(res.version).concat(res.error ? " Error: ".concat(res.error.message) : ''));
108
+ console.log("".concat(res.error ? _spawnterm.figures.cross : _spawnterm.figures.tick, " ").concat(res.version).concat(res.error ? " Error: ".concat(res.error.message) : ''));
109
109
  });
110
110
  }
111
111
  console.log('\n----------------------');
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport spawnTerm, { figures, formatArguments } from 'spawn-term';\nimport run from './index.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst ERROR_CODE = 13;\n\nexport default (argv: string[], name: string): undefined => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', streaming: 's', silent: 'si' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc', 'expanded', 'streaming'],\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 = options._;\n if (args.length === 0) {\n console.log(`Missing version expression. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n return run(args[0], args[1], args.slice(2), options as unknown as UseOptions, (err: UseError, results: UseResult[]): undefined => {\n if (err && !err.results) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n if (!spawnTerm) {\n console.log('\\n======================');\n results.forEach((res) => console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));\n }\n console.log('\\n----------------------');\n console.log(`${name} ${formatArguments(args).join(' ')}`);\n console.log(`${figures.tick} ${results.length - errors.length} succeeded`);\n if (errors.length) console.log(`${figures.cross} ${errors.length} failed`);\n }\n exit(err || errors.length ? ERROR_CODE : 0);\n });\n};\n"],"names":["ERROR_CODE","argv","name","options","getopts","alias","range","desc","expanded","streaming","silent","default","boolean","stopEarly","sort","args","_","length","console","log","exit","stdio","run","slice","err","results","message","errors","filter","result","error","spawnTerm","forEach","res","figures","cross","tick","version","formatArguments","join"],"mappings":";;;;+BAQA;;;eAAA;;;2DARiB;oEACG;iEACgC;8DACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGhB,IAAMA,aAAa;IAEnB,WAAe,SAACC,MAAgBC;IAC9B,IAAMC,UAAUC,IAAAA,sBAAO,EAACH,MAAM;QAC5BI,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,WAAW;YAAKC,QAAQ;QAAK;QAC5EC,SAAS;YAAEL,OAAO;QAAa;QAC/BM,SAAS;YAAC;YAAU;YAAQ;YAAY;SAAY;QACpDC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DV,QAAQW,IAAI,GAAGX,QAAQI,IAAI,GAAG,CAAC,IAAI;IAEnC,IAAMQ,OAAOZ,QAAQa,CAAC;IACtB,IAAID,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,AAAC,8CAAkD,OAALjB,MAAK;QAC/D,OAAOkB,IAAAA,aAAI,EAACpB;IACd;IACA,IAAIe,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,AAAC,mCAAuC,OAALjB,MAAK;QACpD,OAAOkB,IAAAA,aAAI,EAACpB;IACd;IAEAG,QAAQkB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOC,IAAAA,gBAAG,EAACP,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKQ,KAAK,CAAC,IAAIpB,SAAkC,SAACqB,KAAeC;QAC5F,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBP,QAAQC,GAAG,CAACK,IAAIE,OAAO;YACvB,OAAON,IAAAA,aAAI,EAACpB;QACd;QACA,IAAIwB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,IAAME,SAASF,QAAQG,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC3B,QAAQO,MAAM,EAAE;YACnB,IAAI,CAACqB,kBAAS,EAAE;gBACdb,QAAQC,GAAG,CAAC;gBACZM,QAAQO,OAAO,CAAC,SAACC;2BAAQf,QAAQC,GAAG,CAAC,AAAC,GAA8Cc,OAA5CA,IAAIH,KAAK,GAAGI,kBAAO,CAACC,KAAK,GAAGD,kBAAO,CAACE,IAAI,EAAC,KAAiBH,OAAdA,IAAII,OAAO,EAAmD,OAAhDJ,IAAIH,KAAK,GAAG,AAAC,WAA4B,OAAlBG,IAAIH,KAAK,CAACJ,OAAO,IAAK;;YACjJ;YACAR,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,AAAC,GAAUmB,OAARpC,MAAK,KAAmC,OAAhCoC,IAAAA,0BAAe,EAACvB,MAAMwB,IAAI,CAAC;YAClDrB,QAAQC,GAAG,CAAC,AAAC,GAAkBM,OAAhBS,kBAAO,CAACE,IAAI,EAAC,KAAkC,OAA/BX,QAAQR,MAAM,GAAGU,OAAOV,MAAM,EAAC;YAC9D,IAAIU,OAAOV,MAAM,EAAEC,QAAQC,GAAG,CAAC,AAAC,GAAmBQ,OAAjBO,kBAAO,CAACC,KAAK,EAAC,KAAiB,OAAdR,OAAOV,MAAM,EAAC;QACnE;QACAG,IAAAA,aAAI,EAACI,OAAOG,OAAOV,MAAM,GAAGjB,aAAa;IAC3C;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport spawnTerm, { figures, formatArguments } from 'spawn-term';\nimport run from './index.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst ERROR_CODE = 13;\n\nexport default (argv: string[], name: string): undefined => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', streaming: 's', silent: 'si' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc', 'expanded', 'streaming'],\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 = options._;\n if (args.length === 0) {\n console.log(`Missing version expression. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n return run(args[0], args[1], args.slice(2), options as unknown as UseOptions, (err: UseError, results: UseResult[]): undefined => {\n if (err && !err.results) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n if (!spawnTerm) {\n console.log('\\n======================');\n results.forEach((res) => {\n console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`);\n });\n }\n console.log('\\n----------------------');\n console.log(`${name} ${formatArguments(args).join(' ')}`);\n console.log(`${figures.tick} ${results.length - errors.length} succeeded`);\n if (errors.length) console.log(`${figures.cross} ${errors.length} failed`);\n }\n exit(err || errors.length ? ERROR_CODE : 0);\n });\n};\n"],"names":["ERROR_CODE","argv","name","options","getopts","alias","range","desc","expanded","streaming","silent","default","boolean","stopEarly","sort","args","_","length","console","log","exit","stdio","run","slice","err","results","message","errors","filter","result","error","spawnTerm","forEach","res","figures","cross","tick","version","formatArguments","join"],"mappings":";;;;+BAQA;;;eAAA;;;2DARiB;oEACG;iEACgC;8DACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGhB,IAAMA,aAAa;IAEnB,WAAe,SAACC,MAAgBC;IAC9B,IAAMC,UAAUC,IAAAA,sBAAO,EAACH,MAAM;QAC5BI,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,WAAW;YAAKC,QAAQ;QAAK;QAC5EC,SAAS;YAAEL,OAAO;QAAa;QAC/BM,SAAS;YAAC;YAAU;YAAQ;YAAY;SAAY;QACpDC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DV,QAAQW,IAAI,GAAGX,QAAQI,IAAI,GAAG,CAAC,IAAI;IAEnC,IAAMQ,OAAOZ,QAAQa,CAAC;IACtB,IAAID,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,AAAC,8CAAkD,OAALjB,MAAK;QAC/D,OAAOkB,IAAAA,aAAI,EAACpB;IACd;IACA,IAAIe,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,AAAC,mCAAuC,OAALjB,MAAK;QACpD,OAAOkB,IAAAA,aAAI,EAACpB;IACd;IAEAG,QAAQkB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOC,IAAAA,gBAAG,EAACP,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKQ,KAAK,CAAC,IAAIpB,SAAkC,SAACqB,KAAeC;QAC5F,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBP,QAAQC,GAAG,CAACK,IAAIE,OAAO;YACvB,OAAON,IAAAA,aAAI,EAACpB;QACd;QACA,IAAIwB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,IAAME,SAASF,QAAQG,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC3B,QAAQO,MAAM,EAAE;YACnB,IAAI,CAACqB,kBAAS,EAAE;gBACdb,QAAQC,GAAG,CAAC;gBACZM,QAAQO,OAAO,CAAC,SAACC;oBACff,QAAQC,GAAG,CAAC,AAAC,GAA8Cc,OAA5CA,IAAIH,KAAK,GAAGI,kBAAO,CAACC,KAAK,GAAGD,kBAAO,CAACE,IAAI,EAAC,KAAiBH,OAAdA,IAAII,OAAO,EAAmD,OAAhDJ,IAAIH,KAAK,GAAG,AAAC,WAA4B,OAAlBG,IAAIH,KAAK,CAACJ,OAAO,IAAK;gBACxH;YACF;YACAR,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,AAAC,GAAUmB,OAARpC,MAAK,KAAmC,OAAhCoC,IAAAA,0BAAe,EAACvB,MAAMwB,IAAI,CAAC;YAClDrB,QAAQC,GAAG,CAAC,AAAC,GAAkBM,OAAhBS,kBAAO,CAACE,IAAI,EAAC,KAAkC,OAA/BX,QAAQR,MAAM,GAAGU,OAAOV,MAAM,EAAC;YAC9D,IAAIU,OAAOV,MAAM,EAAEC,QAAQC,GAAG,CAAC,AAAC,GAAmBQ,OAAjBO,kBAAO,CAACC,KAAK,EAAC,KAAiB,OAAdR,OAAOV,MAAM,EAAC;QACnE;QACAG,IAAAA,aAAI,EAACI,OAAOG,OAAOV,MAAM,GAAGjB,aAAa;IAC3C;AACF"}
@@ -1,5 +1,5 @@
1
- import type { UseCallback, UseOptions, UseResult } from './types.ts';
2
- export type * from './types.ts';
1
+ import type { UseCallback, UseOptions, UseResult } from './types.js';
2
+ export type * from './types.js';
3
3
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[]): Promise<UseResult[]>;
4
4
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], options: UseOptions): Promise<UseResult[]>;
5
5
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], callback: UseCallback): undefined;
@@ -1,5 +1,5 @@
1
- import type { UseCallback, UseOptions, UseResult } from './types.ts';
2
- export type * from './types.ts';
1
+ import type { UseCallback, UseOptions, UseResult } from './types.js';
2
+ export type * from './types.js';
3
3
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[]): Promise<UseResult[]>;
4
4
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], options: UseOptions): Promise<UseResult[]>;
5
5
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], callback: UseCallback): undefined;
@@ -1,2 +1,2 @@
1
- import type { UseCallback, UseOptions } from './types.ts';
1
+ import type { UseCallback, UseOptions } from './types.js';
2
2
  export default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined;
@@ -1,2 +1,2 @@
1
- import type { UseCallback, UseOptions } from './types.ts';
1
+ import type { UseCallback, UseOptions } from './types.js';
2
2
  export default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined;
@@ -66,7 +66,7 @@ function worker(versionExpression, command, args, options, callback) {
66
66
  var results = [];
67
67
  var queue = new _queuecb.default(1);
68
68
  versions.forEach(function(version) {
69
- return queue.defer(function(cb) {
69
+ queue.defer(function(cb) {
70
70
  (0, _nodeversioninstall.default)(version, installOptions, function(_err, installs) {
71
71
  var next = function next(err, res) {
72
72
  if (err && err.message.indexOf('ExperimentalWarning') >= 0) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn, { type SpawnOptions } from 'cross-spawn-cb';\nimport resolveVersions, { type VersionOptions } from 'node-resolve-versions';\nimport installVersion, { type InstallOptions } from 'node-version-install';\nimport { spawnOptions as createSpawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport spawnStreaming from 'spawn-streaming';\nimport spawnTerm from 'spawn-term';\nimport { storagePath } from './constants.ts';\n\nimport type { Options, UseCallback, UseOptions, UseResult } from './types.ts';\n\nexport default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined {\n resolveVersions(versionExpression, options as VersionOptions, (err?: Error, versions?: string[]) => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const installOptions = { storagePath, ...options } as InstallOptions;\n const streamingOptions = options as Options;\n const results: UseResult[] = [];\n const queue = new Queue(1);\n versions.forEach((version: string) =>\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 const spawnOptions = createSpawnOptions(install.installPath, options as SpawnOptions);\n const prefix = install.version;\n\n function next(err?, res?): undefined {\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, next);\n if (spawnTerm && !streamingOptions.streaming) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: streamingOptions.expanded }, next);\n else spawnStreaming(command, args, spawnOptions, { prefix }, 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","streamingOptions","results","queue","Queue","forEach","version","defer","cb","installVersion","_err","installs","next","res","message","indexOf","push","install","error","result","JSON","stringify","spawnOptions","createSpawnOptions","installPath","prefix","spawn","spawnTerm","streaming","group","expanded","spawnStreaming","await"],"mappings":";;;;+BAWA;;;eAAwBA;;;mEAXiB;0EACY;yEACD;gCACD;8DACjC;qEACS;gEACL;2BACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIb,SAASA,OAAOC,iBAAyB,EAAEC,OAAe,EAAEC,IAAc,EAAEC,OAAmB,EAAEC,QAAqB;IACnIC,IAAAA,4BAAe,EAACL,mBAAmBG,SAA2B,SAACG,KAAaC;QAC1E,IAAID,KAAK;YACPF,SAASE;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBT;YACzD;QACF;QAEA,IAAMU,iBAAiB;YAAEC,aAAAA,wBAAW;WAAKR;QACzC,IAAMS,mBAAmBT;QACzB,IAAMU,UAAuB,EAAE;QAC/B,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;QACxBR,SAASS,OAAO,CAAC,SAACC;mBAChBH,MAAMI,KAAK,CAAC,SAACC;gBACXC,IAAAA,2BAAc,EAACH,SAASP,gBAAgB,SAACW,MAAMC;wBASpCC,OAAT,SAASA,KAAKjB,GAAI,EAAEkB,GAAI;wBACtB,IAAIlB,OAAOA,IAAImB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMlB;4BACNA,MAAM;wBACR;wBACAO,QAAQc,IAAI,CAAC;4BAAEC,SAAAA;4BAAS3B,SAAAA;4BAASgB,SAAAA;4BAASY,OAAOvB;4BAAKwB,QAAQN;wBAAI;wBAClEL;oBACF;oBAfA,IAAMS,UAAUN,YAAYA,SAASd,MAAM,KAAK,IAAIc,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACM,SAAS;wBACZf,QAAQc,IAAI,CAAC;4BAAEC,SAAAA;4BAAS3B,SAAAA;4BAASgB,SAAAA;4BAASY,OAAO,IAAIpB,MAAM,AAAC,0CAA6DsB,OAApBd,SAAQ,cAAqC,OAAzBc,KAAKC,SAAS,CAACV;4BAAcQ,QAAQ;wBAAK;wBACnK,OAAO1B;oBACT;oBACA,IAAM6B,eAAeC,IAAAA,8BAAkB,EAACN,QAAQO,WAAW,EAAEhC;oBAC7D,IAAMiC,SAASR,QAAQX,OAAO;oBAW9B,IAAIV,SAASC,MAAM,GAAG,GAAG,OAAO6B,IAAAA,qBAAK,EAACpC,SAASC,MAAM+B,cAAcV;oBACnE,IAAIe,kBAAS,IAAI,CAAC1B,iBAAiB2B,SAAS,EAAED,IAAAA,kBAAS,EAACrC,SAASC,MAAM+B,cAAc;wBAAEO,OAAOJ;wBAAQK,UAAU7B,iBAAiB6B,QAAQ;oBAAC,GAAGlB;yBACxImB,IAAAA,uBAAc,EAACzC,SAASC,MAAM+B,cAAc;wBAAEG,QAAAA;oBAAO,GAAGb;gBAC/D;YACF;;QAEFT,MAAM6B,KAAK,CAAC,SAACrC;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMS;QACvC;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn, { type SpawnOptions } from 'cross-spawn-cb';\nimport resolveVersions, { type VersionOptions } from 'node-resolve-versions';\nimport installVersion, { type InstallOptions } from 'node-version-install';\nimport { spawnOptions as createSpawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport spawnStreaming from 'spawn-streaming';\nimport spawnTerm from 'spawn-term';\nimport { storagePath } from './constants.ts';\n\nimport type { Options, UseCallback, UseOptions, UseResult } from './types.ts';\n\nexport default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined {\n resolveVersions(versionExpression, options as VersionOptions, (err?: Error, versions?: string[]) => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const installOptions = { storagePath, ...options } as InstallOptions;\n const streamingOptions = options as Options;\n const results: UseResult[] = [];\n const queue = new Queue(1);\n versions.forEach((version: string) => {\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 const spawnOptions = createSpawnOptions(install.installPath, options as SpawnOptions);\n const prefix = install.version;\n\n function next(err?, res?): undefined {\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, next);\n if (spawnTerm && !streamingOptions.streaming) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: streamingOptions.expanded }, next);\n else spawnStreaming(command, args, spawnOptions, { prefix }, 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","streamingOptions","results","queue","Queue","forEach","version","defer","cb","installVersion","_err","installs","next","res","message","indexOf","push","install","error","result","JSON","stringify","spawnOptions","createSpawnOptions","installPath","prefix","spawn","spawnTerm","streaming","group","expanded","spawnStreaming","await"],"mappings":";;;;+BAWA;;;eAAwBA;;;mEAXiB;0EACY;yEACD;gCACD;8DACjC;qEACS;gEACL;2BACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIb,SAASA,OAAOC,iBAAyB,EAAEC,OAAe,EAAEC,IAAc,EAAEC,OAAmB,EAAEC,QAAqB;IACnIC,IAAAA,4BAAe,EAACL,mBAAmBG,SAA2B,SAACG,KAAaC;QAC1E,IAAID,KAAK;YACPF,SAASE;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBT;YACzD;QACF;QAEA,IAAMU,iBAAiB;YAAEC,aAAAA,wBAAW;WAAKR;QACzC,IAAMS,mBAAmBT;QACzB,IAAMU,UAAuB,EAAE;QAC/B,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;QACxBR,SAASS,OAAO,CAAC,SAACC;YAChBH,MAAMI,KAAK,CAAC,SAACC;gBACXC,IAAAA,2BAAc,EAACH,SAASP,gBAAgB,SAACW,MAAMC;wBASpCC,OAAT,SAASA,KAAKjB,GAAI,EAAEkB,GAAI;wBACtB,IAAIlB,OAAOA,IAAImB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMlB;4BACNA,MAAM;wBACR;wBACAO,QAAQc,IAAI,CAAC;4BAAEC,SAAAA;4BAAS3B,SAAAA;4BAASgB,SAAAA;4BAASY,OAAOvB;4BAAKwB,QAAQN;wBAAI;wBAClEL;oBACF;oBAfA,IAAMS,UAAUN,YAAYA,SAASd,MAAM,KAAK,IAAIc,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACM,SAAS;wBACZf,QAAQc,IAAI,CAAC;4BAAEC,SAAAA;4BAAS3B,SAAAA;4BAASgB,SAAAA;4BAASY,OAAO,IAAIpB,MAAM,AAAC,0CAA6DsB,OAApBd,SAAQ,cAAqC,OAAzBc,KAAKC,SAAS,CAACV;4BAAcQ,QAAQ;wBAAK;wBACnK,OAAO1B;oBACT;oBACA,IAAM6B,eAAeC,IAAAA,8BAAkB,EAACN,QAAQO,WAAW,EAAEhC;oBAC7D,IAAMiC,SAASR,QAAQX,OAAO;oBAW9B,IAAIV,SAASC,MAAM,GAAG,GAAG,OAAO6B,IAAAA,qBAAK,EAACpC,SAASC,MAAM+B,cAAcV;oBACnE,IAAIe,kBAAS,IAAI,CAAC1B,iBAAiB2B,SAAS,EAAED,IAAAA,kBAAS,EAACrC,SAASC,MAAM+B,cAAc;wBAAEO,OAAOJ;wBAAQK,UAAU7B,iBAAiB6B,QAAQ;oBAAC,GAAGlB;yBACxImB,IAAAA,uBAAc,EAACzC,SAASC,MAAM+B,cAAc;wBAAEG,QAAAA;oBAAO,GAAGb;gBAC/D;YACF;QACF;QACAT,MAAM6B,KAAK,CAAC,SAACrC;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMS;QACvC;IACF;AACF"}
package/dist/esm/cli.js CHANGED
@@ -46,7 +46,9 @@ export default ((argv, name)=>{
46
46
  if (!options.silent) {
47
47
  if (!spawnTerm) {
48
48
  console.log('\n======================');
49
- results.forEach((res)=>console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));
49
+ results.forEach((res)=>{
50
+ console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`);
51
+ });
50
52
  }
51
53
  console.log('\n----------------------');
52
54
  console.log(`${name} ${formatArguments(args).join(' ')}`);
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport spawnTerm, { figures, formatArguments } from 'spawn-term';\nimport run from './index.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst ERROR_CODE = 13;\n\nexport default (argv: string[], name: string): undefined => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', streaming: 's', silent: 'si' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc', 'expanded', 'streaming'],\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 = options._;\n if (args.length === 0) {\n console.log(`Missing version expression. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n return run(args[0], args[1], args.slice(2), options as unknown as UseOptions, (err: UseError, results: UseResult[]): undefined => {\n if (err && !err.results) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n if (!spawnTerm) {\n console.log('\\n======================');\n results.forEach((res) => console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));\n }\n console.log('\\n----------------------');\n console.log(`${name} ${formatArguments(args).join(' ')}`);\n console.log(`${figures.tick} ${results.length - errors.length} succeeded`);\n if (errors.length) console.log(`${figures.cross} ${errors.length} failed`);\n }\n exit(err || errors.length ? ERROR_CODE : 0);\n });\n};\n"],"names":["exit","getopts","spawnTerm","figures","formatArguments","run","ERROR_CODE","argv","name","options","alias","range","desc","expanded","streaming","silent","default","boolean","stopEarly","sort","args","_","length","console","log","stdio","slice","err","results","message","errors","filter","result","error","forEach","res","cross","tick","version","join"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAaC,OAAO,EAAEC,eAAe,QAAQ,aAAa;AACjE,OAAOC,SAAS,aAAa;AAG7B,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC,MAAgBC;IAC9B,MAAMC,UAAUR,QAAQM,MAAM;QAC5BG,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,WAAW;YAAKC,QAAQ;QAAK;QAC5EC,SAAS;YAAEL,OAAO;QAAa;QAC/BM,SAAS;YAAC;YAAU;YAAQ;YAAY;SAAY;QACpDC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DT,QAAQU,IAAI,GAAGV,QAAQG,IAAI,GAAG,CAAC,IAAI;IAEnC,MAAMQ,OAAOX,QAAQY,CAAC;IACtB,IAAID,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,CAAC,2CAA2C,EAAEhB,KAAK,0BAA0B,CAAC;QAC1F,OAAOR,KAAKM;IACd;IACA,IAAIc,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,CAAC,gCAAgC,EAAEhB,KAAK,0BAA0B,CAAC;QAC/E,OAAOR,KAAKM;IACd;IAEAG,QAAQgB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOpB,IAAIe,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKM,KAAK,CAAC,IAAIjB,SAAkC,CAACkB,KAAeC;QAC5F,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBL,QAAQC,GAAG,CAACG,IAAIE,OAAO;YACvB,OAAO7B,KAAKM;QACd;QACA,IAAIqB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,MAAME,SAASF,QAAQG,MAAM,CAAC,CAACC,SAAW,CAAC,CAACA,OAAOC,KAAK;QAExD,IAAI,CAACxB,QAAQM,MAAM,EAAE;YACnB,IAAI,CAACb,WAAW;gBACdqB,QAAQC,GAAG,CAAC;gBACZI,QAAQM,OAAO,CAAC,CAACC,MAAQZ,QAAQC,GAAG,CAAC,GAAGW,IAAIF,KAAK,GAAG9B,QAAQiC,KAAK,GAAGjC,QAAQkC,IAAI,CAAC,CAAC,EAAEF,IAAIG,OAAO,GAAGH,IAAIF,KAAK,GAAG,CAAC,QAAQ,EAAEE,IAAIF,KAAK,CAACJ,OAAO,EAAE,GAAG,IAAI;YACrJ;YACAN,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,GAAGhB,KAAK,CAAC,EAAEJ,gBAAgBgB,MAAMmB,IAAI,CAAC,MAAM;YACxDhB,QAAQC,GAAG,CAAC,GAAGrB,QAAQkC,IAAI,CAAC,CAAC,EAAET,QAAQN,MAAM,GAAGQ,OAAOR,MAAM,CAAC,UAAU,CAAC;YACzE,IAAIQ,OAAOR,MAAM,EAAEC,QAAQC,GAAG,CAAC,GAAGrB,QAAQiC,KAAK,CAAC,CAAC,EAAEN,OAAOR,MAAM,CAAC,OAAO,CAAC;QAC3E;QACAtB,KAAK2B,OAAOG,OAAOR,MAAM,GAAGhB,aAAa;IAC3C;AACF,CAAA,EAAE"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport spawnTerm, { figures, formatArguments } from 'spawn-term';\nimport run from './index.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst ERROR_CODE = 13;\n\nexport default (argv: string[], name: string): undefined => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', streaming: 's', silent: 'si' },\n default: { range: 'major,even' },\n boolean: ['silent', 'desc', 'expanded', 'streaming'],\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 = options._;\n if (args.length === 0) {\n console.log(`Missing version expression. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n return exit(ERROR_CODE);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n return run(args[0], args[1], args.slice(2), options as unknown as UseOptions, (err: UseError, results: UseResult[]): undefined => {\n if (err && !err.results) {\n console.log(err.message);\n return exit(ERROR_CODE);\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n if (!spawnTerm) {\n console.log('\\n======================');\n results.forEach((res) => {\n console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`);\n });\n }\n console.log('\\n----------------------');\n console.log(`${name} ${formatArguments(args).join(' ')}`);\n console.log(`${figures.tick} ${results.length - errors.length} succeeded`);\n if (errors.length) console.log(`${figures.cross} ${errors.length} failed`);\n }\n exit(err || errors.length ? ERROR_CODE : 0);\n });\n};\n"],"names":["exit","getopts","spawnTerm","figures","formatArguments","run","ERROR_CODE","argv","name","options","alias","range","desc","expanded","streaming","silent","default","boolean","stopEarly","sort","args","_","length","console","log","stdio","slice","err","results","message","errors","filter","result","error","forEach","res","cross","tick","version","join"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAaC,OAAO,EAAEC,eAAe,QAAQ,aAAa;AACjE,OAAOC,SAAS,aAAa;AAG7B,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC,MAAgBC;IAC9B,MAAMC,UAAUR,QAAQM,MAAM;QAC5BG,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,WAAW;YAAKC,QAAQ;QAAK;QAC5EC,SAAS;YAAEL,OAAO;QAAa;QAC/BM,SAAS;YAAC;YAAU;YAAQ;YAAY;SAAY;QACpDC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DT,QAAQU,IAAI,GAAGV,QAAQG,IAAI,GAAG,CAAC,IAAI;IAEnC,MAAMQ,OAAOX,QAAQY,CAAC;IACtB,IAAID,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,CAAC,2CAA2C,EAAEhB,KAAK,0BAA0B,CAAC;QAC1F,OAAOR,KAAKM;IACd;IACA,IAAIc,KAAKE,MAAM,KAAK,GAAG;QACrBC,QAAQC,GAAG,CAAC,CAAC,gCAAgC,EAAEhB,KAAK,0BAA0B,CAAC;QAC/E,OAAOR,KAAKM;IACd;IAEAG,QAAQgB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOpB,IAAIe,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKM,KAAK,CAAC,IAAIjB,SAAkC,CAACkB,KAAeC;QAC5F,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBL,QAAQC,GAAG,CAACG,IAAIE,OAAO;YACvB,OAAO7B,KAAKM;QACd;QACA,IAAIqB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,MAAME,SAASF,QAAQG,MAAM,CAAC,CAACC,SAAW,CAAC,CAACA,OAAOC,KAAK;QAExD,IAAI,CAACxB,QAAQM,MAAM,EAAE;YACnB,IAAI,CAACb,WAAW;gBACdqB,QAAQC,GAAG,CAAC;gBACZI,QAAQM,OAAO,CAAC,CAACC;oBACfZ,QAAQC,GAAG,CAAC,GAAGW,IAAIF,KAAK,GAAG9B,QAAQiC,KAAK,GAAGjC,QAAQkC,IAAI,CAAC,CAAC,EAAEF,IAAIG,OAAO,GAAGH,IAAIF,KAAK,GAAG,CAAC,QAAQ,EAAEE,IAAIF,KAAK,CAACJ,OAAO,EAAE,GAAG,IAAI;gBAC5H;YACF;YACAN,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,GAAGhB,KAAK,CAAC,EAAEJ,gBAAgBgB,MAAMmB,IAAI,CAAC,MAAM;YACxDhB,QAAQC,GAAG,CAAC,GAAGrB,QAAQkC,IAAI,CAAC,CAAC,EAAET,QAAQN,MAAM,GAAGQ,OAAOR,MAAM,CAAC,UAAU,CAAC;YACzE,IAAIQ,OAAOR,MAAM,EAAEC,QAAQC,GAAG,CAAC,GAAGrB,QAAQiC,KAAK,CAAC,CAAC,EAAEN,OAAOR,MAAM,CAAC,OAAO,CAAC;QAC3E;QACAtB,KAAK2B,OAAOG,OAAOR,MAAM,GAAGhB,aAAa;IAC3C;AACF,CAAA,EAAE"}
@@ -1,5 +1,5 @@
1
- import type { UseCallback, UseOptions, UseResult } from './types.ts';
2
- export type * from './types.ts';
1
+ import type { UseCallback, UseOptions, UseResult } from './types.js';
2
+ export type * from './types.js';
3
3
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[]): Promise<UseResult[]>;
4
4
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], options: UseOptions): Promise<UseResult[]>;
5
5
  export default function nodeVersionUse(versionExpression: string, command: string, args: string[], callback: UseCallback): undefined;
@@ -1,2 +1,2 @@
1
- import type { UseCallback, UseOptions } from './types.ts';
1
+ import type { UseCallback, UseOptions } from './types.js';
2
2
  export default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined;
@@ -23,7 +23,8 @@ export default function worker(versionExpression, command, args, options, callba
23
23
  const streamingOptions = options;
24
24
  const results = [];
25
25
  const queue = new Queue(1);
26
- versions.forEach((version)=>queue.defer((cb)=>{
26
+ versions.forEach((version)=>{
27
+ queue.defer((cb)=>{
27
28
  installVersion(version, installOptions, (_err, installs)=>{
28
29
  const install = installs && installs.length === 1 ? installs[0] : null;
29
30
  if (!install) {
@@ -61,7 +62,8 @@ export default function worker(versionExpression, command, args, options, callba
61
62
  prefix
62
63
  }, next);
63
64
  });
64
- }));
65
+ });
66
+ });
65
67
  queue.await((err)=>{
66
68
  err ? callback(err) : callback(null, results);
67
69
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn, { type SpawnOptions } from 'cross-spawn-cb';\nimport resolveVersions, { type VersionOptions } from 'node-resolve-versions';\nimport installVersion, { type InstallOptions } from 'node-version-install';\nimport { spawnOptions as createSpawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport spawnStreaming from 'spawn-streaming';\nimport spawnTerm from 'spawn-term';\nimport { storagePath } from './constants.ts';\n\nimport type { Options, UseCallback, UseOptions, UseResult } from './types.ts';\n\nexport default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined {\n resolveVersions(versionExpression, options as VersionOptions, (err?: Error, versions?: string[]) => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const installOptions = { storagePath, ...options } as InstallOptions;\n const streamingOptions = options as Options;\n const results: UseResult[] = [];\n const queue = new Queue(1);\n versions.forEach((version: string) =>\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 const spawnOptions = createSpawnOptions(install.installPath, options as SpawnOptions);\n const prefix = install.version;\n\n function next(err?, res?): undefined {\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, next);\n if (spawnTerm && !streamingOptions.streaming) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: streamingOptions.expanded }, next);\n else spawnStreaming(command, args, spawnOptions, { prefix }, next);\n });\n })\n );\n queue.await((err) => {\n err ? callback(err) : callback(null, results);\n });\n });\n}\n"],"names":["spawn","resolveVersions","installVersion","spawnOptions","createSpawnOptions","Queue","spawnStreaming","spawnTerm","storagePath","worker","versionExpression","command","args","options","callback","err","versions","length","Error","installOptions","streamingOptions","results","queue","forEach","version","defer","cb","_err","installs","install","push","error","JSON","stringify","result","installPath","prefix","next","res","message","indexOf","streaming","group","expanded","await"],"mappings":"AAAA,OAAOA,WAAkC,iBAAiB;AAC1D,OAAOC,qBAA8C,wBAAwB;AAC7E,OAAOC,oBAA6C,uBAAuB;AAC3E,SAASC,gBAAgBC,kBAAkB,QAAQ,qBAAqB;AACxE,OAAOC,WAAW,WAAW;AAC7B,OAAOC,oBAAoB,kBAAkB;AAC7C,OAAOC,eAAe,aAAa;AACnC,SAASC,WAAW,QAAQ,iBAAiB;AAI7C,eAAe,SAASC,OAAOC,iBAAyB,EAAEC,OAAe,EAAEC,IAAc,EAAEC,OAAmB,EAAEC,QAAqB;IACnIb,gBAAgBS,mBAAmBG,SAA2B,CAACE,KAAaC;QAC1E,IAAID,KAAK;YACPD,SAASC;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBH,SAAS,IAAII,MAAM,CAAC,mCAAmC,EAAER,mBAAmB;YAC5E;QACF;QAEA,MAAMS,iBAAiB;YAAEX;YAAa,GAAGK,OAAO;QAAC;QACjD,MAAMO,mBAAmBP;QACzB,MAAMQ,UAAuB,EAAE;QAC/B,MAAMC,QAAQ,IAAIjB,MAAM;QACxBW,SAASO,OAAO,CAAC,CAACC,UAChBF,MAAMG,KAAK,CAAC,CAACC;gBACXxB,eAAesB,SAASL,gBAAgB,CAACQ,MAAMC;oBAC7C,MAAMC,UAAUD,YAAYA,SAASX,MAAM,KAAK,IAAIW,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACC,SAAS;wBACZR,QAAQS,IAAI,CAAC;4BAAED;4BAASlB;4BAASa;4BAASO,OAAO,IAAIb,MAAM,CAAC,uCAAuC,EAAEM,QAAQ,UAAU,EAAEQ,KAAKC,SAAS,CAACL,WAAW;4BAAGM,QAAQ;wBAAK;wBACnK,OAAOpB;oBACT;oBACA,MAAMX,eAAeC,mBAAmByB,QAAQM,WAAW,EAAEtB;oBAC7D,MAAMuB,SAASP,QAAQL,OAAO;oBAE9B,SAASa,KAAKtB,GAAI,EAAEuB,GAAI;wBACtB,IAAIvB,OAAOA,IAAIwB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMvB;4BACNA,MAAM;wBACR;wBACAM,QAAQS,IAAI,CAAC;4BAAED;4BAASlB;4BAASa;4BAASO,OAAOhB;4BAAKmB,QAAQI;wBAAI;wBAClEZ;oBACF;oBAEA,IAAIV,SAASC,MAAM,GAAG,GAAG,OAAOjB,MAAMW,SAASC,MAAMT,cAAckC;oBACnE,IAAI9B,aAAa,CAACa,iBAAiBqB,SAAS,EAAElC,UAAUI,SAASC,MAAMT,cAAc;wBAAEuC,OAAON;wBAAQO,UAAUvB,iBAAiBuB,QAAQ;oBAAC,GAAGN;yBACxI/B,eAAeK,SAASC,MAAMT,cAAc;wBAAEiC;oBAAO,GAAGC;gBAC/D;YACF;QAEFf,MAAMsB,KAAK,CAAC,CAAC7B;YACXA,MAAMD,SAASC,OAAOD,SAAS,MAAMO;QACvC;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn, { type SpawnOptions } from 'cross-spawn-cb';\nimport resolveVersions, { type VersionOptions } from 'node-resolve-versions';\nimport installVersion, { type InstallOptions } from 'node-version-install';\nimport { spawnOptions as createSpawnOptions } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport spawnStreaming from 'spawn-streaming';\nimport spawnTerm from 'spawn-term';\nimport { storagePath } from './constants.ts';\n\nimport type { Options, UseCallback, UseOptions, UseResult } from './types.ts';\n\nexport default function worker(versionExpression: string, command: string, args: string[], options: UseOptions, callback: UseCallback): undefined {\n resolveVersions(versionExpression, options as VersionOptions, (err?: Error, versions?: string[]) => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const installOptions = { storagePath, ...options } as InstallOptions;\n const streamingOptions = options as Options;\n const results: UseResult[] = [];\n const queue = new Queue(1);\n versions.forEach((version: string) => {\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 const spawnOptions = createSpawnOptions(install.installPath, options as SpawnOptions);\n const prefix = install.version;\n\n function next(err?, res?): undefined {\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, next);\n if (spawnTerm && !streamingOptions.streaming) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: streamingOptions.expanded }, next);\n else spawnStreaming(command, args, spawnOptions, { prefix }, next);\n });\n });\n });\n queue.await((err) => {\n err ? callback(err) : callback(null, results);\n });\n });\n}\n"],"names":["spawn","resolveVersions","installVersion","spawnOptions","createSpawnOptions","Queue","spawnStreaming","spawnTerm","storagePath","worker","versionExpression","command","args","options","callback","err","versions","length","Error","installOptions","streamingOptions","results","queue","forEach","version","defer","cb","_err","installs","install","push","error","JSON","stringify","result","installPath","prefix","next","res","message","indexOf","streaming","group","expanded","await"],"mappings":"AAAA,OAAOA,WAAkC,iBAAiB;AAC1D,OAAOC,qBAA8C,wBAAwB;AAC7E,OAAOC,oBAA6C,uBAAuB;AAC3E,SAASC,gBAAgBC,kBAAkB,QAAQ,qBAAqB;AACxE,OAAOC,WAAW,WAAW;AAC7B,OAAOC,oBAAoB,kBAAkB;AAC7C,OAAOC,eAAe,aAAa;AACnC,SAASC,WAAW,QAAQ,iBAAiB;AAI7C,eAAe,SAASC,OAAOC,iBAAyB,EAAEC,OAAe,EAAEC,IAAc,EAAEC,OAAmB,EAAEC,QAAqB;IACnIb,gBAAgBS,mBAAmBG,SAA2B,CAACE,KAAaC;QAC1E,IAAID,KAAK;YACPD,SAASC;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBH,SAAS,IAAII,MAAM,CAAC,mCAAmC,EAAER,mBAAmB;YAC5E;QACF;QAEA,MAAMS,iBAAiB;YAAEX;YAAa,GAAGK,OAAO;QAAC;QACjD,MAAMO,mBAAmBP;QACzB,MAAMQ,UAAuB,EAAE;QAC/B,MAAMC,QAAQ,IAAIjB,MAAM;QACxBW,SAASO,OAAO,CAAC,CAACC;YAChBF,MAAMG,KAAK,CAAC,CAACC;gBACXxB,eAAesB,SAASL,gBAAgB,CAACQ,MAAMC;oBAC7C,MAAMC,UAAUD,YAAYA,SAASX,MAAM,KAAK,IAAIW,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACC,SAAS;wBACZR,QAAQS,IAAI,CAAC;4BAAED;4BAASlB;4BAASa;4BAASO,OAAO,IAAIb,MAAM,CAAC,uCAAuC,EAAEM,QAAQ,UAAU,EAAEQ,KAAKC,SAAS,CAACL,WAAW;4BAAGM,QAAQ;wBAAK;wBACnK,OAAOpB;oBACT;oBACA,MAAMX,eAAeC,mBAAmByB,QAAQM,WAAW,EAAEtB;oBAC7D,MAAMuB,SAASP,QAAQL,OAAO;oBAE9B,SAASa,KAAKtB,GAAI,EAAEuB,GAAI;wBACtB,IAAIvB,OAAOA,IAAIwB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMvB;4BACNA,MAAM;wBACR;wBACAM,QAAQS,IAAI,CAAC;4BAAED;4BAASlB;4BAASa;4BAASO,OAAOhB;4BAAKmB,QAAQI;wBAAI;wBAClEZ;oBACF;oBAEA,IAAIV,SAASC,MAAM,GAAG,GAAG,OAAOjB,MAAMW,SAASC,MAAMT,cAAckC;oBACnE,IAAI9B,aAAa,CAACa,iBAAiBqB,SAAS,EAAElC,UAAUI,SAASC,MAAMT,cAAc;wBAAEuC,OAAON;wBAAQO,UAAUvB,iBAAiBuB,QAAQ;oBAAC,GAAGN;yBACxI/B,eAAeK,SAASC,MAAMT,cAAc;wBAAEiC;oBAAO,GAAGC;gBAC/D;YACF;QACF;QACAf,MAAMsB,KAAK,CAAC,CAAC7B;YACXA,MAAMD,SAASC,OAAOD,SAAS,MAAMO;QACvC;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-use",
3
- "version": "1.7.12",
3
+ "version": "1.7.13",
4
4
  "description": "Cross-platform solution for using multiple versions of node. Useful for compatibility testing",
5
5
  "keywords": [
6
6
  "node",