node-version-use 1.1.0 → 1.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["cli.js"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport nvu from './index.mjs';\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) {\n console.log(err.message);\n return exit(err.code || -1);\n }\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n console.log('\\n======================');\n if (errors.length) {\n console.log(`Errors (${errors.length})`);\n for (let index = 0; index < errors.length; index++) {\n const result = errors[index];\n console.log(`${result.version} Error: ${result.error.message}`);\n }\n } else console.log(`Success (${results.length})`);\n console.log('======================');\n }\n\n exit(errors.length ? -1 : 0);\n });\n};\n"],"names":["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","code","errors","filter","result","error","index"],"mappings":";;;;+BAIA;;;eAAA;;;2DAJiB;oEACG;4DACJ;;;;;;IAEhB,WAAe,SAACA,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,yBAAyB,GAAG;YACzDZ,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOT,IAAAA,aAAI,EAACO,IAAII,IAAI,IAAI,CAAC;QAC3B;QACA,IAAMC,SAASJ,QAAQK,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAChC,QAAQM,MAAM,EAAE;YACnBS,QAAQC,GAAG,CAAC;YACZ,IAAIa,OAAOf,MAAM,EAAE;gBACjBC,QAAQC,GAAG,CAAC,AAAC,WAAwB,OAAda,OAAOf,MAAM,EAAC;gBACrC,IAAK,IAAImB,QAAQ,GAAGA,QAAQJ,OAAOf,MAAM,EAAEmB,QAAS;oBAClD,IAAMF,SAASF,MAAM,CAACI,MAAM;oBAC5BlB,QAAQC,GAAG,CAAC,AAAC,GAA2Be,OAAzBA,OAAOZ,OAAO,EAAC,YAA+B,OAArBY,OAAOC,KAAK,CAACN,OAAO;gBAC9D;YACF,OAAOX,QAAQC,GAAG,CAAC,AAAC,YAA0B,OAAfS,QAAQX,MAAM,EAAC;YAC9CC,QAAQC,GAAG,CAAC;QACd;QAEAC,IAAAA,aAAI,EAACY,OAAOf,MAAM,GAAG,CAAC,IAAI;IAC5B;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\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) {\n console.log(err.message);\n return exit(err.code || -1);\n }\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n console.log('\\n======================');\n if (errors.length) {\n console.log(`Errors (${errors.length})`);\n for (let index = 0; index < errors.length; index++) {\n const result = errors[index];\n console.log(`${result.version} Error: ${result.error.message}`);\n }\n } else console.log(`Success (${results.length})`);\n console.log('======================');\n }\n\n exit(errors.length ? -1 : 0);\n });\n};\n"],"names":["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","code","errors","filter","result","error","index"],"mappings":";;;;+BAIA;;;eAAA;;;2DAJiB;oEACG;4DACJ;;;;;;IAEhB,WAAe,SAACA,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,yBAAyB,GAAG;YACzDZ,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOT,IAAAA,aAAI,EAACO,IAAII,IAAI,IAAI,CAAC;QAC3B;QACA,IAAMC,SAASJ,QAAQK,MAAM,CAAC,SAACC;mBAAW,CAAC,CAACA,OAAOC,KAAK;;QAExD,IAAI,CAAChC,QAAQM,MAAM,EAAE;YACnBS,QAAQC,GAAG,CAAC;YACZ,IAAIa,OAAOf,MAAM,EAAE;gBACjBC,QAAQC,GAAG,CAAC,AAAC,WAAwB,OAAda,OAAOf,MAAM,EAAC;gBACrC,IAAK,IAAImB,QAAQ,GAAGA,QAAQJ,OAAOf,MAAM,EAAEmB,QAAS;oBAClD,IAAMF,SAASF,MAAM,CAACI,MAAM;oBAC5BlB,QAAQC,GAAG,CAAC,AAAC,GAA2Be,OAAzBA,OAAOZ,OAAO,EAAC,YAA+B,OAArBY,OAAOC,KAAK,CAACN,OAAO;gBAC9D;YACF,OAAOX,QAAQC,GAAG,CAAC,AAAC,YAA0B,OAAfS,QAAQX,MAAM,EAAC;YAC9CC,QAAQC,GAAG,CAAC;QACd;QAEAC,IAAAA,aAAI,EAACY,OAAOf,MAAM,GAAG,CAAC,IAAI;IAC5B;AACF"}
@@ -2,7 +2,6 @@
2
2
  var path = require('path');
3
3
  var home = require('homedir-polyfill')();
4
4
  module.exports = {
5
- cacheDirectory: path.join(home, '.nvu', 'cache'),
6
- installDirectory: path.join(home, '.nvu', 'installed')
5
+ installPath: path.join(home, '.nvu')
7
6
  };
8
7
  /* 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":["constants.js"],"sourcesContent":["const path = require('path');\nconst home = require('homedir-polyfill')();\n\nmodule.exports = {\n cacheDirectory: path.join(home, '.nvu', 'cache'),\n installDirectory: path.join(home, '.nvu', 'installed'),\n};\n"],"names":["path","require","home","module","exports","cacheDirectory","join","installDirectory"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,OAAOD,QAAQ;AAErBE,OAAOC,OAAO,GAAG;IACfC,gBAAgBL,KAAKM,IAAI,CAACJ,MAAM,QAAQ;IACxCK,kBAAkBP,KAAKM,IAAI,CAACJ,MAAM,QAAQ;AAC5C"}
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\nmodule.exports = {\n installPath: path.join(home, '.nvu'),\n};\n"],"names":["path","require","home","module","exports","installPath","join"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,OAAOD,QAAQ;AAErBE,OAAOC,OAAO,GAAG;IACfC,aAAaL,KAAKM,IAAI,CAACJ,MAAM;AAC/B"}
package/dist/cjs/index.js CHANGED
@@ -1,28 +1,14 @@
1
- // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
2
1
  "use strict";
3
2
  Object.defineProperty(exports, "__esModule", {
4
3
  value: true
5
4
  });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- cacheDirectory: function() {
14
- return cacheDirectory;
15
- },
16
- default: function() {
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
17
8
  return nodeVersionUse;
18
- },
19
- installDirectory: function() {
20
- return installDirectory;
21
9
  }
22
10
  });
23
- var _pinkiepromise = /*#__PURE__*/ _interop_require_default(require("pinkie-promise"));
24
- var _constants = /*#__PURE__*/ _interop_require_default(require("./constants"));
25
- var _use = /*#__PURE__*/ _interop_require_default(require("./use"));
11
+ var _worker = /*#__PURE__*/ _interop_require_default(require("./worker.js"));
26
12
  function _interop_require_default(obj) {
27
13
  return obj && obj.__esModule ? obj : {
28
14
  default: obj
@@ -33,17 +19,12 @@ function nodeVersionUse(versionExpression, command, args, options, callback) {
33
19
  callback = options;
34
20
  options = {};
35
21
  }
36
- if (typeof callback === 'function') return (0, _use.default)(versionExpression, command, args, options || {}, callback);
37
- return new _pinkiepromise.default(function(resolve, reject) {
38
- nodeVersionUse(versionExpression, command, args, options, function nodeVersionUseCallback(err, res) {
22
+ options = options || {};
23
+ if (typeof callback === 'function') return (0, _worker.default)(versionExpression, command, args, options, callback);
24
+ return new Promise(function(resolve, reject) {
25
+ return (0, _worker.default)(versionExpression, command, args, options, function(err, res) {
39
26
  err ? reject(err) : resolve(res);
40
27
  });
41
28
  });
42
29
  }
43
- function installDirectory() {
44
- return _constants.default.installDirectory;
45
- }
46
- function cacheDirectory(_options) {
47
- return _constants.default.cacheDirectory;
48
- }
49
30
  /* 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":["index.mjs"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>\nimport Promise from 'pinkie-promise';\nimport constants from './constants';\nimport use from './use';\n\nexport default function nodeVersionUse(versionExpression, command, args, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (typeof callback === 'function') return use(versionExpression, command, args, options || {}, callback);\n return new Promise((resolve, reject) => {\n nodeVersionUse(versionExpression, command, args, options, function nodeVersionUseCallback(err, res) {\n err ? reject(err) : resolve(res);\n });\n });\n}\n\nexport function installDirectory() {\n return constants.installDirectory;\n}\n\nexport function cacheDirectory(_options) {\n return constants.cacheDirectory;\n}\n"],"names":["cacheDirectory","nodeVersionUse","installDirectory","versionExpression","command","args","options","callback","use","Promise","resolve","reject","nodeVersionUseCallback","err","res","constants","_options"],"mappings":"AAAA,sEAAsE;;;;;;;;;;;;IAsBtDA,cAAc;eAAdA;;IAjBhB,OAWC;eAXuBC;;IAaRC,gBAAgB;eAAhBA;;;oEAjBI;gEACE;0DACN;;;;;;AAED,SAASD,eAAeE,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxF,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACA,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,YAAG,EAACL,mBAAmBC,SAASC,MAAMC,WAAW,CAAC,GAAGC;IAChG,OAAO,IAAIE,sBAAO,CAAC,SAACC,SAASC;QAC3BV,eAAeE,mBAAmBC,SAASC,MAAMC,SAAS,SAASM,uBAAuBC,GAAG,EAAEC,GAAG;YAChGD,MAAMF,OAAOE,OAAOH,QAAQI;QAC9B;IACF;AACF;AAEO,SAASZ;IACd,OAAOa,kBAAS,CAACb,gBAAgB;AACnC;AAEO,SAASF,eAAegB,QAAQ;IACrC,OAAOD,kBAAS,CAACf,cAAc;AACjC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/index.mjs"],"sourcesContent":["import worker from './worker.js';\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) =>\n worker(versionExpression, command, args, options, (err, res) => {\n err ? reject(err) : resolve(res);\n })\n );\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;eAC3BH,IAAAA,eAAM,EAACL,mBAAmBC,SAASC,MAAMC,SAAS,SAACM,KAAKC;YACtDD,MAAMD,OAAOC,OAAOF,QAAQG;QAC9B;;AAEJ"}
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return worker;
9
+ }
10
+ });
11
+ var _noderesolveversions = /*#__PURE__*/ _interop_require_default(require("node-resolve-versions"));
12
+ var _nodeversioninstall = /*#__PURE__*/ _interop_require_default(require("node-version-install"));
13
+ var _nodeversionutils = require("node-version-utils");
14
+ var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
15
+ var _constants = require("./constants");
2
16
  function _define_property(obj, key, value) {
3
17
  if (key in obj) {
4
18
  Object.defineProperty(obj, key, {
@@ -12,6 +26,11 @@ function _define_property(obj, key, value) {
12
26
  }
13
27
  return obj;
14
28
  }
29
+ function _interop_require_default(obj) {
30
+ return obj && obj.__esModule ? obj : {
31
+ default: obj
32
+ };
33
+ }
15
34
  function _object_spread(target) {
16
35
  for(var i = 1; i < arguments.length; i++){
17
36
  var source = arguments[i] != null ? arguments[i] : {};
@@ -51,46 +70,33 @@ function _object_spread_props(target, source) {
51
70
  }
52
71
  return target;
53
72
  }
54
- var path = require('path');
55
- var Queue = require('queue-cb');
56
- var installRelease = require('node-install-release');
57
- var versionUtils = require('node-version-utils');
58
- var resolveVersions = require('node-resolve-versions');
59
- var constants = require('./constants');
60
- module.exports = function use(versionExpression, command, args, options, callback) {
61
- resolveVersions(versionExpression, _object_spread_props(_object_spread({}, options), {
62
- path: 'raw'
63
- }), function(err, versions) {
73
+ function worker(versionExpression, command, args, options, callback) {
74
+ (0, _noderesolveversions.default)(versionExpression, options, function(err, versions) {
64
75
  if (err) return callback(err);
65
76
  if (!versions.length) return callback(new Error("No versions found from expression: ".concat(versionExpression)));
66
77
  var results = [];
67
- var queue = new Queue(1);
68
- for(var index = 0; index < versions.length; index++){
69
- (function(version) {
70
- queue.defer(function(callback) {
71
- !options.header || options.header(version.version, command, args);
72
- var installDirectory = options.installDirectory || constants.installDirectory;
73
- var cacheDirectory = options.cacheDirectory || constants.cacheDirectory;
74
- var installPath = path.join(installDirectory, version.version);
75
- installRelease(version, installPath, {
76
- cacheDirectory: cacheDirectory
77
- }, function(err) {
78
- if (err) return callback(err);
79
- versionUtils.spawn(installPath, command, args, options, function(err, res) {
80
- results.push({
81
- version: version.version,
82
- error: err,
83
- result: res
84
- });
85
- callback();
86
- });
78
+ var queue = new _queuecb.default(1);
79
+ versions.forEach(function(version) {
80
+ return queue.defer(function(cb) {
81
+ (0, _nodeversioninstall.default)(version, {
82
+ installPath: _constants.installPath
83
+ }, function(err, installs) {
84
+ if (err) return cb(err);
85
+ if (installs.length !== 1) return callback(new Error("Unexpected version results for version ".concat(version, ". Install ").concat(installs)));
86
+ (0, _nodeversionutils.spawn)(installs[0].installPath, command, args, options, function(error, result) {
87
+ results.push(_object_spread_props(_object_spread({}, _nodeversioninstall.default), {
88
+ version: version,
89
+ error: error,
90
+ result: result
91
+ }));
92
+ cb();
87
93
  });
88
94
  });
89
- })(versions[index]);
90
- }
95
+ });
96
+ });
91
97
  queue.await(function(err) {
92
98
  err ? callback(err) : callback(null, results);
93
99
  });
94
100
  });
95
- };
101
+ }
96
102
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/worker.mjs"],"sourcesContent":["import resolveVersions from 'node-resolve-versions';\nimport install from 'node-version-install';\nimport { spawn } from 'node-version-utils';\nimport Queue from 'queue-cb';\nimport { installPath } 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 results = [];\n const queue = new Queue(1);\n versions.forEach((version) =>\n queue.defer((cb) => {\n install(version, { installPath }, (err, installs) => {\n if (err) return cb(err);\n if (installs.length !== 1) return callback(new Error(`Unexpected version results for version ${version}. Install ${installs}`));\n\n spawn(installs[0].installPath, command, args, options, (error, result) => {\n results.push({ ...install, version, error, result });\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","results","queue","Queue","forEach","version","defer","cb","install","installPath","installs","spawn","error","result","push","await"],"mappings":";;;;+BAMA;;;eAAwBA;;;0EANI;yEACR;gCACE;8DACJ;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,UAAU,EAAE;QAClB,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;QACxBL,SAASM,OAAO,CAAC,SAACC;mBAChBH,MAAMI,KAAK,CAAC,SAACC;gBACXC,IAAAA,2BAAO,EAACH,SAAS;oBAAEI,aAAAA,sBAAW;gBAAC,GAAG,SAACZ,KAAKa;oBACtC,IAAIb,KAAK,OAAOU,GAAGV;oBACnB,IAAIa,SAASX,MAAM,KAAK,GAAG,OAAOJ,SAAS,IAAIK,MAAM,AAAC,0CAA6DU,OAApBL,SAAQ,cAAqB,OAATK;oBAEnHC,IAAAA,uBAAK,EAACD,QAAQ,CAAC,EAAE,CAACD,WAAW,EAAEjB,SAASC,MAAMC,SAAS,SAACkB,OAAOC;wBAC7DZ,QAAQa,IAAI,CAAC,wCAAKN,2BAAO;4BAAEH,SAAAA;4BAASO,OAAAA;4BAAOC,QAAAA;;wBAC3CN;oBACF;gBACF;YACF;;QAEFL,MAAMa,KAAK,CAAC,SAAClB;YACXA,MAAMF,SAASE,OAAOF,SAAS,MAAMM;QACvC;IACF;AACF"}
@@ -1,2 +1 @@
1
- export let cacheDirectory: string;
2
- export let installDirectory: string;
1
+ export let installPath: string;
@@ -1,3 +1 @@
1
1
  export default function nodeVersionUse(versionExpression: any, command: any, args: any, options: any, callback: any): any;
2
- export function installDirectory(): string;
3
- export function cacheDirectory(_options: any): string;
@@ -0,0 +1 @@
1
+ export default function worker(versionExpression: any, command: any, args: any, options: any, callback: any): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-use",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Cross-platform solution for using multiple versions of node. Useful for compatibility testing",
5
5
  "keywords": [
6
6
  "node",
@@ -34,14 +34,13 @@
34
34
  "version": "tsds version"
35
35
  },
36
36
  "dependencies": {
37
- "cross-spawn-cb": "^1.4.0",
37
+ "cross-spawn-cb": "^1.5.8",
38
38
  "exit": "^0.1.2",
39
39
  "getopts-compat": "^2.2.5",
40
40
  "homedir-polyfill": "^1.0.3",
41
- "node-install-release": "^1.5.1",
42
- "node-resolve-versions": "^1.0.1",
43
- "node-version-utils": "^1.1.1",
44
- "pinkie-promise": "^2.0.1",
41
+ "node-resolve-versions": "^1.0.5",
42
+ "node-version-install": "^0.1.2",
43
+ "node-version-utils": "^1.1.3",
45
44
  "queue-cb": "^1.4.4"
46
45
  },
47
46
  "devDependencies": {
@@ -51,10 +50,9 @@
51
50
  "cr": "^0.1.0",
52
51
  "depcheck": "^1.4.7",
53
52
  "is-version": "^0.2.1",
54
- "rimraf2": "^2.8.2",
55
- "ts-dev-stack": "^1.5.4"
53
+ "pinkie-promise": "^2.0.1",
54
+ "rimraf2": "^2.8.2"
56
55
  },
57
- "packageManager": "npm@11.0.0+sha512.11dff29565d2297c74e7c594a9762581bde969f0aa5cbe6f5b3644bf008a16c065ece61094d9ffbb81125be38df8e1ba43eb8244b3d30c61eb797e9a2440e3ec",
58
56
  "engines": {
59
57
  "node": ">=0.8"
60
58
  },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["use.js"],"sourcesContent":["const path = require('path');\nconst Queue = require('queue-cb');\nconst installRelease = require('node-install-release');\nconst versionUtils = require('node-version-utils');\nconst resolveVersions = require('node-resolve-versions');\nconst constants = require('./constants');\n\nmodule.exports = function use(versionExpression, command, args, options, callback) {\n resolveVersions(versionExpression, { ...options, path: 'raw' }, (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 results = [];\n const queue = new Queue(1);\n for (let index = 0; index < versions.length; index++) {\n ((version) => {\n queue.defer((callback) => {\n !options.header || options.header(version.version, command, args);\n\n const installDirectory = options.installDirectory || constants.installDirectory;\n const cacheDirectory = options.cacheDirectory || constants.cacheDirectory;\n const installPath = path.join(installDirectory, version.version);\n\n installRelease(version, installPath, { cacheDirectory: cacheDirectory }, (err) => {\n if (err) return callback(err);\n\n versionUtils.spawn(installPath, command, args, options, (err, res) => {\n results.push({ version: version.version, error: err, result: res });\n callback();\n });\n });\n });\n })(versions[index]);\n }\n queue.await((err) => {\n err ? callback(err) : callback(null, results);\n });\n });\n};\n"],"names":["path","require","Queue","installRelease","versionUtils","resolveVersions","constants","module","exports","use","versionExpression","command","args","options","callback","err","versions","length","Error","results","queue","index","version","defer","header","installDirectory","cacheDirectory","installPath","join","spawn","res","push","error","result","await"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,QAAQD,QAAQ;AACtB,IAAME,iBAAiBF,QAAQ;AAC/B,IAAMG,eAAeH,QAAQ;AAC7B,IAAMI,kBAAkBJ,QAAQ;AAChC,IAAMK,YAAYL,QAAQ;AAE1BM,OAAOC,OAAO,GAAG,SAASC,IAAIC,iBAAiB,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC/ET,gBAAgBK,mBAAmB,wCAAKG;QAASb,MAAM;QAAS,SAACe,KAAKC;QACpE,IAAID,KAAK,OAAOD,SAASC;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAOH,SAAS,IAAII,MAAM,AAAC,sCAAuD,OAAlBR;QAEtF,IAAMS,UAAU,EAAE;QAClB,IAAMC,QAAQ,IAAIlB,MAAM;QACxB,IAAK,IAAImB,QAAQ,GAAGA,QAAQL,SAASC,MAAM,EAAEI,QAAS;YACnD,CAAA,SAACC;gBACAF,MAAMG,KAAK,CAAC,SAACT;oBACX,CAACD,QAAQW,MAAM,IAAIX,QAAQW,MAAM,CAACF,QAAQA,OAAO,EAAEX,SAASC;oBAE5D,IAAMa,mBAAmBZ,QAAQY,gBAAgB,IAAInB,UAAUmB,gBAAgB;oBAC/E,IAAMC,iBAAiBb,QAAQa,cAAc,IAAIpB,UAAUoB,cAAc;oBACzE,IAAMC,cAAc3B,KAAK4B,IAAI,CAACH,kBAAkBH,QAAQA,OAAO;oBAE/DnB,eAAemB,SAASK,aAAa;wBAAED,gBAAgBA;oBAAe,GAAG,SAACX;wBACxE,IAAIA,KAAK,OAAOD,SAASC;wBAEzBX,aAAayB,KAAK,CAACF,aAAahB,SAASC,MAAMC,SAAS,SAACE,KAAKe;4BAC5DX,QAAQY,IAAI,CAAC;gCAAET,SAASA,QAAQA,OAAO;gCAAEU,OAAOjB;gCAAKkB,QAAQH;4BAAI;4BACjEhB;wBACF;oBACF;gBACF;YACF,CAAA,EAAGE,QAAQ,CAACK,MAAM;QACpB;QACAD,MAAMc,KAAK,CAAC,SAACnB;YACXA,MAAMD,SAASC,OAAOD,SAAS,MAAMK;QACvC;IACF;AACF"}
@@ -1,2 +0,0 @@
1
- declare function _exports(versionExpression: any, command: any, args: any, options: any, callback: any): void;
2
- export = _exports;