node-version-use 1.9.0 → 1.9.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.
- package/dist/cjs/cli.js +55 -6
- package/dist/cjs/cli.js.map +1 -1
- package/dist/esm/cli.js +55 -6
- package/dist/esm/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/cli.js
CHANGED
|
@@ -9,7 +9,10 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _exit = /*#__PURE__*/ _interop_require_default(require("exit"));
|
|
12
|
+
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
13
|
var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
|
|
14
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
15
|
+
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
13
16
|
var _indexts = /*#__PURE__*/ _interop_require_default(require("./index.js"));
|
|
14
17
|
var _loadSpawnTermts = /*#__PURE__*/ _interop_require_default(require("./lib/loadSpawnTerm.js"));
|
|
15
18
|
function _interop_require_default(obj) {
|
|
@@ -17,7 +20,36 @@ function _interop_require_default(obj) {
|
|
|
17
20
|
default: obj
|
|
18
21
|
};
|
|
19
22
|
}
|
|
23
|
+
var __dirname = _path.default.dirname(typeof __filename !== 'undefined' ? __filename : _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()));
|
|
20
24
|
var ERROR_CODE = 13;
|
|
25
|
+
function getVersion() {
|
|
26
|
+
var packagePath = _path.default.join(__dirname, '..', '..', 'package.json');
|
|
27
|
+
var packageJson = JSON.parse(_fs.default.readFileSync(packagePath, 'utf8'));
|
|
28
|
+
return packageJson.version;
|
|
29
|
+
}
|
|
30
|
+
function printHelp(name) {
|
|
31
|
+
var version = getVersion();
|
|
32
|
+
console.log("".concat(name, " v").concat(version));
|
|
33
|
+
console.log('');
|
|
34
|
+
console.log("Usage: ".concat(name, " [options] <version> <command> [args...]"));
|
|
35
|
+
console.log('');
|
|
36
|
+
console.log('Run commands with specific Node.js versions');
|
|
37
|
+
console.log('');
|
|
38
|
+
console.log('Options:');
|
|
39
|
+
console.log(' -v, --version Print version number');
|
|
40
|
+
console.log(' -h, --help Print this help message');
|
|
41
|
+
console.log(' -r, --range Range type (major, minor, patch) with filters (lts, even, odd)');
|
|
42
|
+
console.log(' Default: major,even');
|
|
43
|
+
console.log(' -d, --desc Sort versions in descending order');
|
|
44
|
+
console.log(' -e, --expanded Use expanded version format');
|
|
45
|
+
console.log(' -s, --streaming Enable streaming output');
|
|
46
|
+
console.log(' --silent Suppress logging');
|
|
47
|
+
console.log('');
|
|
48
|
+
console.log('Examples:');
|
|
49
|
+
console.log(" ".concat(name, " 22 node --version"));
|
|
50
|
+
console.log(" ".concat(name, " 22,20,18 npm test"));
|
|
51
|
+
console.log(" ".concat(name, " engines node --version"));
|
|
52
|
+
}
|
|
21
53
|
var _default = function(argv, name) {
|
|
22
54
|
var options = (0, _getoptscompat.default)(argv, {
|
|
23
55
|
alias: {
|
|
@@ -25,7 +57,9 @@ var _default = function(argv, name) {
|
|
|
25
57
|
desc: 'd',
|
|
26
58
|
expanded: 'e',
|
|
27
59
|
streaming: 's',
|
|
28
|
-
silent: 'si'
|
|
60
|
+
silent: 'si',
|
|
61
|
+
version: 'v',
|
|
62
|
+
help: 'h'
|
|
29
63
|
},
|
|
30
64
|
default: {
|
|
31
65
|
range: 'major,even',
|
|
@@ -36,27 +70,42 @@ var _default = function(argv, name) {
|
|
|
36
70
|
'desc',
|
|
37
71
|
'expanded',
|
|
38
72
|
'streaming',
|
|
39
|
-
'interactive'
|
|
73
|
+
'interactive',
|
|
74
|
+
'version',
|
|
75
|
+
'help'
|
|
40
76
|
],
|
|
41
77
|
stopEarly: true
|
|
42
78
|
});
|
|
79
|
+
if (options.version) {
|
|
80
|
+
console.log(getVersion());
|
|
81
|
+
(0, _exit.default)(0);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (options.help) {
|
|
85
|
+
printHelp(name);
|
|
86
|
+
(0, _exit.default)(0);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
43
89
|
// define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');
|
|
44
90
|
// define.option('-s, --silent', 'suppress logging', false);
|
|
45
91
|
options.sort = options.desc ? -1 : 1;
|
|
46
92
|
var args = options._;
|
|
47
93
|
if (args.length === 0) {
|
|
48
94
|
console.log("Missing version expression. Example usage: ".concat(name, " version command arg1 arg2"));
|
|
49
|
-
|
|
95
|
+
(0, _exit.default)(ERROR_CODE);
|
|
96
|
+
return;
|
|
50
97
|
}
|
|
51
98
|
if (args.length === 1) {
|
|
52
99
|
console.log("Missing command. Example usage: ".concat(name, " version command arg1 arg2"));
|
|
53
|
-
|
|
100
|
+
(0, _exit.default)(ERROR_CODE);
|
|
101
|
+
return;
|
|
54
102
|
}
|
|
55
103
|
options.stdio = 'inherit'; // pass through stdio
|
|
56
|
-
|
|
104
|
+
(0, _indexts.default)(args[0], args[1], args.slice(2), options, function(err, results) {
|
|
57
105
|
if (err && !err.results) {
|
|
58
106
|
console.log(err.message);
|
|
59
|
-
|
|
107
|
+
(0, _exit.default)(ERROR_CODE);
|
|
108
|
+
return;
|
|
60
109
|
}
|
|
61
110
|
if (err) results = err.results;
|
|
62
111
|
var errors = results.filter(function(result) {
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -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 run from './index.ts';\nimport loadSpawnTerm from './lib/loadSpawnTerm.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', interactive: true },\n boolean: ['silent', 'desc', 'expanded', 'streaming', 'interactive'],\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
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport fs from 'fs';\nimport getopts from 'getopts-compat';\nimport path from 'path';\nimport url from 'url';\nimport run from './index.ts';\nimport loadSpawnTerm from './lib/loadSpawnTerm.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nconst ERROR_CODE = 13;\n\nfunction getVersion(): string {\n const packagePath = path.join(__dirname, '..', '..', 'package.json');\n const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));\n return packageJson.version;\n}\n\nfunction printHelp(name: string): void {\n const version = getVersion();\n console.log(`${name} v${version}`);\n console.log('');\n console.log(`Usage: ${name} [options] <version> <command> [args...]`);\n console.log('');\n console.log('Run commands with specific Node.js versions');\n console.log('');\n console.log('Options:');\n console.log(' -v, --version Print version number');\n console.log(' -h, --help Print this help message');\n console.log(' -r, --range Range type (major, minor, patch) with filters (lts, even, odd)');\n console.log(' Default: major,even');\n console.log(' -d, --desc Sort versions in descending order');\n console.log(' -e, --expanded Use expanded version format');\n console.log(' -s, --streaming Enable streaming output');\n console.log(' --silent Suppress logging');\n console.log('');\n console.log('Examples:');\n console.log(` ${name} 22 node --version`);\n console.log(` ${name} 22,20,18 npm test`);\n console.log(` ${name} engines node --version`);\n}\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', version: 'v', help: 'h' },\n default: { range: 'major,even', interactive: true },\n boolean: ['silent', 'desc', 'expanded', 'streaming', 'interactive', 'version', 'help'],\n stopEarly: true,\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(name);\n exit(0);\n return;\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 exit(ERROR_CODE);\n return;\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n exit(ERROR_CODE);\n return;\n }\n\n options.stdio = 'inherit'; // pass through stdio\n 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 exit(ERROR_CODE);\n return;\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n // Load spawn-term to get figures/formatArguments for output formatting\n loadSpawnTerm((_loadErr, mod) => {\n const { createSession, figures, formatArguments } = mod || { createSession: undefined, figures: { tick: '✓', cross: '✗' }, formatArguments: (x: string[]) => x };\n if (!createSession) {\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 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 } else {\n exit(err || errors.length ? ERROR_CODE : 0);\n }\n });\n};\n"],"names":["__dirname","path","dirname","__filename","url","fileURLToPath","ERROR_CODE","getVersion","packagePath","join","packageJson","JSON","parse","fs","readFileSync","version","printHelp","name","console","log","argv","options","getopts","alias","range","desc","expanded","streaming","silent","help","default","interactive","boolean","stopEarly","exit","sort","args","_","length","stdio","run","slice","err","results","message","errors","filter","result","error","loadSpawnTerm","_loadErr","mod","createSession","undefined","figures","tick","cross","formatArguments","x","forEach","res"],"mappings":"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"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
import exit from 'exit';
|
|
2
|
+
import fs from 'fs';
|
|
2
3
|
import getopts from 'getopts-compat';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import url from 'url';
|
|
3
6
|
import run from './index.js';
|
|
4
7
|
import loadSpawnTerm from './lib/loadSpawnTerm.js';
|
|
8
|
+
const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));
|
|
5
9
|
const ERROR_CODE = 13;
|
|
10
|
+
function getVersion() {
|
|
11
|
+
const packagePath = path.join(__dirname, '..', '..', 'package.json');
|
|
12
|
+
const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
13
|
+
return packageJson.version;
|
|
14
|
+
}
|
|
15
|
+
function printHelp(name) {
|
|
16
|
+
const version = getVersion();
|
|
17
|
+
console.log(`${name} v${version}`);
|
|
18
|
+
console.log('');
|
|
19
|
+
console.log(`Usage: ${name} [options] <version> <command> [args...]`);
|
|
20
|
+
console.log('');
|
|
21
|
+
console.log('Run commands with specific Node.js versions');
|
|
22
|
+
console.log('');
|
|
23
|
+
console.log('Options:');
|
|
24
|
+
console.log(' -v, --version Print version number');
|
|
25
|
+
console.log(' -h, --help Print this help message');
|
|
26
|
+
console.log(' -r, --range Range type (major, minor, patch) with filters (lts, even, odd)');
|
|
27
|
+
console.log(' Default: major,even');
|
|
28
|
+
console.log(' -d, --desc Sort versions in descending order');
|
|
29
|
+
console.log(' -e, --expanded Use expanded version format');
|
|
30
|
+
console.log(' -s, --streaming Enable streaming output');
|
|
31
|
+
console.log(' --silent Suppress logging');
|
|
32
|
+
console.log('');
|
|
33
|
+
console.log('Examples:');
|
|
34
|
+
console.log(` ${name} 22 node --version`);
|
|
35
|
+
console.log(` ${name} 22,20,18 npm test`);
|
|
36
|
+
console.log(` ${name} engines node --version`);
|
|
37
|
+
}
|
|
6
38
|
export default ((argv, name)=>{
|
|
7
39
|
const options = getopts(argv, {
|
|
8
40
|
alias: {
|
|
@@ -10,7 +42,9 @@ export default ((argv, name)=>{
|
|
|
10
42
|
desc: 'd',
|
|
11
43
|
expanded: 'e',
|
|
12
44
|
streaming: 's',
|
|
13
|
-
silent: 'si'
|
|
45
|
+
silent: 'si',
|
|
46
|
+
version: 'v',
|
|
47
|
+
help: 'h'
|
|
14
48
|
},
|
|
15
49
|
default: {
|
|
16
50
|
range: 'major,even',
|
|
@@ -21,27 +55,42 @@ export default ((argv, name)=>{
|
|
|
21
55
|
'desc',
|
|
22
56
|
'expanded',
|
|
23
57
|
'streaming',
|
|
24
|
-
'interactive'
|
|
58
|
+
'interactive',
|
|
59
|
+
'version',
|
|
60
|
+
'help'
|
|
25
61
|
],
|
|
26
62
|
stopEarly: true
|
|
27
63
|
});
|
|
64
|
+
if (options.version) {
|
|
65
|
+
console.log(getVersion());
|
|
66
|
+
exit(0);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (options.help) {
|
|
70
|
+
printHelp(name);
|
|
71
|
+
exit(0);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
28
74
|
// define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'major,even');
|
|
29
75
|
// define.option('-s, --silent', 'suppress logging', false);
|
|
30
76
|
options.sort = options.desc ? -1 : 1;
|
|
31
77
|
const args = options._;
|
|
32
78
|
if (args.length === 0) {
|
|
33
79
|
console.log(`Missing version expression. Example usage: ${name} version command arg1 arg2`);
|
|
34
|
-
|
|
80
|
+
exit(ERROR_CODE);
|
|
81
|
+
return;
|
|
35
82
|
}
|
|
36
83
|
if (args.length === 1) {
|
|
37
84
|
console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);
|
|
38
|
-
|
|
85
|
+
exit(ERROR_CODE);
|
|
86
|
+
return;
|
|
39
87
|
}
|
|
40
88
|
options.stdio = 'inherit'; // pass through stdio
|
|
41
|
-
|
|
89
|
+
run(args[0], args[1], args.slice(2), options, (err, results)=>{
|
|
42
90
|
if (err && !err.results) {
|
|
43
91
|
console.log(err.message);
|
|
44
|
-
|
|
92
|
+
exit(ERROR_CODE);
|
|
93
|
+
return;
|
|
45
94
|
}
|
|
46
95
|
if (err) results = err.results;
|
|
47
96
|
const errors = results.filter((result)=>!!result.error);
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -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 run from './index.ts';\nimport loadSpawnTerm from './lib/loadSpawnTerm.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', interactive: true },\n boolean: ['silent', 'desc', 'expanded', 'streaming', 'interactive'],\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
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-use/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport fs from 'fs';\nimport getopts from 'getopts-compat';\nimport path from 'path';\nimport url from 'url';\nimport run from './index.ts';\nimport loadSpawnTerm from './lib/loadSpawnTerm.ts';\nimport type { UseError, UseOptions, UseResult } from './types.ts';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nconst ERROR_CODE = 13;\n\nfunction getVersion(): string {\n const packagePath = path.join(__dirname, '..', '..', 'package.json');\n const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));\n return packageJson.version;\n}\n\nfunction printHelp(name: string): void {\n const version = getVersion();\n console.log(`${name} v${version}`);\n console.log('');\n console.log(`Usage: ${name} [options] <version> <command> [args...]`);\n console.log('');\n console.log('Run commands with specific Node.js versions');\n console.log('');\n console.log('Options:');\n console.log(' -v, --version Print version number');\n console.log(' -h, --help Print this help message');\n console.log(' -r, --range Range type (major, minor, patch) with filters (lts, even, odd)');\n console.log(' Default: major,even');\n console.log(' -d, --desc Sort versions in descending order');\n console.log(' -e, --expanded Use expanded version format');\n console.log(' -s, --streaming Enable streaming output');\n console.log(' --silent Suppress logging');\n console.log('');\n console.log('Examples:');\n console.log(` ${name} 22 node --version`);\n console.log(` ${name} 22,20,18 npm test`);\n console.log(` ${name} engines node --version`);\n}\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', version: 'v', help: 'h' },\n default: { range: 'major,even', interactive: true },\n boolean: ['silent', 'desc', 'expanded', 'streaming', 'interactive', 'version', 'help'],\n stopEarly: true,\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(name);\n exit(0);\n return;\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 exit(ERROR_CODE);\n return;\n }\n if (args.length === 1) {\n console.log(`Missing command. Example usage: ${name} version command arg1 arg2`);\n exit(ERROR_CODE);\n return;\n }\n\n options.stdio = 'inherit'; // pass through stdio\n 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 exit(ERROR_CODE);\n return;\n }\n if (err) results = err.results;\n const errors = results.filter((result) => !!result.error);\n\n if (!options.silent) {\n // Load spawn-term to get figures/formatArguments for output formatting\n loadSpawnTerm((_loadErr, mod) => {\n const { createSession, figures, formatArguments } = mod || { createSession: undefined, figures: { tick: '✓', cross: '✗' }, formatArguments: (x: string[]) => x };\n if (!createSession) {\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 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 } else {\n exit(err || errors.length ? ERROR_CODE : 0);\n }\n });\n};\n"],"names":["exit","fs","getopts","path","url","run","loadSpawnTerm","__dirname","dirname","__filename","fileURLToPath","ERROR_CODE","getVersion","packagePath","join","packageJson","JSON","parse","readFileSync","version","printHelp","name","console","log","argv","options","alias","range","desc","expanded","streaming","silent","help","default","interactive","boolean","stopEarly","sort","args","_","length","stdio","slice","err","results","message","errors","filter","result","error","_loadErr","mod","createSession","figures","formatArguments","undefined","tick","cross","x","forEach","res"],"mappings":"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"}
|