node-version-use 0.5.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/cli.js +13 -13
- package/dist/cjs/constants.js +4 -4
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/use.js +8 -21
- package/dist/cjs/use.js.map +1 -1
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ var NODE = process.platform === 'win32' ? 'node.exe' : 'node';
|
|
|
34
34
|
|
|
35
35
|
// results is an array per-version of form {version, error, result}
|
|
36
36
|
nvu('>=0.8', NODE, ['--version'], { versions: '12', stdio: 'inherit' }, function (err, results) {
|
|
37
|
-
assert.ok(!err);
|
|
37
|
+
assert.ok(!err, err ? err.message : '');
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
// results is an array per-version of form {version, error, result}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -19,16 +19,16 @@ function _interop_require_default(obj) {
|
|
|
19
19
|
var _default = function(argv, name) {
|
|
20
20
|
var options = (0, _getoptscompat.default)(argv.slice(1), {
|
|
21
21
|
alias: {
|
|
22
|
-
range:
|
|
23
|
-
desc:
|
|
24
|
-
silent:
|
|
22
|
+
range: 'r',
|
|
23
|
+
desc: 'd',
|
|
24
|
+
silent: 's'
|
|
25
25
|
},
|
|
26
26
|
default: {
|
|
27
|
-
range:
|
|
27
|
+
range: 'major,even'
|
|
28
28
|
},
|
|
29
29
|
boolean: [
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
'silent',
|
|
31
|
+
'desc'
|
|
32
32
|
],
|
|
33
33
|
stopEarly: true
|
|
34
34
|
});
|
|
@@ -41,15 +41,15 @@ var _default = function(argv, name) {
|
|
|
41
41
|
return (0, _exit.default)(-1);
|
|
42
42
|
}
|
|
43
43
|
if (!options.silent) options.header = function(version, command, args) {
|
|
44
|
-
console.log(
|
|
44
|
+
console.log('\n----------------------');
|
|
45
45
|
console.log("".concat([
|
|
46
46
|
command
|
|
47
|
-
].concat(args).join(
|
|
48
|
-
console.log(
|
|
47
|
+
].concat(args).join(' '), " (").concat(version, ")"));
|
|
48
|
+
console.log('----------------------');
|
|
49
49
|
};
|
|
50
|
-
options.stdio =
|
|
50
|
+
options.stdio = 'inherit'; // pass through stdio
|
|
51
51
|
(0, _index.default)(args[0], args[1], args.slice(2), options, function(err, results) {
|
|
52
|
-
if (err && err.message.indexOf(
|
|
52
|
+
if (err && err.message.indexOf('ExperimentalWarning') < 0) {
|
|
53
53
|
console.log(err.message);
|
|
54
54
|
return (0, _exit.default)(err.code || -1);
|
|
55
55
|
}
|
|
@@ -57,7 +57,7 @@ var _default = function(argv, name) {
|
|
|
57
57
|
return !!result.error;
|
|
58
58
|
});
|
|
59
59
|
if (!options.silent) {
|
|
60
|
-
console.log(
|
|
60
|
+
console.log('\n======================');
|
|
61
61
|
if (errors.length) {
|
|
62
62
|
console.log("Errors (".concat(errors.length, ")"));
|
|
63
63
|
for(var index = 0; index < errors.length; index++){
|
|
@@ -65,7 +65,7 @@ var _default = function(argv, name) {
|
|
|
65
65
|
console.log("".concat(result.version, " Error: ").concat(result.error.message));
|
|
66
66
|
}
|
|
67
67
|
} else console.log("Success (".concat(results.length, ")"));
|
|
68
|
-
console.log(
|
|
68
|
+
console.log('======================');
|
|
69
69
|
}
|
|
70
70
|
(0, _exit.default)(errors.length ? -1 : 0);
|
|
71
71
|
});
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var path = require(
|
|
3
|
-
var home = require(
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var home = require('homedir-polyfill')();
|
|
4
4
|
module.exports = {
|
|
5
|
-
cacheDirectory: path.join(home,
|
|
6
|
-
installDirectory: path.join(home,
|
|
5
|
+
cacheDirectory: path.join(home, '.nvu', 'cache'),
|
|
6
|
+
installDirectory: path.join(home, '.nvu', 'installed')
|
|
7
7
|
};
|
|
8
8
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["constants.js"],"sourcesContent":["const path = require('path');\nconst home = require('
|
|
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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -27,11 +27,11 @@ function _interop_require_default(obj) {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
function nodeVersionUse(versionExpression, command, args, options, callback) {
|
|
30
|
-
if (typeof options ===
|
|
30
|
+
if (typeof options === 'function') {
|
|
31
31
|
callback = options;
|
|
32
32
|
options = {};
|
|
33
33
|
}
|
|
34
|
-
if (typeof callback ===
|
|
34
|
+
if (typeof callback === 'function') return (0, _use.default)(versionExpression, command, args, options || {}, callback);
|
|
35
35
|
return new Promise(function(resolve, reject) {
|
|
36
36
|
nodeVersionUse(versionExpression, command, args, options, function nodeVersionUseCallback(err, res) {
|
|
37
37
|
err ? reject(err) : resolve(res);
|
package/dist/cjs/use.js
CHANGED
|
@@ -51,31 +51,18 @@ function _object_spread_props(target, source) {
|
|
|
51
51
|
}
|
|
52
52
|
return target;
|
|
53
53
|
}
|
|
54
|
-
var path = require(
|
|
55
|
-
var Queue = require(
|
|
56
|
-
var installRelease = require(
|
|
57
|
-
var versionUtils = require(
|
|
58
|
-
var resolveVersions = require(
|
|
59
|
-
var constants = require(
|
|
60
|
-
var spawnKeys = [
|
|
61
|
-
"encoding",
|
|
62
|
-
"stdio",
|
|
63
|
-
"stdin",
|
|
64
|
-
"stdout",
|
|
65
|
-
"stderr",
|
|
66
|
-
"cwd",
|
|
67
|
-
"env"
|
|
68
|
-
];
|
|
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');
|
|
69
60
|
module.exports = function use(versionExpression, command, args, options, callback) {
|
|
70
61
|
resolveVersions(versionExpression, _object_spread_props(_object_spread({}, options), {
|
|
71
|
-
path:
|
|
62
|
+
path: 'raw'
|
|
72
63
|
}), function(err, versions) {
|
|
73
64
|
if (err) return callback(err);
|
|
74
65
|
if (!versions.length) return callback(new Error("No versions found from expression: ".concat(versionExpression)));
|
|
75
|
-
var spawnOptions = {};
|
|
76
|
-
for(var i = 0; i < spawnKeys.length; i++){
|
|
77
|
-
if (options[spawnKeys[i]] !== undefined) spawnOptions[spawnKeys[i]] = options[spawnKeys[i]];
|
|
78
|
-
}
|
|
79
66
|
var results = [];
|
|
80
67
|
var queue = new Queue(1);
|
|
81
68
|
for(var index = 0; index < versions.length; index++){
|
|
@@ -89,7 +76,7 @@ module.exports = function use(versionExpression, command, args, options, callbac
|
|
|
89
76
|
cacheDirectory: cacheDirectory
|
|
90
77
|
}, function(err) {
|
|
91
78
|
if (err) return callback(err);
|
|
92
|
-
versionUtils.spawn(installPath, command, args,
|
|
79
|
+
versionUtils.spawn(installPath, command, args, options, function(err, res) {
|
|
93
80
|
results.push({
|
|
94
81
|
version: version.version,
|
|
95
82
|
error: err,
|
package/dist/cjs/use.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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');\
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-version-use",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Cross-platform solution for using multiple versions of node. Useful for compatibility testing",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -28,30 +28,30 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsds build",
|
|
30
30
|
"deploy": "tsds deploy",
|
|
31
|
-
"format": "biome check --
|
|
31
|
+
"format": "biome check --write --unsafe src/ test/",
|
|
32
32
|
"test": "tsds test:node --no-timeouts",
|
|
33
33
|
"test:engines": "nvu engines npm test",
|
|
34
34
|
"version": "tsds version"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"cross-spawn-cb": "^
|
|
37
|
+
"cross-spawn-cb": "^1.1.0",
|
|
38
38
|
"exit": "^0.1.2",
|
|
39
39
|
"getopts-compat": "^2.2.5",
|
|
40
|
-
"
|
|
41
|
-
"node-
|
|
42
|
-
"node-
|
|
43
|
-
"
|
|
40
|
+
"homedir-polyfill": "^1.0.3",
|
|
41
|
+
"node-install-release": "^1.4.0",
|
|
42
|
+
"node-resolve-versions": "^1.0.0",
|
|
43
|
+
"node-version-utils": "^1.0.0",
|
|
44
44
|
"queue-cb": "^1.2.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@biomejs/biome": "^1.
|
|
48
|
-
"@types/mocha": "^10.0.
|
|
49
|
-
"@types/node": "^
|
|
47
|
+
"@biomejs/biome": "^1.9.4",
|
|
48
|
+
"@types/mocha": "^10.0.10",
|
|
49
|
+
"@types/node": "^22.10.1",
|
|
50
50
|
"cr": "^0.1.0",
|
|
51
51
|
"depcheck": "^1.4.7",
|
|
52
52
|
"is-version": "^0.2.1",
|
|
53
|
-
"
|
|
54
|
-
"ts-dev-stack": "^0.
|
|
53
|
+
"rimraf2": "^2.7.1",
|
|
54
|
+
"ts-dev-stack": "^0.16.3"
|
|
55
55
|
},
|
|
56
56
|
"engines": {
|
|
57
57
|
"node": ">=0.8"
|