node-version-use 1.5.57 → 1.5.59

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
@@ -10,37 +10,78 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _exit = /*#__PURE__*/ _interop_require_default(require("exit"));
12
12
  var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
13
+ var _spawnterm = /*#__PURE__*/ _interop_require_wildcard(require("spawn-term"));
13
14
  var _index = /*#__PURE__*/ _interop_require_default(require("./index.cjs"));
14
15
  function _interop_require_default(obj) {
15
16
  return obj && obj.__esModule ? obj : {
16
17
  default: obj
17
18
  };
18
19
  }
19
- var figures = {
20
- tick: '✔',
21
- cross: '✘'
22
- };
20
+ function _getRequireWildcardCache(nodeInterop) {
21
+ if (typeof WeakMap !== "function") return null;
22
+ var cacheBabelInterop = new WeakMap();
23
+ var cacheNodeInterop = new WeakMap();
24
+ return (_getRequireWildcardCache = function(nodeInterop) {
25
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
26
+ })(nodeInterop);
27
+ }
28
+ function _interop_require_wildcard(obj, nodeInterop) {
29
+ if (!nodeInterop && obj && obj.__esModule) {
30
+ return obj;
31
+ }
32
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
33
+ return {
34
+ default: obj
35
+ };
36
+ }
37
+ var cache = _getRequireWildcardCache(nodeInterop);
38
+ if (cache && cache.has(obj)) {
39
+ return cache.get(obj);
40
+ }
41
+ var newObj = {
42
+ __proto__: null
43
+ };
44
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
+ for(var key in obj){
46
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
+ if (desc && (desc.get || desc.set)) {
49
+ Object.defineProperty(newObj, key, desc);
50
+ } else {
51
+ newObj[key] = obj[key];
52
+ }
53
+ }
54
+ }
55
+ newObj.default = obj;
56
+ if (cache) {
57
+ cache.set(obj, newObj);
58
+ }
59
+ return newObj;
60
+ }
23
61
  var ERROR_CODE = 13;
24
62
  var _default = function(argv, name) {
25
- var options = (0, _getoptscompat.default)(argv.slice(1), {
63
+ var options = (0, _getoptscompat.default)(argv, {
26
64
  alias: {
27
65
  range: 'r',
28
66
  desc: 'd',
67
+ expanded: 'e',
29
68
  silent: 's'
30
69
  },
31
70
  default: {
32
- range: 'major,even'
71
+ range: 'major,even',
72
+ expanded: false
33
73
  },
34
74
  boolean: [
35
75
  'silent',
36
- 'desc'
76
+ 'desc',
77
+ 'expanded'
37
78
  ],
38
79
  stopEarly: true
39
80
  });
40
81
  // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');
41
82
  // define.option('-s, --silent', 'suppress logging', false);
42
83
  options.sort = options.desc ? -1 : 1;
43
- var args = argv.slice(0, 1).concat(options._);
84
+ var args = options._;
44
85
  if (args.length < 1) {
45
86
  console.log("Missing command. Example usage: ".concat(name, " [version expression] [command]"));
46
87
  return (0, _exit.default)(ERROR_CODE);
@@ -56,16 +97,16 @@ var _default = function(argv, name) {
56
97
  return !!result.error;
57
98
  });
58
99
  if (!options.silent) {
59
- console.log('\n======================');
60
- results.forEach(function(res) {
61
- return console.log("".concat(res.error ? figures.cross : figures.tick, " ").concat(res.version).concat(res.error ? " Error: ".concat(res.error.message) : ''));
62
- });
100
+ if (!_spawnterm.default) {
101
+ console.log('\n======================');
102
+ results.forEach(function(res) {
103
+ return console.log("".concat(res.error ? _spawnterm.figures.cross : _spawnterm.figures.tick, " ").concat(res.version).concat(res.error ? " Error: ".concat(res.error.message) : ''));
104
+ });
105
+ }
63
106
  console.log('\n----------------------');
64
- console.log("".concat(name, " ").concat(args.map(function(x) {
65
- return x.indexOf(' ') >= 0 ? '"'.concat(x, '"') : x;
66
- }).join(' ')));
67
- console.log("".concat(figures.tick, " ").concat(results.length - errors.length, " succeeded"));
68
- if (errors.length) console.log("".concat(figures.cross, " ").concat(errors.length, " failed"));
107
+ console.log("".concat(name, " ").concat((0, _spawnterm.formatArguments)(args).join(' ')));
108
+ console.log("".concat(_spawnterm.figures.tick, " ").concat(results.length - errors.length, " succeeded"));
109
+ if (errors.length) console.log("".concat(_spawnterm.figures.cross, " ").concat(errors.length, " failed"));
69
110
  }
70
111
  (0, _exit.default)(err || errors.length ? ERROR_CODE : 0);
71
112
  });
@@ -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 run from './index.mjs';\n\nconst figures = {\n tick: '✔',\n cross: '✘',\n};\nconst ERROR_CODE = 13;\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(ERROR_CODE);\n }\n\n options.stdio = 'inherit'; // pass through stdio\n return run(args[0], args[1], args.slice(2), options, (err, results) => {\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 console.log('\\n======================');\n results.forEach((res) => console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));\n console.log('\\n----------------------');\n console.log(`${name} ${args.map((x) => (x.indexOf(' ') >= 0 ? `\"${x}\"` : x)).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":["figures","tick","cross","ERROR_CODE","argv","name","options","getopts","slice","alias","range","desc","silent","default","boolean","stopEarly","sort","args","concat","_","length","console","log","exit","stdio","run","err","results","message","errors","filter","result","error","forEach","res","version","map","x","indexOf","join"],"mappings":";;;;+BAUA;;;eAAA;;;2DAViB;oEACG;4DACJ;;;;;;AAEhB,IAAMA,UAAU;IACdC,MAAM;IACNC,OAAO;AACT;AACA,IAAMC,aAAa;IAEnB,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,EAACpB;IACd;IAEAG,QAAQkB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOC,IAAAA,cAAG,EAACR,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKT,KAAK,CAAC,IAAIF,SAAS,SAACoB,KAAKC;QACzD,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBN,QAAQC,GAAG,CAACI,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACpB;QACd;QACA,IAAIuB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,IAAME,SAASF,QAAQG,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC1B,QAAQM,MAAM,EAAE;YACnBS,QAAQC,GAAG,CAAC;YACZK,QAAQM,OAAO,CAAC,SAACC;uBAAQb,QAAQC,GAAG,CAAC,AAAC,GAA8CY,OAA5CA,IAAIF,KAAK,GAAGhC,QAAQE,KAAK,GAAGF,QAAQC,IAAI,EAAC,KAAiBiC,OAAdA,IAAIC,OAAO,EAAmD,OAAhDD,IAAIF,KAAK,GAAG,AAAC,WAA4B,OAAlBE,IAAIF,KAAK,CAACJ,OAAO,IAAK;;YAC/IP,QAAQC,GAAG,CAAC;YACZD,QAAQC,GAAG,CAAC,AAAC,GAAUL,OAARZ,MAAK,KAAmE,OAAhEY,KAAKmB,GAAG,CAAC,SAACC;uBAAOA,EAAEC,OAAO,CAAC,QAAQ,IAAI,AAAC,IAAK,OAAFD,GAAE,OAAKA;eAAIE,IAAI,CAAC;YAClFlB,QAAQC,GAAG,CAAC,AAAC,GAAkBK,OAAhB3B,QAAQC,IAAI,EAAC,KAAkC,OAA/B0B,QAAQP,MAAM,GAAGS,OAAOT,MAAM,EAAC;YAC9D,IAAIS,OAAOT,MAAM,EAAEC,QAAQC,GAAG,CAAC,AAAC,GAAmBO,OAAjB7B,QAAQE,KAAK,EAAC,KAAiB,OAAd2B,OAAOT,MAAM,EAAC;QACnE;QACAG,IAAAA,aAAI,EAACG,OAAOG,OAAOT,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.js';\n\nconst ERROR_CODE = 13;\n\nexport default (argv, name) => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', silent: 's' },\n default: { range: 'major,even', expanded: false },\n boolean: ['silent', 'desc', 'expanded'],\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 < 1) {\n console.log(`Missing command. Example usage: ${name} [version expression] [command]`);\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, (err, results) => {\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","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":";;;;+BAOA;;;eAAA;;;2DAPiB;oEACG;iEACgC;4DACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhB,IAAMA,aAAa;IAEnB,WAAe,SAACC,MAAMC;IACpB,IAAMC,UAAUC,IAAAA,sBAAO,EAACH,MAAM;QAC5BI,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,QAAQ;QAAI;QAC3DC,SAAS;YAAEJ,OAAO;YAAcE,UAAU;QAAM;QAChDG,SAAS;YAAC;YAAU;YAAQ;SAAW;QACvCC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DT,QAAQU,IAAI,GAAGV,QAAQI,IAAI,GAAG,CAAC,IAAI;IAEnC,IAAMO,OAAOX,QAAQY,CAAC;IACtB,IAAID,KAAKE,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC,AAAC,mCAAuC,OAALhB,MAAK;QACpD,OAAOiB,IAAAA,aAAI,EAACnB;IACd;IAEAG,QAAQiB,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOC,IAAAA,cAAG,EAACP,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKQ,KAAK,CAAC,IAAInB,SAAS,SAACoB,KAAKC;QACzD,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBP,QAAQC,GAAG,CAACK,IAAIE,OAAO;YACvB,OAAON,IAAAA,aAAI,EAACnB;QACd;QACA,IAAIuB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,IAAME,SAASF,QAAQG,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAC1B,QAAQM,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,OAARnC,MAAK,KAAmC,OAAhCmC,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,GAAGhB,aAAa;IAC3C;AACF"}
@@ -8,7 +8,13 @@ Object.defineProperty(exports, "storagePath", {
8
8
  return storagePath;
9
9
  }
10
10
  });
11
- var path = require('path');
12
- var home = require('homedir-polyfill')();
13
- var storagePath = path.join(home, '.nvu');
11
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
+ var _homedirpolyfill = /*#__PURE__*/ _interop_require_default(require("homedir-polyfill"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ var home = (0, _homedirpolyfill.default)();
19
+ var storagePath = _path.default.join(home, '.nvu');
14
20
  /* 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/node-version/node-version-use/src/constants.js"],"sourcesContent":["const path = require('path');\nconst home = require('homedir-polyfill')();\n\nexport const storagePath = path.join(home, '.nvu');\n"],"names":["storagePath","path","require","home","join"],"mappings":";;;;+BAGaA;;;eAAAA;;;AAHb,IAAMC,OAAOC,QAAQ;AACrB,IAAMC,OAAOD,QAAQ;AAEd,IAAMF,cAAcC,KAAKG,IAAI,CAACD,MAAM"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport homedir from 'homedir-polyfill';\n\nconst home = homedir();\nexport const storagePath = path.join(home, '.nvu');\n"],"names":["storagePath","home","homedir","path","join"],"mappings":";;;;+BAIaA;;;eAAAA;;;2DAJI;sEACG;;;;;;AAEpB,IAAMC,OAAOC,IAAAA,wBAAO;AACb,IAAMF,cAAcG,aAAI,CAACC,IAAI,CAACH,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/index.mjs"],"sourcesContent":["import worker from './worker';\n\nexport default function nodeVersionUse(versionExpression, command, args, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(versionExpression, command, args, options, callback);\n return new Promise((resolve, reject) => worker(versionExpression, command, args, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\n"],"names":["nodeVersionUse","versionExpression","command","args","options","callback","worker","Promise","resolve","reject","err","res"],"mappings":";;;;+BAEA;;;eAAwBA;;;6DAFL;;;;;;AAEJ,SAASA,eAAeC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxF,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,eAAM,EAACL,mBAAmBC,SAASC,MAAMC,SAASC;IAC7F,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,eAAM,EAACL,mBAAmBC,SAASC,MAAMC,SAAS,SAACM,KAAKC;mBAASD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACvI"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/index.ts"],"sourcesContent":["import worker from './worker';\n\nexport default function nodeVersionUse(versionExpression, command, args, options?, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(versionExpression, command, args, options, callback);\n return new Promise((resolve, reject) => worker(versionExpression, command, args, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\n"],"names":["nodeVersionUse","versionExpression","command","args","options","callback","worker","Promise","resolve","reject","err","res"],"mappings":";;;;+BAEA;;;eAAwBA;;;6DAFL;;;;;;AAEJ,SAASA,eAAeC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAQ,EAAEC,QAAS;IAC1F,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,eAAM,EAACL,mBAAmBC,SAASC,MAAMC,SAASC;IAC7F,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,eAAM,EAACL,mBAAmBC,SAASC,MAAMC,SAAS,SAACM,KAAKC;mBAASD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACvI"}
@@ -14,6 +14,7 @@ var _nodeversioninstall = /*#__PURE__*/ _interop_require_default(require("node-v
14
14
  var _nodeversionutils = require("node-version-utils");
15
15
  var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
16
16
  var _spawnstreaming = /*#__PURE__*/ _interop_require_default(require("spawn-streaming"));
17
+ var _spawnterm = /*#__PURE__*/ _interop_require_default(require("spawn-term"));
17
18
  var _constants = require("./constants.cjs");
18
19
  function _define_property(obj, key, value) {
19
20
  if (key in obj) {
@@ -71,6 +72,8 @@ function worker(versionExpression, command, args, options, callback) {
71
72
  });
72
73
  return callback();
73
74
  }
75
+ var spawnOptions = (0, _nodeversionutils.spawnOptions)(install.installPath, options);
76
+ var prefix = install.version;
74
77
  var next = function(err, res) {
75
78
  if (err && err.message.indexOf('ExperimentalWarning') >= 0) {
76
79
  res = err;
@@ -85,9 +88,13 @@ function worker(versionExpression, command, args, options, callback) {
85
88
  });
86
89
  cb();
87
90
  };
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
+ if (versions.length < 2) return (0, _crossspawncb.default)(command, args, spawnOptions, next);
92
+ if (_spawnterm.default) (0, _spawnterm.default)(command, args, spawnOptions, {
93
+ group: prefix,
94
+ expanded: options.expanded
95
+ }, next);
96
+ else (0, _spawnstreaming.default)(command, args, spawnOptions, {
97
+ prefix: prefix
91
98
  }, next);
92
99
  });
93
100
  });
@@ -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 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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport resolveVersions from 'node-resolve-versions';\nimport installVersion 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';\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 const spawnOptions = createSpawnOptions(install.installPath, options);\n const prefix = install.version;\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, next);\n if (spawnTerm) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: options.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","results","queue","Queue","forEach","version","defer","cb","installVersion","_err","installs","install","push","error","JSON","stringify","result","spawnOptions","createSpawnOptions","installPath","prefix","next","res","message","indexOf","spawn","spawnTerm","group","expanded","spawnStreaming","await"],"mappings":";;;;+BASA;;;eAAwBA;;;mEATN;0EACU;yEACD;gCACwB;8DACjC;qEACS;gEACL;yBACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;oBACA,IAAMwB,eAAeC,IAAAA,8BAAkB,EAACP,QAAQQ,WAAW,EAAE3B;oBAC7D,IAAM4B,SAAST,QAAQN,OAAO;oBAE9B,IAAMgB,OAAO,SAAC1B,KAAK2B;wBACjB,IAAI3B,OAAOA,IAAI4B,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAM3B;4BACNA,MAAM;wBACR;wBACAM,QAAQW,IAAI,CAAC;4BAAED,SAAAA;4BAASrB,SAAAA;4BAASe,SAAAA;4BAASQ,OAAOlB;4BAAKqB,QAAQM;wBAAI;wBAClEf;oBACF;oBAEA,IAAIX,SAASC,MAAM,GAAG,GAAG,OAAO4B,IAAAA,qBAAK,EAACnC,SAASC,MAAM0B,cAAcI;oBACnE,IAAIK,kBAAS,EAAEA,IAAAA,kBAAS,EAACpC,SAASC,MAAM0B,cAAc;wBAAEU,OAAOP;wBAAQQ,UAAUpC,QAAQoC,QAAQ;oBAAC,GAAGP;yBAChGQ,IAAAA,uBAAc,EAACvC,SAASC,MAAM0B,cAAc;wBAAEG,QAAAA;oBAAO,GAAGC;gBAC/D;YACF;;QAEFnB,MAAM4B,KAAK,CAAC,SAACnC;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMQ;QACvC;IACF;AACF"}
@@ -0,0 +1,53 @@
1
+ import exit from 'exit';
2
+ import getopts from 'getopts-compat';
3
+ import spawnTerm, { figures, formatArguments } from 'spawn-term';
4
+ import run from './index.mjs';
5
+ const ERROR_CODE = 13;
6
+ export default ((argv, name)=>{
7
+ const options = getopts(argv, {
8
+ alias: {
9
+ range: 'r',
10
+ desc: 'd',
11
+ expanded: 'e',
12
+ silent: 's'
13
+ },
14
+ default: {
15
+ range: 'major,even',
16
+ expanded: false
17
+ },
18
+ boolean: [
19
+ 'silent',
20
+ 'desc',
21
+ 'expanded'
22
+ ],
23
+ stopEarly: true
24
+ });
25
+ // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');
26
+ // define.option('-s, --silent', 'suppress logging', false);
27
+ options.sort = options.desc ? -1 : 1;
28
+ const args = options._;
29
+ if (args.length < 1) {
30
+ console.log(`Missing command. Example usage: ${name} [version expression] [command]`);
31
+ return exit(ERROR_CODE);
32
+ }
33
+ options.stdio = 'inherit'; // pass through stdio
34
+ return run(args[0], args[1], args.slice(2), options, (err, results)=>{
35
+ if (err && !err.results) {
36
+ console.log(err.message);
37
+ return exit(ERROR_CODE);
38
+ }
39
+ if (err) results = err.results;
40
+ const errors = results.filter((result)=>!!result.error);
41
+ if (!options.silent) {
42
+ if (!spawnTerm) {
43
+ console.log('\n======================');
44
+ results.forEach((res)=>console.log(`${res.error ? figures.cross : figures.tick} ${res.version}${res.error ? ` Error: ${res.error.message}` : ''}`));
45
+ }
46
+ console.log('\n----------------------');
47
+ console.log(`${name} ${formatArguments(args).join(' ')}`);
48
+ console.log(`${figures.tick} ${results.length - errors.length} succeeded`);
49
+ if (errors.length) console.log(`${figures.cross} ${errors.length} failed`);
50
+ }
51
+ exit(err || errors.length ? ERROR_CODE : 0);
52
+ });
53
+ });
@@ -0,0 +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.js';\n\nconst ERROR_CODE = 13;\n\nexport default (argv, name) => {\n const options = getopts(argv, {\n alias: { range: 'r', desc: 'd', expanded: 'e', silent: 's' },\n default: { range: 'major,even', expanded: false },\n boolean: ['silent', 'desc', 'expanded'],\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 < 1) {\n console.log(`Missing command. Example usage: ${name} [version expression] [command]`);\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, (err, results) => {\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","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;AAE7B,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC,MAAMC;IACpB,MAAMC,UAAUR,QAAQM,MAAM;QAC5BG,OAAO;YAAEC,OAAO;YAAKC,MAAM;YAAKC,UAAU;YAAKC,QAAQ;QAAI;QAC3DC,SAAS;YAAEJ,OAAO;YAAcE,UAAU;QAAM;QAChDG,SAAS;YAAC;YAAU;YAAQ;SAAW;QACvCC,WAAW;IACb;IAEA,4JAA4J;IAC5J,4DAA4D;IAC5DR,QAAQS,IAAI,GAAGT,QAAQG,IAAI,GAAG,CAAC,IAAI;IAEnC,MAAMO,OAAOV,QAAQW,CAAC;IACtB,IAAID,KAAKE,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC,CAAC,gCAAgC,EAAEf,KAAK,+BAA+B,CAAC;QACpF,OAAOR,KAAKM;IACd;IAEAG,QAAQe,KAAK,GAAG,WAAW,qBAAqB;IAChD,OAAOnB,IAAIc,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,EAAEA,KAAKM,KAAK,CAAC,IAAIhB,SAAS,CAACiB,KAAKC;QACzD,IAAID,OAAO,CAACA,IAAIC,OAAO,EAAE;YACvBL,QAAQC,GAAG,CAACG,IAAIE,OAAO;YACvB,OAAO5B,KAAKM;QACd;QACA,IAAIoB,KAAKC,UAAUD,IAAIC,OAAO;QAC9B,MAAME,SAASF,QAAQG,MAAM,CAAC,CAACC,SAAW,CAAC,CAACA,OAAOC,KAAK;QAExD,IAAI,CAACvB,QAAQK,MAAM,EAAE;YACnB,IAAI,CAACZ,WAAW;gBACdoB,QAAQC,GAAG,CAAC;gBACZI,QAAQM,OAAO,CAAC,CAACC,MAAQZ,QAAQC,GAAG,CAAC,GAAGW,IAAIF,KAAK,GAAG7B,QAAQgC,KAAK,GAAGhC,QAAQiC,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,GAAGf,KAAK,CAAC,EAAEJ,gBAAgBe,MAAMmB,IAAI,CAAC,MAAM;YACxDhB,QAAQC,GAAG,CAAC,GAAGpB,QAAQiC,IAAI,CAAC,CAAC,EAAET,QAAQN,MAAM,GAAGQ,OAAOR,MAAM,CAAC,UAAU,CAAC;YACzE,IAAIQ,OAAOR,MAAM,EAAEC,QAAQC,GAAG,CAAC,GAAGpB,QAAQgC,KAAK,CAAC,CAAC,EAAEN,OAAOR,MAAM,CAAC,OAAO,CAAC;QAC3E;QACArB,KAAK0B,OAAOG,OAAOR,MAAM,GAAGf,aAAa;IAC3C;AACF,CAAA,EAAE"}
@@ -0,0 +1,4 @@
1
+ import path from 'path';
2
+ import homedir from 'homedir-polyfill';
3
+ const home = homedir();
4
+ export const storagePath = path.join(home, '.nvu');
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport homedir from 'homedir-polyfill';\n\nconst home = homedir();\nexport const storagePath = path.join(home, '.nvu');\n"],"names":["path","homedir","home","storagePath","join"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,mBAAmB;AAEvC,MAAMC,OAAOD;AACb,OAAO,MAAME,cAAcH,KAAKI,IAAI,CAACF,MAAM,QAAQ"}
@@ -0,0 +1,10 @@
1
+ import worker from './worker.mjs';
2
+ export default function nodeVersionUse(versionExpression, command, args, options, callback) {
3
+ if (typeof options === 'function') {
4
+ callback = options;
5
+ options = {};
6
+ }
7
+ options = options || {};
8
+ if (typeof callback === 'function') return worker(versionExpression, command, args, options, callback);
9
+ return new Promise((resolve, reject)=>worker(versionExpression, command, args, options, (err, res)=>err ? reject(err) : resolve(res)));
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/index.ts"],"sourcesContent":["import worker from './worker';\n\nexport default function nodeVersionUse(versionExpression, command, args, options?, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(versionExpression, command, args, options, callback);\n return new Promise((resolve, reject) => worker(versionExpression, command, args, options, (err, res) => (err ? reject(err) : resolve(res))));\n}\n"],"names":["worker","nodeVersionUse","versionExpression","command","args","options","callback","Promise","resolve","reject","err","res"],"mappings":"AAAA,OAAOA,YAAY,WAAW;AAE9B,eAAe,SAASC,eAAeC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAQ,EAAEC,QAAS;IAC1F,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAON,OAAOE,mBAAmBC,SAASC,MAAMC,SAASC;IAC7F,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWT,OAAOE,mBAAmBC,SAASC,MAAMC,SAAS,CAACK,KAAKC,MAASD,MAAMD,OAAOC,OAAOF,QAAQG;AACvI"}
@@ -0,0 +1,62 @@
1
+ import spawn from 'cross-spawn-cb';
2
+ import resolveVersions from 'node-resolve-versions';
3
+ import installVersion from 'node-version-install';
4
+ import { spawnOptions as createSpawnOptions } from 'node-version-utils';
5
+ import Queue from 'queue-cb';
6
+ import spawnStreaming from 'spawn-streaming';
7
+ import spawnTerm from 'spawn-term';
8
+ import { storagePath } from './constants.mjs';
9
+ export default function worker(versionExpression, command, args, options, callback) {
10
+ resolveVersions(versionExpression, options, (err, versions)=>{
11
+ if (err) return callback(err);
12
+ if (!versions.length) return callback(new Error(`No versions found from expression: ${versionExpression}`));
13
+ const installOptions = {
14
+ storagePath,
15
+ ...options
16
+ };
17
+ const results = [];
18
+ const queue = new Queue(1);
19
+ versions.forEach((version)=>queue.defer((cb)=>{
20
+ installVersion(version, installOptions, (_err, installs)=>{
21
+ const install = installs && installs.length === 1 ? installs[0] : null;
22
+ if (!install) {
23
+ results.push({
24
+ install,
25
+ command,
26
+ version,
27
+ error: new Error(`Unexpected version results for version ${version}. Install ${JSON.stringify(installs)}`),
28
+ result: null
29
+ });
30
+ return callback();
31
+ }
32
+ const spawnOptions = createSpawnOptions(install.installPath, options);
33
+ const prefix = install.version;
34
+ const next = (err, res)=>{
35
+ if (err && err.message.indexOf('ExperimentalWarning') >= 0) {
36
+ res = err;
37
+ err = null;
38
+ }
39
+ results.push({
40
+ install,
41
+ command,
42
+ version,
43
+ error: err,
44
+ result: res
45
+ });
46
+ cb();
47
+ };
48
+ if (versions.length < 2) return spawn(command, args, spawnOptions, next);
49
+ if (spawnTerm) spawnTerm(command, args, spawnOptions, {
50
+ group: prefix,
51
+ expanded: options.expanded
52
+ }, next);
53
+ else spawnStreaming(command, args, spawnOptions, {
54
+ prefix
55
+ }, next);
56
+ });
57
+ }));
58
+ queue.await((err)=>{
59
+ err ? callback(err) : callback(null, results);
60
+ });
61
+ });
62
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport resolveVersions from 'node-resolve-versions';\nimport installVersion 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';\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 const spawnOptions = createSpawnOptions(install.installPath, options);\n const prefix = install.version;\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, next);\n if (spawnTerm) spawnTerm(command, args, spawnOptions, { group: prefix, expanded: options.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","results","queue","forEach","version","defer","cb","_err","installs","install","push","error","JSON","stringify","result","installPath","prefix","next","res","message","indexOf","group","expanded","await"],"mappings":"AAAA,OAAOA,WAAW,iBAAiB;AACnC,OAAOC,qBAAqB,wBAAwB;AACpD,OAAOC,oBAAoB,uBAAuB;AAClD,SAASC,gBAAgBC,kBAAkB,QAAQ,qBAAqB;AACxE,OAAOC,WAAW,WAAW;AAC7B,OAAOC,oBAAoB,kBAAkB;AAC7C,OAAOC,eAAe,aAAa;AACnC,SAASC,WAAW,QAAQ,cAAc;AAE1C,eAAe,SAASC,OAAOC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAChFb,gBAAgBS,mBAAmBG,SAAS,CAACE,KAAKC;QAChD,IAAID,KAAK,OAAOD,SAASC;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAOH,SAAS,IAAII,MAAM,CAAC,mCAAmC,EAAER,mBAAmB;QAEzG,MAAMS,iBAAiB;YAAEX;YAAa,GAAGK,OAAO;QAAC;QACjD,MAAMO,UAAU,EAAE;QAClB,MAAMC,QAAQ,IAAIhB,MAAM;QACxBW,SAASM,OAAO,CAAC,CAACC,UAChBF,MAAMG,KAAK,CAAC,CAACC;gBACXvB,eAAeqB,SAASJ,gBAAgB,CAACO,MAAMC;oBAC7C,MAAMC,UAAUD,YAAYA,SAASV,MAAM,KAAK,IAAIU,QAAQ,CAAC,EAAE,GAAG;oBAClE,IAAI,CAACC,SAAS;wBACZR,QAAQS,IAAI,CAAC;4BAAED;4BAASjB;4BAASY;4BAASO,OAAO,IAAIZ,MAAM,CAAC,uCAAuC,EAAEK,QAAQ,UAAU,EAAEQ,KAAKC,SAAS,CAACL,WAAW;4BAAGM,QAAQ;wBAAK;wBACnK,OAAOnB;oBACT;oBACA,MAAMX,eAAeC,mBAAmBwB,QAAQM,WAAW,EAAErB;oBAC7D,MAAMsB,SAASP,QAAQL,OAAO;oBAE9B,MAAMa,OAAO,CAACrB,KAAKsB;wBACjB,IAAItB,OAAOA,IAAIuB,OAAO,CAACC,OAAO,CAAC,0BAA0B,GAAG;4BAC1DF,MAAMtB;4BACNA,MAAM;wBACR;wBACAK,QAAQS,IAAI,CAAC;4BAAED;4BAASjB;4BAASY;4BAASO,OAAOf;4BAAKkB,QAAQI;wBAAI;wBAClEZ;oBACF;oBAEA,IAAIT,SAASC,MAAM,GAAG,GAAG,OAAOjB,MAAMW,SAASC,MAAMT,cAAciC;oBACnE,IAAI7B,WAAWA,UAAUI,SAASC,MAAMT,cAAc;wBAAEqC,OAAOL;wBAAQM,UAAU5B,QAAQ4B,QAAQ;oBAAC,GAAGL;yBAChG9B,eAAeK,SAASC,MAAMT,cAAc;wBAAEgC;oBAAO,GAAGC;gBAC/D;YACF;QAEFf,MAAMqB,KAAK,CAAC,CAAC3B;YACXA,MAAMD,SAASC,OAAOD,SAAS,MAAMM;QACvC;IACF;AACF"}
@@ -1,2 +1,2 @@
1
- declare function _default(argv: any, name: any): any;
1
+ declare const _default: (argv: any, name: any) => any;
2
2
  export default _default;
@@ -1 +1 @@
1
- export const storagePath: string;
1
+ export declare const storagePath: any;
@@ -0,0 +1 @@
1
+ export default function nodeVersionUse(versionExpression: any, command: any, args: any, options?: any, callback?: any): void | Promise<unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-use",
3
- "version": "1.5.57",
3
+ "version": "1.5.59",
4
4
  "description": "Cross-platform solution for using multiple versions of node. Useful for compatibility testing",
5
5
  "keywords": [
6
6
  "node",
@@ -17,7 +17,14 @@
17
17
  "url": "git+ssh://git@github.com/kmalakoff/node-version-use.git"
18
18
  },
19
19
  "license": "MIT",
20
+ "type": "module",
21
+ "exports": {
22
+ "import": "./dist/esm/index.mjs",
23
+ "require": "./dist/cjs/index.cjs",
24
+ "types": "./dist/types/index.d.ts"
25
+ },
20
26
  "main": "dist/cjs/index.cjs",
27
+ "module": "dist/dist/esm/index.mjs",
21
28
  "types": "dist/types/index.d.ts",
22
29
  "bin": {
23
30
  "nvu": "./bin/cli.cjs"
@@ -41,7 +48,8 @@
41
48
  "node-version-install": "^1.1.50",
42
49
  "node-version-utils": "^1.2.14",
43
50
  "queue-cb": "^1.4.16",
44
- "spawn-streaming": "^1.0.27"
51
+ "spawn-streaming": "^1.0.27",
52
+ "spawn-term": "^0.1.9"
45
53
  },
46
54
  "devDependencies": {
47
55
  "@types/mocha": "*",
@@ -55,9 +63,6 @@
55
63
  "node": ">=14"
56
64
  },
57
65
  "tsds": {
58
- "source": "src/index.mjs",
59
- "targets": [
60
- "cjs"
61
- ]
66
+ "source": "src/index.ts"
62
67
  }
63
68
  }
@@ -1 +0,0 @@
1
- export default function nodeVersionUse(versionExpression: any, command: any, args: any, options: any, callback: any): any;
File without changes