node-semvers 1.5.12 → 1.5.14
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 +7 -7
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/scripts/postinstall.d.cts +1 -0
- package/dist/cjs/scripts/postinstall.d.ts +1 -0
- package/dist/cjs/scripts/postinstall.js +44 -0
- package/dist/cjs/scripts/postinstall.js.map +1 -0
- package/dist/esm/cli.js +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/scripts/postinstall.d.ts +1 -0
- package/dist/esm/scripts/postinstall.js +34 -0
- package/dist/esm/scripts/postinstall.js.map +1 -0
- package/package.json +5 -5
- package/scripts/postinstall.cjs +8 -33
package/dist/cjs/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _exitcompat = /*#__PURE__*/ _interop_require_default(require("exit-compat"));
|
|
12
12
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
13
13
|
var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
|
|
14
14
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
@@ -76,38 +76,38 @@ var _default = function(argv, name) {
|
|
|
76
76
|
});
|
|
77
77
|
if (options.version) {
|
|
78
78
|
console.log(getVersion());
|
|
79
|
-
(0,
|
|
79
|
+
(0, _exitcompat.default)(0);
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
if (options.help) {
|
|
83
83
|
printHelp(cliName);
|
|
84
|
-
(0,
|
|
84
|
+
(0, _exitcompat.default)(0);
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
if (typeof options.now !== 'undefined') options.now = new Date((0, _isNaNts.default)(+options.now) ? Date.parse(options.now) : +options.now);
|
|
88
88
|
var args = options._;
|
|
89
89
|
if (args.length < 1) {
|
|
90
90
|
console.log("Missing version string. Example usage: ".concat(cliName, " [version string]. Use ").concat(cliName, " --help for information on version strings"));
|
|
91
|
-
(0,
|
|
91
|
+
(0, _exitcompat.default)(ERROR_CODE);
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
94
|
_indexts.default.load(options, function(err, semvers) {
|
|
95
95
|
if (err) {
|
|
96
96
|
console.log(err.message);
|
|
97
|
-
(0,
|
|
97
|
+
(0, _exitcompat.default)(ERROR_CODE);
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
100
|
var version = semvers.resolve(args[0], options);
|
|
101
101
|
if (!version || isArray(version) && !version.length) {
|
|
102
102
|
console.log("Unrecognized: ".concat(args[0]));
|
|
103
|
-
(0,
|
|
103
|
+
(0, _exitcompat.default)(ERROR_CODE);
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
106
|
console.log('versions:');
|
|
107
107
|
if (isArray(version)) {
|
|
108
108
|
for(var index = 0; index < version.length; index++)console.log(stringify(version[index]));
|
|
109
109
|
} else console.log(stringify(version));
|
|
110
|
-
(0,
|
|
110
|
+
(0, _exitcompat.default)(0);
|
|
111
111
|
});
|
|
112
112
|
};
|
|
113
113
|
/* 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; }
|
package/dist/cjs/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/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 NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst isArray = Array.isArray || ((x) => Object.prototype.toString.call(x) === '[object Array]');\n\nconst ERROR_CODE = 11;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nfunction getVersion(): string {\n const pkgPath = path.join(__dirname, '..', '..', 'package.json');\n return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).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-string>`);\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n console.log('');\n console.log('Options:');\n console.log(' -p, --path <path> Path within version including raw for unprocessed version');\n console.log(' -r, --range <range> Range type of major, minor, or patch with filters of lts, even, odd');\n console.log(' -n, --now <date> Use a specific time as a Date.parse');\n console.log(' -v, --version Show version number');\n console.log(' -h, --help Show this help message');\n}\n\nexport default (argv: string[], name?: string): undefined => {\n const cliName = name || 'nsv';\n const options = getopts(argv, {\n alias: { path: 'p', range: 'r', now: 'n', version: 'v', help: 'h' },\n boolean: ['version', 'help'],\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(cliName);\n exit(0);\n return;\n }\n\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n const args = options._;\n if (args.length < 1) {\n console.log(`Missing version string. Example usage: ${cliName} [version string]. Use ${cliName} --help for information on version strings`);\n exit(ERROR_CODE);\n return;\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n exit(ERROR_CODE);\n return;\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n exit(ERROR_CODE);\n return;\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["isArray","Array","x","Object","prototype","toString","call","ERROR_CODE","__dirname","path","dirname","__filename","url","fileURLToPath","getVersion","pkgPath","join","JSON","parse","fs","readFileSync","version","printHelp","name","console","log","argv","stringify","value","cliName","options","getopts","alias","range","now","help","boolean","exit","Date","isNaN","args","_","length","NodeVersions","load","err","semvers","message","resolve","index"],"mappings":";;;;+BA+CA;;;eAAA;;;
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit-compat';\nimport fs from 'fs';\nimport getopts from 'getopts-compat';\nimport path from 'path';\nimport url from 'url';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst isArray = Array.isArray || ((x) => Object.prototype.toString.call(x) === '[object Array]');\n\nconst ERROR_CODE = 11;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nfunction getVersion(): string {\n const pkgPath = path.join(__dirname, '..', '..', 'package.json');\n return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).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-string>`);\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n console.log('');\n console.log('Options:');\n console.log(' -p, --path <path> Path within version including raw for unprocessed version');\n console.log(' -r, --range <range> Range type of major, minor, or patch with filters of lts, even, odd');\n console.log(' -n, --now <date> Use a specific time as a Date.parse');\n console.log(' -v, --version Show version number');\n console.log(' -h, --help Show this help message');\n}\n\nexport default (argv: string[], name?: string): undefined => {\n const cliName = name || 'nsv';\n const options = getopts(argv, {\n alias: { path: 'p', range: 'r', now: 'n', version: 'v', help: 'h' },\n boolean: ['version', 'help'],\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(cliName);\n exit(0);\n return;\n }\n\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n const args = options._;\n if (args.length < 1) {\n console.log(`Missing version string. Example usage: ${cliName} [version string]. Use ${cliName} --help for information on version strings`);\n exit(ERROR_CODE);\n return;\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n exit(ERROR_CODE);\n return;\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n exit(ERROR_CODE);\n return;\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["isArray","Array","x","Object","prototype","toString","call","ERROR_CODE","__dirname","path","dirname","__filename","url","fileURLToPath","getVersion","pkgPath","join","JSON","parse","fs","readFileSync","version","printHelp","name","console","log","argv","stringify","value","cliName","options","getopts","alias","range","now","help","boolean","exit","Date","isNaN","args","_","length","NodeVersions","load","err","semvers","message","resolve","index"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
var _exitcompat = /*#__PURE__*/ _interop_require_default(require("exit-compat"));
|
|
6
|
+
var _fetchjsoncache = /*#__PURE__*/ _interop_require_default(require("fetch-json-cache"));
|
|
7
|
+
var _constantsts = require("../constants.js");
|
|
8
|
+
function _interop_require_default(obj) {
|
|
9
|
+
return obj && obj.__esModule ? obj : {
|
|
10
|
+
default: obj
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function fetchWithRetry(cache, url, retries, callback) {
|
|
14
|
+
cache.get(url, {
|
|
15
|
+
force: true
|
|
16
|
+
}, function(err) {
|
|
17
|
+
if (err && retries > 0) {
|
|
18
|
+
setTimeout(function() {
|
|
19
|
+
fetchWithRetry(cache, url, retries - 1, callback);
|
|
20
|
+
}, 1000);
|
|
21
|
+
} else {
|
|
22
|
+
callback(err);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function cacheWithRetry(callback) {
|
|
27
|
+
var cache = new _fetchjsoncache.default(_constantsts.CACHE_PATH);
|
|
28
|
+
fetchWithRetry(cache, _constantsts.DISTS_URL, 3, function(err) {
|
|
29
|
+
if (err) return callback(err);
|
|
30
|
+
fetchWithRetry(cache, _constantsts.SCHEDULES_URL, 3, callback);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// run patch
|
|
34
|
+
cacheWithRetry(function(err) {
|
|
35
|
+
if (err) {
|
|
36
|
+
console.log("postinstall warning: ".concat(err.message));
|
|
37
|
+
console.log('Cache not updated after retries.');
|
|
38
|
+
(0, _exitcompat.default)(0);
|
|
39
|
+
} else {
|
|
40
|
+
console.log('postinstall succeeded');
|
|
41
|
+
(0, _exitcompat.default)(0);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
/* 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-semvers/src/scripts/postinstall.ts"],"sourcesContent":["import exit from 'exit-compat';\nimport Cache from 'fetch-json-cache';\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from '../constants.ts';\n\ntype Callback = (err: Error | null) => void;\n\nfunction fetchWithRetry(cache: Cache, url: string, retries: number, callback: Callback): void {\n cache.get(url, { force: true }, (err: Error | null) => {\n if (err && retries > 0) {\n setTimeout(() => {\n fetchWithRetry(cache, url, retries - 1, callback);\n }, 1000);\n } else {\n callback(err);\n }\n });\n}\n\nfunction cacheWithRetry(callback: Callback): void {\n const cache = new Cache(CACHE_PATH);\n fetchWithRetry(cache, DISTS_URL, 3, (err) => {\n if (err) return callback(err);\n fetchWithRetry(cache, SCHEDULES_URL, 3, callback);\n });\n}\n\n// run patch\ncacheWithRetry((err) => {\n if (err) {\n console.log(`postinstall warning: ${err.message}`);\n console.log('Cache not updated after retries.');\n exit(0);\n } else {\n console.log('postinstall succeeded');\n exit(0);\n }\n});\n"],"names":["fetchWithRetry","cache","url","retries","callback","get","force","err","setTimeout","cacheWithRetry","Cache","CACHE_PATH","DISTS_URL","SCHEDULES_URL","console","log","message","exit"],"mappings":";;;;iEAAiB;qEACC;2BACmC;;;;;;AAIrD,SAASA,eAAeC,KAAY,EAAEC,GAAW,EAAEC,OAAe,EAAEC,QAAkB;IACpFH,MAAMI,GAAG,CAACH,KAAK;QAAEI,OAAO;IAAK,GAAG,SAACC;QAC/B,IAAIA,OAAOJ,UAAU,GAAG;YACtBK,WAAW;gBACTR,eAAeC,OAAOC,KAAKC,UAAU,GAAGC;YAC1C,GAAG;QACL,OAAO;YACLA,SAASG;QACX;IACF;AACF;AAEA,SAASE,eAAeL,QAAkB;IACxC,IAAMH,QAAQ,IAAIS,uBAAK,CAACC,uBAAU;IAClCX,eAAeC,OAAOW,sBAAS,EAAE,GAAG,SAACL;QACnC,IAAIA,KAAK,OAAOH,SAASG;QACzBP,eAAeC,OAAOY,0BAAa,EAAE,GAAGT;IAC1C;AACF;AAEA,YAAY;AACZK,eAAe,SAACF;IACd,IAAIA,KAAK;QACPO,QAAQC,GAAG,CAAC,AAAC,wBAAmC,OAAZR,IAAIS,OAAO;QAC/CF,QAAQC,GAAG,CAAC;QACZE,IAAAA,mBAAI,EAAC;IACP,OAAO;QACLH,QAAQC,GAAG,CAAC;QACZE,IAAAA,mBAAI,EAAC;IACP;AACF"}
|
package/dist/esm/cli.js
CHANGED
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/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 NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst isArray = Array.isArray || ((x) => Object.prototype.toString.call(x) === '[object Array]');\n\nconst ERROR_CODE = 11;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nfunction getVersion(): string {\n const pkgPath = path.join(__dirname, '..', '..', 'package.json');\n return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).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-string>`);\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n console.log('');\n console.log('Options:');\n console.log(' -p, --path <path> Path within version including raw for unprocessed version');\n console.log(' -r, --range <range> Range type of major, minor, or patch with filters of lts, even, odd');\n console.log(' -n, --now <date> Use a specific time as a Date.parse');\n console.log(' -v, --version Show version number');\n console.log(' -h, --help Show this help message');\n}\n\nexport default (argv: string[], name?: string): undefined => {\n const cliName = name || 'nsv';\n const options = getopts(argv, {\n alias: { path: 'p', range: 'r', now: 'n', version: 'v', help: 'h' },\n boolean: ['version', 'help'],\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(cliName);\n exit(0);\n return;\n }\n\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n const args = options._;\n if (args.length < 1) {\n console.log(`Missing version string. Example usage: ${cliName} [version string]. Use ${cliName} --help for information on version strings`);\n exit(ERROR_CODE);\n return;\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n exit(ERROR_CODE);\n return;\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n exit(ERROR_CODE);\n return;\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["exit","fs","getopts","path","url","NodeVersions","isNaN","isArray","Array","x","Object","prototype","toString","call","ERROR_CODE","__dirname","dirname","__filename","fileURLToPath","getVersion","pkgPath","join","JSON","parse","readFileSync","version","printHelp","name","console","log","argv","cliName","options","alias","range","now","help","boolean","Date","args","_","length","stringify","value","load","err","semvers","message","resolve","index"],"mappings":"AAAA,OAAOA,UAAU,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit-compat';\nimport fs from 'fs';\nimport getopts from 'getopts-compat';\nimport path from 'path';\nimport url from 'url';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst isArray = Array.isArray || ((x) => Object.prototype.toString.call(x) === '[object Array]');\n\nconst ERROR_CODE = 11;\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\n\nfunction getVersion(): string {\n const pkgPath = path.join(__dirname, '..', '..', 'package.json');\n return JSON.parse(fs.readFileSync(pkgPath, 'utf8')).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-string>`);\n console.log('');\n console.log('Version Strings:');\n console.log('Any command that calls for a version can be provided any of the');\n console.log('following \"version-ish\" identifies:');\n console.log('');\n console.log('- x.y.z A specific SemVer tuple');\n console.log('- x.y Major and minor version number');\n console.log('- x Just a major version number');\n console.log('- lts The most recent LTS (long-term support) node version');\n console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');\n console.log('- lts/* Same as just \"lts\"');\n console.log('- latest The most recent (non-LTS) version');\n console.log('- stable Backwards-compatible alias for \"lts\"');\n console.log('- [expression] Engine and semver module expression like \"10.1.x || >=12.0.0\"');\n console.log('');\n console.log('Options:');\n console.log(' -p, --path <path> Path within version including raw for unprocessed version');\n console.log(' -r, --range <range> Range type of major, minor, or patch with filters of lts, even, odd');\n console.log(' -n, --now <date> Use a specific time as a Date.parse');\n console.log(' -v, --version Show version number');\n console.log(' -h, --help Show this help message');\n}\n\nexport default (argv: string[], name?: string): undefined => {\n const cliName = name || 'nsv';\n const options = getopts(argv, {\n alias: { path: 'p', range: 'r', now: 'n', version: 'v', help: 'h' },\n boolean: ['version', 'help'],\n });\n\n if (options.version) {\n console.log(getVersion());\n exit(0);\n return;\n }\n\n if (options.help) {\n printHelp(cliName);\n exit(0);\n return;\n }\n\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n const args = options._;\n if (args.length < 1) {\n console.log(`Missing version string. Example usage: ${cliName} [version string]. Use ${cliName} --help for information on version strings`);\n exit(ERROR_CODE);\n return;\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options as LoadOptions, (err, semvers) => {\n if (err) {\n console.log(err.message);\n exit(ERROR_CODE);\n return;\n }\n\n const version = semvers.resolve(args[0], options as ResolveOptions);\n if (!version || (isArray(version) && !(version as string[]).length)) {\n console.log(`Unrecognized: ${args[0]}`);\n exit(ERROR_CODE);\n return;\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < (version as string[]).length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["exit","fs","getopts","path","url","NodeVersions","isNaN","isArray","Array","x","Object","prototype","toString","call","ERROR_CODE","__dirname","dirname","__filename","fileURLToPath","getVersion","pkgPath","join","JSON","parse","readFileSync","version","printHelp","name","console","log","argv","cliName","options","alias","range","now","help","boolean","Date","args","_","length","stringify","value","load","err","semvers","message","resolve","index"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import exit from 'exit-compat';
|
|
2
|
+
import Cache from 'fetch-json-cache';
|
|
3
|
+
import { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from '../constants.js';
|
|
4
|
+
function fetchWithRetry(cache, url, retries, callback) {
|
|
5
|
+
cache.get(url, {
|
|
6
|
+
force: true
|
|
7
|
+
}, (err)=>{
|
|
8
|
+
if (err && retries > 0) {
|
|
9
|
+
setTimeout(()=>{
|
|
10
|
+
fetchWithRetry(cache, url, retries - 1, callback);
|
|
11
|
+
}, 1000);
|
|
12
|
+
} else {
|
|
13
|
+
callback(err);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function cacheWithRetry(callback) {
|
|
18
|
+
const cache = new Cache(CACHE_PATH);
|
|
19
|
+
fetchWithRetry(cache, DISTS_URL, 3, (err)=>{
|
|
20
|
+
if (err) return callback(err);
|
|
21
|
+
fetchWithRetry(cache, SCHEDULES_URL, 3, callback);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// run patch
|
|
25
|
+
cacheWithRetry((err)=>{
|
|
26
|
+
if (err) {
|
|
27
|
+
console.log(`postinstall warning: ${err.message}`);
|
|
28
|
+
console.log('Cache not updated after retries.');
|
|
29
|
+
exit(0);
|
|
30
|
+
} else {
|
|
31
|
+
console.log('postinstall succeeded');
|
|
32
|
+
exit(0);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/scripts/postinstall.ts"],"sourcesContent":["import exit from 'exit-compat';\nimport Cache from 'fetch-json-cache';\nimport { CACHE_PATH, DISTS_URL, SCHEDULES_URL } from '../constants.ts';\n\ntype Callback = (err: Error | null) => void;\n\nfunction fetchWithRetry(cache: Cache, url: string, retries: number, callback: Callback): void {\n cache.get(url, { force: true }, (err: Error | null) => {\n if (err && retries > 0) {\n setTimeout(() => {\n fetchWithRetry(cache, url, retries - 1, callback);\n }, 1000);\n } else {\n callback(err);\n }\n });\n}\n\nfunction cacheWithRetry(callback: Callback): void {\n const cache = new Cache(CACHE_PATH);\n fetchWithRetry(cache, DISTS_URL, 3, (err) => {\n if (err) return callback(err);\n fetchWithRetry(cache, SCHEDULES_URL, 3, callback);\n });\n}\n\n// run patch\ncacheWithRetry((err) => {\n if (err) {\n console.log(`postinstall warning: ${err.message}`);\n console.log('Cache not updated after retries.');\n exit(0);\n } else {\n console.log('postinstall succeeded');\n exit(0);\n }\n});\n"],"names":["exit","Cache","CACHE_PATH","DISTS_URL","SCHEDULES_URL","fetchWithRetry","cache","url","retries","callback","get","force","err","setTimeout","cacheWithRetry","console","log","message"],"mappings":"AAAA,OAAOA,UAAU,cAAc;AAC/B,OAAOC,WAAW,mBAAmB;AACrC,SAASC,UAAU,EAAEC,SAAS,EAAEC,aAAa,QAAQ,kBAAkB;AAIvE,SAASC,eAAeC,KAAY,EAAEC,GAAW,EAAEC,OAAe,EAAEC,QAAkB;IACpFH,MAAMI,GAAG,CAACH,KAAK;QAAEI,OAAO;IAAK,GAAG,CAACC;QAC/B,IAAIA,OAAOJ,UAAU,GAAG;YACtBK,WAAW;gBACTR,eAAeC,OAAOC,KAAKC,UAAU,GAAGC;YAC1C,GAAG;QACL,OAAO;YACLA,SAASG;QACX;IACF;AACF;AAEA,SAASE,eAAeL,QAAkB;IACxC,MAAMH,QAAQ,IAAIL,MAAMC;IACxBG,eAAeC,OAAOH,WAAW,GAAG,CAACS;QACnC,IAAIA,KAAK,OAAOH,SAASG;QACzBP,eAAeC,OAAOF,eAAe,GAAGK;IAC1C;AACF;AAEA,YAAY;AACZK,eAAe,CAACF;IACd,IAAIA,KAAK;QACPG,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEJ,IAAIK,OAAO,EAAE;QACjDF,QAAQC,GAAG,CAAC;QACZhB,KAAK;IACP,OAAO;QACLe,QAAQC,GAAG,CAAC;QACZhB,KAAK;IACP;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-semvers",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.14",
|
|
4
4
|
"description": "Utilities for managing versions of node including looking up codenames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -47,21 +47,21 @@
|
|
|
47
47
|
"version": "tsds version"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"exit": "^0.
|
|
50
|
+
"exit-compat": "^1.0.0",
|
|
51
51
|
"fetch-json-cache": "^1.3.11",
|
|
52
52
|
"getopts-compat": "^2.2.6",
|
|
53
53
|
"semver": "^5.7.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/mocha": "^10.0.10",
|
|
57
|
-
"@types/node": "^
|
|
57
|
+
"@types/node": "^25.0.1",
|
|
58
58
|
"cr": "^0.1.0",
|
|
59
59
|
"cross-spawn-cb": "^2.4.10",
|
|
60
60
|
"fs-remove-compat": "^0.2.1",
|
|
61
|
-
"node-version-use": "^1.
|
|
61
|
+
"node-version-use": "^2.1.3",
|
|
62
62
|
"pinkie-promise": "^2.0.1",
|
|
63
63
|
"rollup": "^4.53.3",
|
|
64
|
-
"ts-dev-stack": "^1.21.
|
|
64
|
+
"ts-dev-stack": "^1.21.3",
|
|
65
65
|
"tsds-config": "^0.2.0"
|
|
66
66
|
},
|
|
67
67
|
"engines": {
|
package/scripts/postinstall.cjs
CHANGED
|
@@ -1,34 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}, 1000);
|
|
10
|
-
} else {
|
|
11
|
-
callback(err);
|
|
12
|
-
}
|
|
13
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var fs = require('fs');
|
|
3
|
+
var path = require('path');
|
|
4
|
+
var compiled = path.join(__dirname, '..', 'dist', 'cjs', 'scripts', 'postinstall.js');
|
|
5
|
+
if (fs.existsSync(compiled)) {
|
|
6
|
+
require(compiled);
|
|
7
|
+
} else {
|
|
8
|
+
console.log('postinstall: Skipping (dist/ not built yet - run npm run build)');
|
|
14
9
|
}
|
|
15
|
-
|
|
16
|
-
function cacheWithRetry(callback) {
|
|
17
|
-
var cache = new Cache(constants.CACHE_PATH);
|
|
18
|
-
fetchWithRetry(cache, constants.DISTS_URL, 3, function (err) {
|
|
19
|
-
if (err) return callback(err);
|
|
20
|
-
fetchWithRetry(cache, constants.SCHEDULES_URL, 3, callback);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// run patch
|
|
25
|
-
cacheWithRetry(function (err) {
|
|
26
|
-
if (err) {
|
|
27
|
-
console.log('postinstall warning: ' + err.message);
|
|
28
|
-
console.log('Cache not updated after retries.');
|
|
29
|
-
process.exit(0);
|
|
30
|
-
} else {
|
|
31
|
-
console.log('postinstall succeeded');
|
|
32
|
-
process.exit(0);
|
|
33
|
-
}
|
|
34
|
-
});
|