node-semvers 1.3.48 → 1.3.50
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/NodeVersions.d.cts +1 -1
- package/dist/cjs/NodeVersions.d.ts +1 -1
- package/dist/cjs/NodeVersions.js +19 -19
- package/dist/cjs/NodeVersions.js.map +1 -1
- package/dist/cjs/cli.js +4 -4
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/index.d.cts +2 -2
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/normalizeSchedule.d.cts +1 -1
- package/dist/cjs/lib/normalizeSchedule.d.ts +1 -1
- package/dist/cjs/lib/normalizeSchedule.js.map +1 -1
- package/dist/cjs/lib/normalizeVersion.d.cts +1 -1
- package/dist/cjs/lib/normalizeVersion.d.ts +1 -1
- package/dist/cjs/lib/normalizeVersion.js.map +1 -1
- package/dist/cjs/parseExpression/index.js +11 -11
- package/dist/cjs/parseExpression/index.js.map +1 -1
- package/dist/cjs/parseExpression/schedulesLatest.js +2 -2
- package/dist/cjs/parseExpression/schedulesLatest.js.map +1 -1
- package/dist/esm/NodeVersions.d.ts +1 -1
- package/dist/esm/NodeVersions.js.map +1 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/normalizeSchedule.d.ts +1 -1
- package/dist/esm/lib/normalizeSchedule.js.map +1 -1
- package/dist/esm/lib/normalizeVersion.d.ts +1 -1
- package/dist/esm/lib/normalizeVersion.js.map +1 -1
- package/dist/esm/parseExpression/index.js.map +1 -1
- package/dist/esm/parseExpression/schedulesLatest.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
package/dist/cjs/NodeVersions.js
CHANGED
|
@@ -10,13 +10,13 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _fetchjsoncache = /*#__PURE__*/ _interop_require_default(require("fetch-json-cache"));
|
|
12
12
|
var _semver = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
13
|
+
var _constantsts = /*#__PURE__*/ _interop_require_default(require("./constants.js"));
|
|
14
|
+
var _keyFunctionsts = require("./lib/keyFunctions.js");
|
|
15
|
+
var _lineFunctionsts = require("./lib/lineFunctions.js");
|
|
16
|
+
var _matchts = /*#__PURE__*/ _interop_require_default(require("./lib/match.js"));
|
|
17
|
+
var _normalizeSchedulets = /*#__PURE__*/ _interop_require_default(require("./lib/normalizeSchedule.js"));
|
|
18
|
+
var _normalizeVersionts = /*#__PURE__*/ _interop_require_default(require("./lib/normalizeVersion.js"));
|
|
19
|
+
var _indexts = /*#__PURE__*/ _interop_require_default(require("./parseExpression/index.js"));
|
|
20
20
|
function _class_call_check(instance, Constructor) {
|
|
21
21
|
if (!(instance instanceof Constructor)) {
|
|
22
22
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -34,12 +34,12 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
34
34
|
if (!versions) throw new Error('Missing option: versions');
|
|
35
35
|
if (!schedule) throw new Error('Missing option: schedule');
|
|
36
36
|
this.schedules = [];
|
|
37
|
-
for(var name in schedule)this.schedules.push((0,
|
|
37
|
+
for(var name in schedule)this.schedules.push((0, _normalizeSchedulets.default)(name, schedule[name]));
|
|
38
38
|
this.schedules = this.schedules.sort(function(a, b) {
|
|
39
39
|
return _semver.default.gt(_semver.default.coerce(a.semver), _semver.default.coerce(b.semver)) ? 1 : -1;
|
|
40
40
|
});
|
|
41
41
|
this.versions = [];
|
|
42
|
-
for(var index = 0; index < versions.length; index++)this.versions.push((0,
|
|
42
|
+
for(var index = 0; index < versions.length; index++)this.versions.push((0, _normalizeVersionts.default)(versions[index], this.schedules));
|
|
43
43
|
this.versions = this.versions.sort(function(a, b) {
|
|
44
44
|
return _semver.default.gt(a.semver, b.semver) ? -1 : 1;
|
|
45
45
|
});
|
|
@@ -53,13 +53,13 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
53
53
|
if (typeof expression !== 'string') return null;
|
|
54
54
|
expression = expression.trim();
|
|
55
55
|
// single result, try a match
|
|
56
|
-
var query =
|
|
56
|
+
var query = _indexts.default.call(this, expression, options.now || new Date());
|
|
57
57
|
if (query) {
|
|
58
58
|
var version = null;
|
|
59
59
|
for(var index = 0; index < this.versions.length; index++){
|
|
60
60
|
var test = this.versions[index];
|
|
61
61
|
if (options.now && options.now < test.date) continue;
|
|
62
|
-
if (!(0,
|
|
62
|
+
if (!(0, _matchts.default)(test, query)) continue;
|
|
63
63
|
version = test;
|
|
64
64
|
break;
|
|
65
65
|
}
|
|
@@ -72,8 +72,8 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
72
72
|
key: undefined,
|
|
73
73
|
line: undefined
|
|
74
74
|
};
|
|
75
|
-
filters.key = ~range.indexOf('major') ?
|
|
76
|
-
filters.line = ~range.indexOf('even') ?
|
|
75
|
+
filters.key = ~range.indexOf('major') ? _keyFunctionsts.major : ~range.indexOf('minor') ? _keyFunctionsts.minor : undefined;
|
|
76
|
+
filters.line = ~range.indexOf('even') ? _lineFunctionsts.even : ~range.indexOf('odd') ? _lineFunctionsts.odd : undefined;
|
|
77
77
|
var results = [];
|
|
78
78
|
var founds = {};
|
|
79
79
|
for(var index1 = 0; index1 < this.versions.length; index1++){
|
|
@@ -97,10 +97,10 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
97
97
|
}
|
|
98
98
|
options = options || {};
|
|
99
99
|
function worker(options, callback) {
|
|
100
|
-
var cache = new _fetchjsoncache.default(options.cachePath ||
|
|
101
|
-
cache.get(
|
|
100
|
+
var cache = new _fetchjsoncache.default(options.cachePath || _constantsts.default.CACHE_PATH);
|
|
101
|
+
cache.get(_constantsts.default.DISTS_URL, function(err, versions) {
|
|
102
102
|
if (err) return callback(err);
|
|
103
|
-
cache.get(
|
|
103
|
+
cache.get(_constantsts.default.SCHEDULES_URL, function(err, schedule) {
|
|
104
104
|
err ? callback(err) : callback(null, new NodeVersions(versions, schedule));
|
|
105
105
|
});
|
|
106
106
|
});
|
|
@@ -114,9 +114,9 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
114
114
|
};
|
|
115
115
|
NodeVersions.loadSync = function loadSync(options) {
|
|
116
116
|
options = options || {};
|
|
117
|
-
var cache = new _fetchjsoncache.default(options.cachePath ||
|
|
118
|
-
var versions = cache.getSync(
|
|
119
|
-
var schedule = cache.getSync(
|
|
117
|
+
var cache = new _fetchjsoncache.default(options.cachePath || _constantsts.default.CACHE_PATH);
|
|
118
|
+
var versions = cache.getSync(_constantsts.default.DISTS_URL);
|
|
119
|
+
var schedule = cache.getSync(_constantsts.default.SCHEDULES_URL);
|
|
120
120
|
if (!versions || !schedule) return null;
|
|
121
121
|
return new NodeVersions(versions, schedule);
|
|
122
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport constants from './constants.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport constants from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || constants.CACHE_PATH);\n cache.get(constants.DISTS_URL, (err, versions: VersionRaw[]) => {\n if (err) return callback(err);\n\n cache.get(constants.SCHEDULES_URL, (err, schedule: ScheduleRaw[]) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback) as undefined;\n return new Promise((resolve, reject) => worker(options, (err, versions) => (err ? reject(err) : resolve(versions))));\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n options = options || {};\n const cache = new Cache(options.cachePath || constants.CACHE_PATH);\n const versions = cache.getSync(constants.DISTS_URL) as VersionRaw[];\n const schedule = cache.getSync(constants.SCHEDULES_URL) as ScheduleRaw[];\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test, query)) continue;\n version = test;\n break;\n }\n if (version) return version[path];\n }\n\n // filtered expression\n const range = options.range || '';\n const filters = { lts: !!~range.indexOf('lts'), key: undefined, line: undefined };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results = [];\n const founds = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n if (founds[filters.key(test)]) continue;\n founds[filters.key(test)] = true;\n }\n results.unshift(test[path]);\n }\n return results;\n }\n}\n"],"names":["NodeVersions","versions","schedule","Error","schedules","name","push","normalizeSchedule","sort","a","b","semver","gt","coerce","index","length","normalizeVersion","resolve","expression","options","path","trim","query","parseExpression","call","now","Date","version","test","date","match","range","filters","lts","indexOf","key","undefined","line","major","minor","even","odd","results","founds","satisfies","unshift","load","callback","worker","cache","Cache","cachePath","constants","CACHE_PATH","get","DISTS_URL","err","SCHEDULES_URL","Promise","reject","loadSync","getSync"],"mappings":"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"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _exit = /*#__PURE__*/ _interop_require_default(require("exit"));
|
|
12
12
|
var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
|
|
13
13
|
var _isarray = /*#__PURE__*/ _interop_require_default(require("isarray"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var _indexts = /*#__PURE__*/ _interop_require_default(require("./index.js"));
|
|
15
|
+
var _isNaNts = /*#__PURE__*/ _interop_require_default(require("./lib/isNaN.js"));
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -31,7 +31,7 @@ var _default = function(argv) {
|
|
|
31
31
|
},
|
|
32
32
|
stopEarly: true
|
|
33
33
|
});
|
|
34
|
-
if (typeof options.now !== 'undefined') options.now = new Date((0,
|
|
34
|
+
if (typeof options.now !== 'undefined') options.now = new Date((0, _isNaNts.default)(+options.now) ? Date.parse(options.now) : +options.now);
|
|
35
35
|
// define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');
|
|
36
36
|
// define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');
|
|
37
37
|
// define.option('-n, --now [date]', 'use a specific time as a Date.parse');
|
|
@@ -60,7 +60,7 @@ var _default = function(argv) {
|
|
|
60
60
|
console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');
|
|
61
61
|
return (0, _exit.default)(ERROR_CODE);
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
_indexts.default.load(options, function(err, semvers) {
|
|
64
64
|
if (err) {
|
|
65
65
|
console.log(err.message);
|
|
66
66
|
return (0, _exit.default)(ERROR_CODE);
|
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 getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv) => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [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 return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\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 return exit(ERROR_CODE);\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 return exit(ERROR_CODE);\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":["ERROR_CODE","argv","stringify","value","JSON","options","getopts","slice","alias","path","range","now","stopEarly","Date","isNaN","parse","help","console","log","args","concat","_","length","exit","NodeVersions","load","err","semvers","message","version","resolve","isArray","index"],"mappings":";;;;+BASA;;;eAAA;;;2DATiB;oEACG;8DACA;8DACgD;8DAElD;;;;;;AAElB,IAAMA,aAAa;IAEnB,WAAe,SAACC;QAsCLC,YAAT,SAASA,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAvCA,IAAME,UAAUC,IAAAA,sBAAO,EAACL,KAAKM,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAOP,QAAQM,GAAG,KAAK,aAAaN,QAAQM,GAAG,GAAG,IAAIE,KAAKC,IAAAA,gBAAK,EAAC,CAACT,QAAQM,GAAG,IAAIE,KAAKE,KAAK,CAACV,QAAQM,GAAG,IAAI,CAACN,QAAQM,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIN,QAAQW,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,IAAMC,OAAOlB,KAAKM,KAAK,CAAC,GAAG,GAAGa,MAAM,CAACf,QAAQgB,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOK,IAAAA,aAAI,EAACvB;IACd;IAMAwB,gBAAY,CAACC,IAAI,CAACpB,SAAwB,SAACqB,KAAKC;QAC9C,IAAID,KAAK;YACPT,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACvB;QACd;QAEA,IAAM6B,UAAUF,QAAQG,OAAO,CAACX,IAAI,CAAC,EAAE,EAAEd;QACzC,IAAI,CAACwB,WAAYE,IAAAA,gBAAO,EAACF,YAAY,CAAC,AAACA,QAAqBP,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,AAAC,iBAAwB,OAARC,IAAI,CAAC,EAAE;YACpC,OAAOI,IAAAA,aAAI,EAACvB;QACd;QAEAiB,QAAQC,GAAG,CAAC;QACZ,IAAIa,IAAAA,gBAAO,EAACF,UAAU;YACpB,IAAK,IAAIG,QAAQ,GAAGA,QAAQ,AAACH,QAAqBP,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAAChB,UAAU2B,OAAO,CAACG,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAAChB,UAAU2B;QAC7BN,IAAAA,aAAI,EAAC;IACP;AACF"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
return _constantscjs.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
var _constantscjs = /*#__PURE__*/ _interop_require_default(require("../../assets/constants.
|
|
12
|
+
var _constantscjs = /*#__PURE__*/ _interop_require_default(require("../../assets/constants.js"));
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default, type LoadCallback } from './NodeVersions.
|
|
2
|
-
export type * from './types.
|
|
1
|
+
export { default, type LoadCallback } from './NodeVersions.ts';
|
|
2
|
+
export type * from './types.ts';
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default, type LoadCallback } from './NodeVersions.
|
|
2
|
-
export type * from './types.
|
|
1
|
+
export { default, type LoadCallback } from './NodeVersions.ts';
|
|
2
|
+
export type * from './types.ts';
|
package/dist/cjs/index.js
CHANGED
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _NodeVersionsts.default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _NodeVersionsts = /*#__PURE__*/ _interop_require_default(require("./NodeVersions.js"));
|
|
12
12
|
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/index.ts"],"sourcesContent":["export { default, type LoadCallback } from './NodeVersions.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/index.ts"],"sourcesContent":["export { default, type LoadCallback } from './NodeVersions.ts';\nexport type * from './types.ts';\n"],"names":["default"],"mappings":";;;;+BAASA;;;eAAAA,uBAAO;;;qEAA2B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, ScheduleRaw } from '../types.
|
|
1
|
+
import type { Schedule, ScheduleRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeSchedule(name: string, raw: ScheduleRaw): Schedule;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, ScheduleRaw } from '../types.
|
|
1
|
+
import type { Schedule, ScheduleRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeSchedule(name: string, raw: ScheduleRaw): Schedule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeSchedule.ts"],"sourcesContent":["import type { Schedule, ScheduleRaw } from '../types.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeSchedule.ts"],"sourcesContent":["import type { Schedule, ScheduleRaw } from '../types.ts';\n\nexport default function normalizeSchedule(name: string, raw: ScheduleRaw): Schedule {\n const schedule = {\n name,\n semver: name.slice(1),\n raw,\n } as unknown as Schedule;\n\n schedule.start = new Date(raw.start);\n schedule.end = new Date(raw.end);\n if (raw.codename) schedule.codename = raw.codename.toLowerCase();\n if (raw.lts) schedule.lts = new Date(raw.lts);\n if (raw.maintenance) schedule.maintenance = new Date(raw.maintenance);\n\n return schedule;\n}\n"],"names":["normalizeSchedule","name","raw","schedule","semver","slice","start","Date","end","codename","toLowerCase","lts","maintenance"],"mappings":";;;;+BAEA;;;eAAwBA;;;AAAT,SAASA,kBAAkBC,IAAY,EAAEC,GAAgB;IACtE,IAAMC,WAAW;QACfF,MAAAA;QACAG,QAAQH,KAAKI,KAAK,CAAC;QACnBH,KAAAA;IACF;IAEAC,SAASG,KAAK,GAAG,IAAIC,KAAKL,IAAII,KAAK;IACnCH,SAASK,GAAG,GAAG,IAAID,KAAKL,IAAIM,GAAG;IAC/B,IAAIN,IAAIO,QAAQ,EAAEN,SAASM,QAAQ,GAAGP,IAAIO,QAAQ,CAACC,WAAW;IAC9D,IAAIR,IAAIS,GAAG,EAAER,SAASQ,GAAG,GAAG,IAAIJ,KAAKL,IAAIS,GAAG;IAC5C,IAAIT,IAAIU,WAAW,EAAET,SAASS,WAAW,GAAG,IAAIL,KAAKL,IAAIU,WAAW;IAEpE,OAAOT;AACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, Version, VersionRaw } from '../types.
|
|
1
|
+
import type { Schedule, Version, VersionRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeVersion(raw: VersionRaw, schedules: Schedule[]): Version;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, Version, VersionRaw } from '../types.
|
|
1
|
+
import type { Schedule, Version, VersionRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeVersion(raw: VersionRaw, schedules: Schedule[]): Version;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeVersion.ts"],"sourcesContent":["import type { Schedule, Version, VersionRaw } from '../types.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeVersion.ts"],"sourcesContent":["import type { Schedule, Version, VersionRaw } from '../types.ts';\n\nexport default function normalizeVersion(raw: VersionRaw, schedules: Schedule[]): Version {\n const parts = raw.version.substr(1).split('.');\n\n const version = {\n version: raw.version,\n name: parts[0] !== '0' ? `v${+parts[0]}` : `v${+parts[0]}.${+parts[1]}`,\n semver: `${parts[0]}.${+parts[1]}.${+parts[2]}`,\n major: +parts[0],\n minor: +parts[1],\n patch: +parts[2],\n lts: raw.lts,\n date: new Date(raw.date),\n raw: raw,\n } as Version;\n\n let schedule = null;\n for (let index = 0; index < schedules.length; index++) {\n const test = schedules[index];\n if (test.name === version.name) {\n schedule = test;\n break;\n }\n }\n if (schedule && raw.lts) version.codename = schedule.codename;\n return version;\n}\n"],"names":["normalizeVersion","raw","schedules","parts","version","substr","split","name","semver","major","minor","patch","lts","date","Date","schedule","index","length","test","codename"],"mappings":";;;;+BAEA;;;eAAwBA;;;AAAT,SAASA,iBAAiBC,GAAe,EAAEC,SAAqB;IAC7E,IAAMC,QAAQF,IAAIG,OAAO,CAACC,MAAM,CAAC,GAAGC,KAAK,CAAC;IAE1C,IAAMF,UAAU;QACdA,SAASH,IAAIG,OAAO;QACpBG,MAAMJ,KAAK,CAAC,EAAE,KAAK,MAAM,AAAC,IAAa,OAAV,CAACA,KAAK,CAAC,EAAE,IAAK,AAAC,IAAgB,OAAb,CAACA,KAAK,CAAC,EAAE,EAAC,KAAa,OAAV,CAACA,KAAK,CAAC,EAAE;QACrEK,QAAQ,AAAC,GAAc,OAAZL,KAAK,CAAC,EAAE,EAAC,KAAgB,OAAb,CAACA,KAAK,CAAC,EAAE,EAAC,KAAa,OAAV,CAACA,KAAK,CAAC,EAAE;QAC7CM,OAAO,CAACN,KAAK,CAAC,EAAE;QAChBO,OAAO,CAACP,KAAK,CAAC,EAAE;QAChBQ,OAAO,CAACR,KAAK,CAAC,EAAE;QAChBS,KAAKX,IAAIW,GAAG;QACZC,MAAM,IAAIC,KAAKb,IAAIY,IAAI;QACvBZ,KAAKA;IACP;IAEA,IAAIc,WAAW;IACf,IAAK,IAAIC,QAAQ,GAAGA,QAAQd,UAAUe,MAAM,EAAED,QAAS;QACrD,IAAME,OAAOhB,SAAS,CAACc,MAAM;QAC7B,IAAIE,KAAKX,IAAI,KAAKH,QAAQG,IAAI,EAAE;YAC9BQ,WAAWG;YACX;QACF;IACF;IACA,IAAIH,YAAYd,IAAIW,GAAG,EAAER,QAAQe,QAAQ,GAAGJ,SAASI,QAAQ;IAC7D,OAAOf;AACT"}
|
|
@@ -9,17 +9,17 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
return parseExpression;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
12
|
+
var _isNaNts = /*#__PURE__*/ _interop_require_default(require("../lib/isNaN.js"));
|
|
13
|
+
var _isLatestFnts = /*#__PURE__*/ _interop_require_default(require("./isLatestFn.js"));
|
|
14
|
+
var _isLTSFnts = /*#__PURE__*/ _interop_require_default(require("./isLTSFn.js"));
|
|
15
|
+
var _schedulesLatestts = /*#__PURE__*/ _interop_require_default(require("./schedulesLatest.js"));
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
function parseExpression(expression, now) {
|
|
22
|
-
if (expression[0] === 'v' && !(0,
|
|
22
|
+
if (expression[0] === 'v' && !(0, _isNaNts.default)(+expression.substr(1, 1))) expression = expression.substr(1);
|
|
23
23
|
if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);
|
|
24
24
|
if (expression === 'stable') expression = 'lts';
|
|
25
25
|
if (typeof expression === 'number') return {
|
|
@@ -27,30 +27,30 @@ function parseExpression(expression, now) {
|
|
|
27
27
|
};
|
|
28
28
|
if (~expression.indexOf('.')) {
|
|
29
29
|
var parts = expression.split('.');
|
|
30
|
-
if (parts.length === 1) return (0,
|
|
30
|
+
if (parts.length === 1) return (0, _isNaNts.default)(+parts[0]) ? null : {
|
|
31
31
|
major: +parts[0]
|
|
32
32
|
};
|
|
33
|
-
if (parts.length === 2) return (0,
|
|
33
|
+
if (parts.length === 2) return (0, _isNaNts.default)(+parts[0]) && (0, _isNaNts.default)(+parts[1]) ? null : {
|
|
34
34
|
major: +parts[0],
|
|
35
35
|
minor: +parts[1]
|
|
36
36
|
};
|
|
37
|
-
return (0,
|
|
37
|
+
return (0, _isNaNts.default)(+parts[0]) && (0, _isNaNts.default)(+parts[1]) && (0, _isNaNts.default)(+parts[2]) ? null : {
|
|
38
38
|
major: +parts[0],
|
|
39
39
|
minor: +parts[1],
|
|
40
40
|
patch: +parts[2]
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
if (!(0,
|
|
43
|
+
if (!(0, _isNaNts.default)(+expression)) return {
|
|
44
44
|
major: +expression
|
|
45
45
|
};
|
|
46
46
|
if (expression === 'lts') {
|
|
47
|
-
var lts = (0,
|
|
47
|
+
var lts = (0, _schedulesLatestts.default)(this.schedules, (0, _isLTSFnts.default)(now));
|
|
48
48
|
return lts ? {
|
|
49
49
|
name: lts.name
|
|
50
50
|
} : null;
|
|
51
51
|
}
|
|
52
52
|
if (expression === 'latest') {
|
|
53
|
-
var latest = (0,
|
|
53
|
+
var latest = (0, _schedulesLatestts.default)(this.schedules, (0, _isLatestFnts.default)(now));
|
|
54
54
|
return latest ? {
|
|
55
55
|
name: latest.name
|
|
56
56
|
} : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression, now) {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["parseExpression","expression","now","isNaN","substr","major","indexOf","parts","split","length","minor","patch","lts","schedulesLatest","schedules","isLTSFn","name","latest","isLatestFn","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;;;;;+BAM/D;;;eAAwBA;;;8DALN;mEACK;gEACH;wEACQ;;;;;;AAEb,SAASA,gBAAgBC,UAAU,EAAEC,GAAG;IACrD,IAAID,UAAU,CAAC,EAAE,KAAK,OAAO,CAACE,IAAAA,gBAAK,EAAC,CAACF,WAAWG,MAAM,CAAC,GAAG,KAAKH,aAAaA,WAAWG,MAAM,CAAC;IAC9F,IAAIH,WAAWG,MAAM,CAAC,GAAG,OAAO,QAAQH,aAAaA,WAAWG,MAAM,CAAC,OAAO,MAAM,QAAQH,WAAWG,MAAM,CAAC;IAC9G,IAAIH,eAAe,UAAUA,aAAa;IAE1C,IAAI,OAAOA,eAAe,UAAU,OAAO;QAAEI,OAAOJ;IAAW;IAC/D,IAAI,CAACA,WAAWK,OAAO,CAAC,MAAM;QAC5B,IAAMC,QAAQN,WAAWO,KAAK,CAAC;QAC/B,IAAID,MAAME,MAAM,KAAK,GAAG,OAAON,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;QAAC;QAC5E,IAAIA,MAAME,MAAM,KAAK,GAAG,OAAON,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;QAAC;QAClH,OAAOJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,KAAKJ,IAAAA,gBAAK,EAAC,CAACI,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;YAAEI,OAAO,CAACJ,KAAK,CAAC,EAAE;QAAC;IAClI;IACA,IAAI,CAACJ,IAAAA,gBAAK,EAAC,CAACF,aAAa,OAAO;QAAEI,OAAO,CAACJ;IAAW;IACrD,IAAIA,eAAe,OAAO;QACxB,IAAMW,MAAMC,IAAAA,0BAAe,EAAC,IAAI,CAACC,SAAS,EAAEC,IAAAA,kBAAO,EAACb;QACpD,OAAOU,MAAM;YAAEI,MAAMJ,IAAII,IAAI;QAAC,IAAI;IACpC;IACA,IAAIf,eAAe,UAAU;QAC3B,IAAMgB,SAASJ,IAAAA,0BAAe,EAAC,IAAI,CAACC,SAAS,EAAEI,IAAAA,qBAAU,EAAChB;QAC1D,OAAOe,SAAS;YAAED,MAAMC,OAAOD,IAAI;QAAC,IAAI;IAC1C;IACA,OAAO;QAAEG,UAAUlB,WAAWmB,WAAW;IAAG;AAC9C"}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return schedulesLatest;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _schedulesForEachts = /*#__PURE__*/ _interop_require_default(require("./schedulesForEach.js"));
|
|
12
12
|
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
|
@@ -16,7 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
}
|
|
17
17
|
function schedulesLatest(schedules, filter) {
|
|
18
18
|
var latest = null;
|
|
19
|
-
(0,
|
|
19
|
+
(0, _schedulesForEachts.default)(schedules, filter, function(schedule) {
|
|
20
20
|
if (!latest || latest.start < schedule.start) latest = schedule;
|
|
21
21
|
});
|
|
22
22
|
return latest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import schedulesForEach from './schedulesForEach.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import schedulesForEach from './schedulesForEach.ts';\n\nexport default function schedulesLatest(schedules, filter) {\n let latest = null;\n schedulesForEach(schedules, filter, (schedule) => {\n if (!latest || latest.start < schedule.start) latest = schedule;\n });\n return latest;\n}\n"],"names":["schedulesLatest","schedules","filter","latest","schedulesForEach","schedule","start"],"mappings":";;;;+BAEA;;;eAAwBA;;;yEAFK;;;;;;AAEd,SAASA,gBAAgBC,SAAS,EAAEC,MAAM;IACvD,IAAIC,SAAS;IACbC,IAAAA,2BAAgB,EAACH,WAAWC,QAAQ,SAACG;QACnC,IAAI,CAACF,UAAUA,OAAOG,KAAK,GAAGD,SAASC,KAAK,EAAEH,SAASE;IACzD;IACA,OAAOF;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.
|
|
1
|
+
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';
|
|
2
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
3
3
|
export default class NodeVersions {
|
|
4
4
|
versions: Version[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport constants from './constants.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport constants from './constants.ts';\nimport { major, minor } from './lib/keyFunctions.ts';\nimport { even, odd } from './lib/lineFunctions.ts';\nimport match from './lib/match.ts';\nimport normalizeSchedule from './lib/normalizeSchedule.ts';\nimport normalizeVersion from './lib/normalizeVersion.ts';\nimport parseExpression from './parseExpression/index.ts';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.ts';\n\nexport type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;\n\nexport default class NodeVersions {\n versions: Version[];\n schedules: Schedule[];\n\n constructor(versions: VersionRaw[], schedule: ScheduleRaw[]) {\n if (!versions) throw new Error('Missing option: versions');\n if (!schedule) throw new Error('Missing option: schedule');\n\n this.schedules = [];\n for (const name in schedule) this.schedules.push(normalizeSchedule(name, schedule[name]));\n this.schedules = this.schedules.sort((a, b) => (semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1));\n\n this.versions = [];\n for (let index = 0; index < versions.length; index++) this.versions.push(normalizeVersion(versions[index], this.schedules));\n this.versions = this.versions.sort((a, b) => (semver.gt(a.semver, b.semver) ? -1 : 1));\n }\n\n static load(options?: LoadOptions | LoadCallback, callback?: LoadCallback): undefined | Promise<NodeVersions> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n function worker(options, callback) {\n const cache = new Cache((options as LoadOptions).cachePath || constants.CACHE_PATH);\n cache.get(constants.DISTS_URL, (err, versions: VersionRaw[]) => {\n if (err) return callback(err);\n\n cache.get(constants.SCHEDULES_URL, (err, schedule: ScheduleRaw[]) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n }\n\n if (typeof callback === 'function') return worker(options, callback) as undefined;\n return new Promise((resolve, reject) => worker(options, (err, versions) => (err ? reject(err) : resolve(versions))));\n }\n\n static loadSync(options?: LoadOptions): NodeVersions | null {\n options = options || {};\n const cache = new Cache(options.cachePath || constants.CACHE_PATH);\n const versions = cache.getSync(constants.DISTS_URL) as VersionRaw[];\n const schedule = cache.getSync(constants.SCHEDULES_URL) as ScheduleRaw[];\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression: string | number | Date, options?: ResolveOptions): string | string[] | Version | Version[] | null {\n options = options || {};\n const path = options.path || 'version';\n\n // normalize\n if (typeof expression === 'number') expression = `${expression}`;\n if (typeof expression !== 'string') return null;\n expression = expression.trim();\n\n // single result, try a match\n const query = parseExpression.call(this, expression, options.now || new Date());\n if (query) {\n let version = null;\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (!match(test, query)) continue;\n version = test;\n break;\n }\n if (version) return version[path];\n }\n\n // filtered expression\n const range = options.range || '';\n const filters = { lts: !!~range.indexOf('lts'), key: undefined, line: undefined };\n filters.key = ~range.indexOf('major') ? major : ~range.indexOf('minor') ? minor : undefined;\n filters.line = ~range.indexOf('even') ? even : ~range.indexOf('odd') ? odd : undefined;\n\n const results = [];\n const founds = {};\n\n for (let index = 0; index < this.versions.length; index++) {\n const test = this.versions[index];\n if (options.now && options.now < test.date) continue;\n if (filters.lts && !test.lts) continue;\n if (filters.line && !filters.line(test)) continue;\n if (!semver.satisfies(test.semver, expression)) continue;\n if (filters.key) {\n if (founds[filters.key(test)]) continue;\n founds[filters.key(test)] = true;\n }\n results.unshift(test[path]);\n }\n return results;\n }\n}\n"],"names":["Cache","semver","constants","major","minor","even","odd","match","normalizeSchedule","normalizeVersion","parseExpression","NodeVersions","load","options","callback","worker","cache","cachePath","CACHE_PATH","get","DISTS_URL","err","versions","SCHEDULES_URL","schedule","Promise","resolve","reject","loadSync","getSync","expression","path","trim","query","call","now","Date","version","index","length","test","date","range","filters","lts","indexOf","key","undefined","line","results","founds","satisfies","unshift","Error","schedules","name","push","sort","a","b","gt","coerce"],"mappings":"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"}
|
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 getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport isArray from 'isarray';\nimport NodeVersions, { type LoadOptions, type ResolveOptions } from './index.ts';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from './lib/isNaN.ts';\n\nconst ERROR_CODE = 11;\n\nexport default (argv) => {\n const options = getopts(argv.slice(1), {\n alias: { path: 'p', range: 'r', now: 'n' },\n stopEarly: true,\n });\n if (typeof options.now !== 'undefined') options.now = new Date(isNaN(+options.now) ? Date.parse(options.now) : +options.now);\n\n // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');\n // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');\n // define.option('-n, --now [date]', 'use a specific time as a Date.parse');\n\n if (options.help) {\n console.log('');\n console.log('Example call:');\n console.log(' $ nv [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 return;\n }\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');\n return exit(ERROR_CODE);\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 return exit(ERROR_CODE);\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 return exit(ERROR_CODE);\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","getopts","isArray","NodeVersions","isNaN","ERROR_CODE","argv","options","slice","alias","path","range","now","stopEarly","Date","parse","help","console","log","args","concat","_","length","stringify","value","JSON","load","err","semvers","message","version","resolve","index"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAa,UAAU;AAC9B,OAAOC,kBAA6D,aAAa;AACjF,+DAA+D;AAC/D,OAAOC,WAAW,iBAAiB;AAEnC,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC;IACd,MAAMC,UAAUN,QAAQK,KAAKE,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,MAAM;YAAKC,OAAO;YAAKC,KAAK;QAAI;QACzCC,WAAW;IACb;IACA,IAAI,OAAON,QAAQK,GAAG,KAAK,aAAaL,QAAQK,GAAG,GAAG,IAAIE,KAAKV,MAAM,CAACG,QAAQK,GAAG,IAAIE,KAAKC,KAAK,CAACR,QAAQK,GAAG,IAAI,CAACL,QAAQK,GAAG;IAE3H,8GAA8G;IAC9G,uJAAuJ;IACvJ,4EAA4E;IAE5E,IAAIL,QAAQS,IAAI,EAAE;QAChBC,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZD,QAAQC,GAAG,CAAC;QACZ;IACF;IAEA,MAAMC,OAAOb,KAAKE,KAAK,CAAC,GAAG,GAAGY,MAAM,CAACb,QAAQc,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBL,QAAQC,GAAG,CAAC;QACZ,OAAOlB,KAAKK;IACd;IAEA,SAASkB,UAAUC,KAAK;QACtB,OAAO,OAAOA,UAAU,WAAWA,QAAQC,KAAKF,SAAS,CAACC;IAC5D;IAEArB,aAAauB,IAAI,CAACnB,SAAwB,CAACoB,KAAKC;QAC9C,IAAID,KAAK;YACPV,QAAQC,GAAG,CAACS,IAAIE,OAAO;YACvB,OAAO7B,KAAKK;QACd;QAEA,MAAMyB,UAAUF,QAAQG,OAAO,CAACZ,IAAI,CAAC,EAAE,EAAEZ;QACzC,IAAI,CAACuB,WAAY5B,QAAQ4B,YAAY,CAAC,AAACA,QAAqBR,MAAM,EAAG;YACnEL,QAAQC,GAAG,CAAC,CAAC,cAAc,EAAEC,IAAI,CAAC,EAAE,EAAE;YACtC,OAAOnB,KAAKK;QACd;QAEAY,QAAQC,GAAG,CAAC;QACZ,IAAIhB,QAAQ4B,UAAU;YACpB,IAAK,IAAIE,QAAQ,GAAGA,QAAQ,AAACF,QAAqBR,MAAM,EAAEU,QAASf,QAAQC,GAAG,CAACK,UAAUO,OAAO,CAACE,MAAM;QACzG,OAAOf,QAAQC,GAAG,CAACK,UAAUO;QAC7B9B,KAAK;IACP;AACF,CAAA,EAAE"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default, type LoadCallback } from './NodeVersions.
|
|
2
|
-
export type * from './types.
|
|
1
|
+
export { default, type LoadCallback } from './NodeVersions.ts';
|
|
2
|
+
export type * from './types.ts';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/index.ts"],"sourcesContent":["export { default, type LoadCallback } from './NodeVersions.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/index.ts"],"sourcesContent":["export { default, type LoadCallback } from './NodeVersions.ts';\nexport type * from './types.ts';\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAA2B,oBAAoB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, ScheduleRaw } from '../types.
|
|
1
|
+
import type { Schedule, ScheduleRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeSchedule(name: string, raw: ScheduleRaw): Schedule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeSchedule.ts"],"sourcesContent":["import type { Schedule, ScheduleRaw } from '../types.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeSchedule.ts"],"sourcesContent":["import type { Schedule, ScheduleRaw } from '../types.ts';\n\nexport default function normalizeSchedule(name: string, raw: ScheduleRaw): Schedule {\n const schedule = {\n name,\n semver: name.slice(1),\n raw,\n } as unknown as Schedule;\n\n schedule.start = new Date(raw.start);\n schedule.end = new Date(raw.end);\n if (raw.codename) schedule.codename = raw.codename.toLowerCase();\n if (raw.lts) schedule.lts = new Date(raw.lts);\n if (raw.maintenance) schedule.maintenance = new Date(raw.maintenance);\n\n return schedule;\n}\n"],"names":["normalizeSchedule","name","raw","schedule","semver","slice","start","Date","end","codename","toLowerCase","lts","maintenance"],"mappings":"AAEA,eAAe,SAASA,kBAAkBC,IAAY,EAAEC,GAAgB;IACtE,MAAMC,WAAW;QACfF;QACAG,QAAQH,KAAKI,KAAK,CAAC;QACnBH;IACF;IAEAC,SAASG,KAAK,GAAG,IAAIC,KAAKL,IAAII,KAAK;IACnCH,SAASK,GAAG,GAAG,IAAID,KAAKL,IAAIM,GAAG;IAC/B,IAAIN,IAAIO,QAAQ,EAAEN,SAASM,QAAQ,GAAGP,IAAIO,QAAQ,CAACC,WAAW;IAC9D,IAAIR,IAAIS,GAAG,EAAER,SAASQ,GAAG,GAAG,IAAIJ,KAAKL,IAAIS,GAAG;IAC5C,IAAIT,IAAIU,WAAW,EAAET,SAASS,WAAW,GAAG,IAAIL,KAAKL,IAAIU,WAAW;IAEpE,OAAOT;AACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Schedule, Version, VersionRaw } from '../types.
|
|
1
|
+
import type { Schedule, Version, VersionRaw } from '../types.ts';
|
|
2
2
|
export default function normalizeVersion(raw: VersionRaw, schedules: Schedule[]): Version;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeVersion.ts"],"sourcesContent":["import type { Schedule, Version, VersionRaw } from '../types.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/normalizeVersion.ts"],"sourcesContent":["import type { Schedule, Version, VersionRaw } from '../types.ts';\n\nexport default function normalizeVersion(raw: VersionRaw, schedules: Schedule[]): Version {\n const parts = raw.version.substr(1).split('.');\n\n const version = {\n version: raw.version,\n name: parts[0] !== '0' ? `v${+parts[0]}` : `v${+parts[0]}.${+parts[1]}`,\n semver: `${parts[0]}.${+parts[1]}.${+parts[2]}`,\n major: +parts[0],\n minor: +parts[1],\n patch: +parts[2],\n lts: raw.lts,\n date: new Date(raw.date),\n raw: raw,\n } as Version;\n\n let schedule = null;\n for (let index = 0; index < schedules.length; index++) {\n const test = schedules[index];\n if (test.name === version.name) {\n schedule = test;\n break;\n }\n }\n if (schedule && raw.lts) version.codename = schedule.codename;\n return version;\n}\n"],"names":["normalizeVersion","raw","schedules","parts","version","substr","split","name","semver","major","minor","patch","lts","date","Date","schedule","index","length","test","codename"],"mappings":"AAEA,eAAe,SAASA,iBAAiBC,GAAe,EAAEC,SAAqB;IAC7E,MAAMC,QAAQF,IAAIG,OAAO,CAACC,MAAM,CAAC,GAAGC,KAAK,CAAC;IAE1C,MAAMF,UAAU;QACdA,SAASH,IAAIG,OAAO;QACpBG,MAAMJ,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,EAAE,EAAE;QACvEK,QAAQ,GAAGL,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,EAAE,EAAE;QAC/CM,OAAO,CAACN,KAAK,CAAC,EAAE;QAChBO,OAAO,CAACP,KAAK,CAAC,EAAE;QAChBQ,OAAO,CAACR,KAAK,CAAC,EAAE;QAChBS,KAAKX,IAAIW,GAAG;QACZC,MAAM,IAAIC,KAAKb,IAAIY,IAAI;QACvBZ,KAAKA;IACP;IAEA,IAAIc,WAAW;IACf,IAAK,IAAIC,QAAQ,GAAGA,QAAQd,UAAUe,MAAM,EAAED,QAAS;QACrD,MAAME,OAAOhB,SAAS,CAACc,MAAM;QAC7B,IAAIE,KAAKX,IAAI,KAAKH,QAAQG,IAAI,EAAE;YAC9BQ,WAAWG;YACX;QACF;IACF;IACA,IAAIH,YAAYd,IAAIW,GAAG,EAAER,QAAQe,QAAQ,GAAGJ,SAASI,QAAQ;IAC7D,OAAOf;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/index.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: Legacy\nimport isNaN from '../lib/isNaN.ts';\nimport isLatestFn from './isLatestFn.ts';\nimport isLTSFn from './isLTSFn.ts';\nimport schedulesLatest from './schedulesLatest.ts';\n\nexport default function parseExpression(expression, now) {\n if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);\n if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);\n if (expression === 'stable') expression = 'lts';\n\n if (typeof expression === 'number') return { major: expression };\n if (~expression.indexOf('.')) {\n const parts = expression.split('.');\n if (parts.length === 1) return isNaN(+parts[0]) ? null : { major: +parts[0] };\n if (parts.length === 2) return isNaN(+parts[0]) && isNaN(+parts[1]) ? null : { major: +parts[0], minor: +parts[1] };\n return isNaN(+parts[0]) && isNaN(+parts[1]) && isNaN(+parts[2]) ? null : { major: +parts[0], minor: +parts[1], patch: +parts[2] };\n }\n if (!isNaN(+expression)) return { major: +expression };\n if (expression === 'lts') {\n const lts = schedulesLatest(this.schedules, isLTSFn(now));\n return lts ? { name: lts.name } : null;\n }\n if (expression === 'latest') {\n const latest = schedulesLatest(this.schedules, isLatestFn(now));\n return latest ? { name: latest.name } : null;\n }\n return { codename: expression.toLowerCase() };\n}\n"],"names":["isNaN","isLatestFn","isLTSFn","schedulesLatest","parseExpression","expression","now","substr","major","indexOf","parts","split","length","minor","patch","lts","schedules","name","latest","codename","toLowerCase"],"mappings":"AAAA,+DAA+D;AAC/D,OAAOA,WAAW,kBAAkB;AACpC,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,aAAa,eAAe;AACnC,OAAOC,qBAAqB,uBAAuB;AAEnD,eAAe,SAASC,gBAAgBC,UAAU,EAAEC,GAAG;IACrD,IAAID,UAAU,CAAC,EAAE,KAAK,OAAO,CAACL,MAAM,CAACK,WAAWE,MAAM,CAAC,GAAG,KAAKF,aAAaA,WAAWE,MAAM,CAAC;IAC9F,IAAIF,WAAWE,MAAM,CAAC,GAAG,OAAO,QAAQF,aAAaA,WAAWE,MAAM,CAAC,OAAO,MAAM,QAAQF,WAAWE,MAAM,CAAC;IAC9G,IAAIF,eAAe,UAAUA,aAAa;IAE1C,IAAI,OAAOA,eAAe,UAAU,OAAO;QAAEG,OAAOH;IAAW;IAC/D,IAAI,CAACA,WAAWI,OAAO,CAAC,MAAM;QAC5B,MAAMC,QAAQL,WAAWM,KAAK,CAAC;QAC/B,IAAID,MAAME,MAAM,KAAK,GAAG,OAAOZ,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;QAAC;QAC5E,IAAIA,MAAME,MAAM,KAAK,GAAG,OAAOZ,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;QAAC;QAClH,OAAOV,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,KAAKV,MAAM,CAACU,KAAK,CAAC,EAAE,IAAI,OAAO;YAAEF,OAAO,CAACE,KAAK,CAAC,EAAE;YAAEG,OAAO,CAACH,KAAK,CAAC,EAAE;YAAEI,OAAO,CAACJ,KAAK,CAAC,EAAE;QAAC;IAClI;IACA,IAAI,CAACV,MAAM,CAACK,aAAa,OAAO;QAAEG,OAAO,CAACH;IAAW;IACrD,IAAIA,eAAe,OAAO;QACxB,MAAMU,MAAMZ,gBAAgB,IAAI,CAACa,SAAS,EAAEd,QAAQI;QACpD,OAAOS,MAAM;YAAEE,MAAMF,IAAIE,IAAI;QAAC,IAAI;IACpC;IACA,IAAIZ,eAAe,UAAU;QAC3B,MAAMa,SAASf,gBAAgB,IAAI,CAACa,SAAS,EAAEf,WAAWK;QAC1D,OAAOY,SAAS;YAAED,MAAMC,OAAOD,IAAI;QAAC,IAAI;IAC1C;IACA,OAAO;QAAEE,UAAUd,WAAWe,WAAW;IAAG;AAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import schedulesForEach from './schedulesForEach.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/parseExpression/schedulesLatest.ts"],"sourcesContent":["import schedulesForEach from './schedulesForEach.ts';\n\nexport default function schedulesLatest(schedules, filter) {\n let latest = null;\n schedulesForEach(schedules, filter, (schedule) => {\n if (!latest || latest.start < schedule.start) latest = schedule;\n });\n return latest;\n}\n"],"names":["schedulesForEach","schedulesLatest","schedules","filter","latest","schedule","start"],"mappings":"AAAA,OAAOA,sBAAsB,wBAAwB;AAErD,eAAe,SAASC,gBAAgBC,SAAS,EAAEC,MAAM;IACvD,IAAIC,SAAS;IACbJ,iBAAiBE,WAAWC,QAAQ,CAACE;QACnC,IAAI,CAACD,UAAUA,OAAOE,KAAK,GAAGD,SAASC,KAAK,EAAEF,SAASC;IACzD;IACA,OAAOD;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-semvers",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.50",
|
|
4
4
|
"description": "Utilities for managing versions of node including looking up codenames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"main": "dist/cjs/index.js",
|
|
29
29
|
"types": "dist/cjs/index.d.cts",
|
|
30
30
|
"bin": {
|
|
31
|
-
"nsv": "
|
|
31
|
+
"nsv": "bin/cli.js"
|
|
32
32
|
},
|
|
33
33
|
"files": [
|
|
34
34
|
"dist",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"exit": "^0.1.2",
|
|
49
|
-
"fetch-json-cache": "^1.2.
|
|
49
|
+
"fetch-json-cache": "^1.2.51",
|
|
50
50
|
"getopts-compat": "^2.2.6",
|
|
51
51
|
"isarray": "^2.0.5",
|
|
52
52
|
"semver": "^5.7.1"
|