node-semvers 0.6.11 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return NodeVersions;
9
+ }
10
+ });
11
+ var _fetchjsoncache = /*#__PURE__*/ _interop_require_default(require("fetch-json-cache"));
12
+ var _semver = /*#__PURE__*/ _interop_require_default(require("semver"));
13
+ var _constants = /*#__PURE__*/ _interop_require_default(require("./constants"));
14
+ var _keyFunctions = /*#__PURE__*/ _interop_require_default(require("./keyFunctions"));
15
+ var _lineFunctions = /*#__PURE__*/ _interop_require_default(require("./lineFunctions"));
16
+ var _match = /*#__PURE__*/ _interop_require_default(require("./match"));
17
+ var _normalizeSchedule = /*#__PURE__*/ _interop_require_default(require("./normalizeSchedule"));
18
+ var _normalizeVersion = /*#__PURE__*/ _interop_require_default(require("./normalizeVersion"));
19
+ var _parseExpression = /*#__PURE__*/ _interop_require_default(require("./parseExpression"));
20
+ function _class_call_check(instance, Constructor) {
21
+ if (!(instance instanceof Constructor)) {
22
+ throw new TypeError("Cannot call a class as a function");
23
+ }
24
+ }
25
+ function _defineProperties(target, props) {
26
+ for(var i = 0; i < props.length; i++){
27
+ var descriptor = props[i];
28
+ descriptor.enumerable = descriptor.enumerable || false;
29
+ descriptor.configurable = true;
30
+ if ("value" in descriptor) descriptor.writable = true;
31
+ Object.defineProperty(target, descriptor.key, descriptor);
32
+ }
33
+ }
34
+ function _create_class(Constructor, protoProps, staticProps) {
35
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
36
+ if (staticProps) _defineProperties(Constructor, staticProps);
37
+ return Constructor;
38
+ }
39
+ function _interop_require_default(obj) {
40
+ return obj && obj.__esModule ? obj : {
41
+ default: obj
42
+ };
43
+ }
44
+ var NodeVersions = /*#__PURE__*/ function() {
45
+ "use strict";
46
+ function NodeVersions(versions, schedule) {
47
+ _class_call_check(this, NodeVersions);
48
+ if (!versions) throw new Error('Missing option: versions');
49
+ if (!schedule) throw new Error('Missing option: schedule');
50
+ this.schedules = [];
51
+ for(var name in schedule)this.schedules.push((0, _normalizeSchedule.default)(name, schedule[name]));
52
+ this.schedules = this.schedules.sort(function(a, b) {
53
+ return _semver.default.gt(_semver.default.coerce(a.semver), _semver.default.coerce(b.semver)) ? 1 : -1;
54
+ });
55
+ this.versions = [];
56
+ for(var index = 0; index < versions.length; index++)this.versions.push((0, _normalizeVersion.default)(versions[index], this.schedules));
57
+ this.versions = this.versions.sort(function(a, b) {
58
+ return _semver.default.gt(a.semver, b.semver) ? -1 : 1;
59
+ });
60
+ }
61
+ _create_class(NodeVersions, [
62
+ {
63
+ key: "resolve",
64
+ value: function resolve(expression, options) {
65
+ options = options || {};
66
+ var path = options.path || 'version';
67
+ // normalize
68
+ if (typeof expression === 'number') expression = "".concat(expression);
69
+ if (typeof expression !== 'string') return null;
70
+ expression = expression.trim();
71
+ // single result, try a match
72
+ var query = _parseExpression.default.call(this, expression, options.now || new Date());
73
+ if (query) {
74
+ var version = null;
75
+ for(var index = 0; index < this.versions.length; index++){
76
+ var test = this.versions[index];
77
+ if (options.now && options.now < test.date) continue;
78
+ if (!(0, _match.default)(test, query)) continue;
79
+ version = test;
80
+ break;
81
+ }
82
+ if (version) return version[path];
83
+ }
84
+ // filtered expression
85
+ var range = options.range || '';
86
+ var filters = {
87
+ lts: !!~range.indexOf('lts')
88
+ };
89
+ filters.key = ~range.indexOf('major') ? _keyFunctions.default.major : ~range.indexOf('minor') ? _keyFunctions.default.minor : undefined;
90
+ filters.line = ~range.indexOf('even') ? _lineFunctions.default.even : ~range.indexOf('odd') ? _lineFunctions.default.odd : undefined;
91
+ var results = [];
92
+ var founds = {};
93
+ for(var index1 = 0; index1 < this.versions.length; index1++){
94
+ var test1 = this.versions[index1];
95
+ if (options.now && options.now < test1.date) continue;
96
+ if (filters.lts && !test1.lts) continue;
97
+ if (filters.line && !filters.line(test1)) continue;
98
+ if (!_semver.default.satisfies(test1.semver, expression)) continue;
99
+ if (filters.key) {
100
+ if (founds[filters.key(test1)]) continue;
101
+ founds[filters.key(test1)] = true;
102
+ }
103
+ results.unshift(test1[path]);
104
+ }
105
+ return results;
106
+ }
107
+ }
108
+ ], [
109
+ {
110
+ key: "load",
111
+ value: function load(options, callback) {
112
+ if (typeof options === 'function') {
113
+ callback = options;
114
+ options = null;
115
+ }
116
+ if (typeof callback === 'function') {
117
+ options = options || {};
118
+ var cache = new _fetchjsoncache.default(options.cacheDirectory || _constants.default.CACHE_DIRECTORY);
119
+ cache.get(_constants.default.DISTS_URL, function(err, versions) {
120
+ if (err) return callback(err);
121
+ cache.get(_constants.default.SCHEDULES_URL, function(err, schedule) {
122
+ err ? callback(err) : callback(null, new NodeVersions(versions, schedule));
123
+ });
124
+ });
125
+ } else {
126
+ return new Promise(function(resolve, reject) {
127
+ NodeVersions.load(options, function loadCallback(err, NodeVersions) {
128
+ err ? reject(err) : resolve(NodeVersions);
129
+ });
130
+ });
131
+ }
132
+ }
133
+ },
134
+ {
135
+ key: "loadSync",
136
+ value: function loadSync(options) {
137
+ options = options || {};
138
+ var cache = new _fetchjsoncache.default(options.cacheDirectory || _constants.default.CACHE_DIRECTORY);
139
+ var versions = cache.getSync(_constants.default.DISTS_URL);
140
+ var schedule = cache.getSync(_constants.default.SCHEDULES_URL);
141
+ if (!versions || !schedule) return null;
142
+ return new NodeVersions(versions, schedule);
143
+ }
144
+ }
145
+ ]);
146
+ return NodeVersions;
147
+ }();
148
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NodeVersions.js"],"sourcesContent":["import Cache from 'fetch-json-cache';\nimport semver from 'semver';\n\nimport constants from './constants';\nimport keyFunctions from './keyFunctions';\nimport lineFunctions from './lineFunctions';\nimport match from './match';\nimport normalizeSchedule from './normalizeSchedule';\nimport normalizeVersion from './normalizeVersion';\nimport parseExpression from './parseExpression';\n\nexport default class NodeVersions {\n constructor(versions, schedule) {\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, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n\n const cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);\n cache.get(constants.DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get(constants.SCHEDULES_URL, (err, schedule) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n } else {\n return new Promise((resolve, reject) => {\n NodeVersions.load(options, function loadCallback(err, NodeVersions) {\n err ? reject(err) : resolve(NodeVersions);\n });\n });\n }\n }\n\n static loadSync(options) {\n options = options || {};\n const cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);\n const versions = cache.getSync(constants.DISTS_URL);\n const schedule = cache.getSync(constants.SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n }\n\n resolve(expression, options) {\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') };\n filters.key = ~range.indexOf('major') ? keyFunctions.major : ~range.indexOf('minor') ? keyFunctions.minor : undefined;\n filters.line = ~range.indexOf('even') ? lineFunctions.even : ~range.indexOf('odd') ? lineFunctions.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","keyFunctions","major","minor","undefined","line","lineFunctions","even","odd","results","founds","satisfies","unshift","load","callback","cache","Cache","cacheDirectory","constants","CACHE_DIRECTORY","get","DISTS_URL","err","SCHEDULES_URL","Promise","reject","loadCallback","loadSync","getSync"],"mappings":";;;;;;;eAWqBA;;;qEAXH;6DACC;gEAEG;mEACG;oEACC;4DACR;wEACY;uEACD;sEACD;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,IAAA,AAAMA,6BAAN;;aAAMA,aACPC,QAAQ,EAAEC,QAAQ;gCADXF;QAEjB,IAAI,CAACC,UAAU,MAAM,IAAIE,MAAM;QAC/B,IAAI,CAACD,UAAU,MAAM,IAAIC,MAAM;QAE/B,IAAI,CAACC,SAAS,GAAG,EAAE;QACnB,IAAK,IAAMC,QAAQH,SAAU,IAAI,CAACE,SAAS,CAACE,IAAI,CAACC,IAAAA,0BAAiB,EAACF,MAAMH,QAAQ,CAACG,KAAK;QACvF,IAAI,CAACD,SAAS,GAAG,IAAI,CAACA,SAAS,CAACI,IAAI,CAAC,SAACC,GAAGC;mBAAOC,eAAM,CAACC,EAAE,CAACD,eAAM,CAACE,MAAM,CAACJ,EAAEE,MAAM,GAAGA,eAAM,CAACE,MAAM,CAACH,EAAEC,MAAM,KAAK,IAAI,CAAC;;QAEnH,IAAI,CAACV,QAAQ,GAAG,EAAE;QAClB,IAAK,IAAIa,QAAQ,GAAGA,QAAQb,SAASc,MAAM,EAAED,QAAS,IAAI,CAACb,QAAQ,CAACK,IAAI,CAACU,IAAAA,yBAAgB,EAACf,QAAQ,CAACa,MAAM,EAAE,IAAI,CAACV,SAAS;QACzH,IAAI,CAACH,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACO,IAAI,CAAC,SAACC,GAAGC;mBAAOC,eAAM,CAACC,EAAE,CAACH,EAAEE,MAAM,EAAED,EAAEC,MAAM,IAAI,CAAC,IAAI;;;kBAXlEX;;YAiDnBiB,KAAAA;mBAAAA,SAAAA,QAAQC,UAAU,EAAEC,OAAO;gBACzBA,UAAUA,WAAW,CAAC;gBACtB,IAAMC,OAAOD,QAAQC,IAAI,IAAI;gBAE7B,YAAY;gBACZ,IAAI,OAAOF,eAAe,UAAUA,aAAa,AAAC,GAAa,OAAXA;gBACpD,IAAI,OAAOA,eAAe,UAAU,OAAO;gBAC3CA,aAAaA,WAAWG,IAAI;gBAE5B,6BAA6B;gBAC7B,IAAMC,QAAQC,wBAAe,CAACC,IAAI,CAAC,IAAI,EAAEN,YAAYC,QAAQM,GAAG,IAAI,IAAIC;gBACxE,IAAIJ,OAAO;oBACT,IAAIK,UAAU;oBACd,IAAK,IAAIb,QAAQ,GAAGA,QAAQ,IAAI,CAACb,QAAQ,CAACc,MAAM,EAAED,QAAS;wBACzD,IAAMc,OAAO,IAAI,CAAC3B,QAAQ,CAACa,MAAM;wBACjC,IAAIK,QAAQM,GAAG,IAAIN,QAAQM,GAAG,GAAGG,KAAKC,IAAI,EAAE;wBAC5C,IAAI,CAACC,IAAAA,cAAK,EAACF,MAAMN,QAAQ;wBACzBK,UAAUC;wBACV;oBACF;oBACA,IAAID,SAAS,OAAOA,OAAO,CAACP,KAAK;gBACnC;gBAEA,sBAAsB;gBACtB,IAAMW,QAAQZ,QAAQY,KAAK,IAAI;gBAC/B,IAAMC,UAAU;oBAAEC,KAAK,CAAC,CAAC,CAACF,MAAMG,OAAO,CAAC;gBAAO;gBAC/CF,QAAQG,GAAG,GAAG,CAACJ,MAAMG,OAAO,CAAC,WAAWE,qBAAY,CAACC,KAAK,GAAG,CAACN,MAAMG,OAAO,CAAC,WAAWE,qBAAY,CAACE,KAAK,GAAGC;gBAC5GP,QAAQQ,IAAI,GAAG,CAACT,MAAMG,OAAO,CAAC,UAAUO,sBAAa,CAACC,IAAI,GAAG,CAACX,MAAMG,OAAO,CAAC,SAASO,sBAAa,CAACE,GAAG,GAAGJ;gBAEzG,IAAMK,UAAU,EAAE;gBAClB,IAAMC,SAAS,CAAC;gBAEhB,IAAK,IAAI/B,SAAQ,GAAGA,SAAQ,IAAI,CAACb,QAAQ,CAACc,MAAM,EAAED,SAAS;oBACzD,IAAMc,QAAO,IAAI,CAAC3B,QAAQ,CAACa,OAAM;oBACjC,IAAIK,QAAQM,GAAG,IAAIN,QAAQM,GAAG,GAAGG,MAAKC,IAAI,EAAE;oBAC5C,IAAIG,QAAQC,GAAG,IAAI,CAACL,MAAKK,GAAG,EAAE;oBAC9B,IAAID,QAAQQ,IAAI,IAAI,CAACR,QAAQQ,IAAI,CAACZ,QAAO;oBACzC,IAAI,CAACjB,eAAM,CAACmC,SAAS,CAAClB,MAAKjB,MAAM,EAAEO,aAAa;oBAChD,IAAIc,QAAQG,GAAG,EAAE;wBACf,IAAIU,MAAM,CAACb,QAAQG,GAAG,CAACP,OAAM,EAAE;wBAC/BiB,MAAM,CAACb,QAAQG,GAAG,CAACP,OAAM,GAAG;oBAC9B;oBACAgB,QAAQG,OAAO,CAACnB,KAAI,CAACR,KAAK;gBAC5B;gBACA,OAAOwB;YACT;;;;YAhFOI,KAAAA;mBAAP,SAAOA,KAAK7B,OAAO,EAAE8B,QAAQ;gBAC3B,IAAI,OAAO9B,YAAY,YAAY;oBACjC8B,WAAW9B;oBACXA,UAAU;gBACZ;gBAEA,IAAI,OAAO8B,aAAa,YAAY;oBAClC9B,UAAUA,WAAW,CAAC;oBAEtB,IAAM+B,QAAQ,IAAIC,uBAAK,CAAChC,QAAQiC,cAAc,IAAIC,kBAAS,CAACC,eAAe;oBAC3EJ,MAAMK,GAAG,CAACF,kBAAS,CAACG,SAAS,EAAE,SAACC,KAAKxD;wBACnC,IAAIwD,KAAK,OAAOR,SAASQ;wBAEzBP,MAAMK,GAAG,CAACF,kBAAS,CAACK,aAAa,EAAE,SAACD,KAAKvD;4BACvCuD,MAAMR,SAASQ,OAAOR,SAAS,MAAM,IA5B1BjD,aA4B2CC,UAAUC;wBAClE;oBACF;gBACF,OAAO;oBACL,OAAO,IAAIyD,QAAQ,SAAC1C,SAAS2C;wBAhCd5D,aAiCAgD,IAAI,CAAC7B,SAAS,SAAS0C,aAAaJ,GAAG,EAAEzD,YAAY;4BAChEyD,MAAMG,OAAOH,OAAOxC,QAAQjB;wBAC9B;oBACF;gBACF;YACF;;;YAEO8D,KAAAA;mBAAP,SAAOA,SAAS3C,OAAO;gBACrBA,UAAUA,WAAW,CAAC;gBACtB,IAAM+B,QAAQ,IAAIC,uBAAK,CAAChC,QAAQiC,cAAc,IAAIC,kBAAS,CAACC,eAAe;gBAC3E,IAAMrD,WAAWiD,MAAMa,OAAO,CAACV,kBAAS,CAACG,SAAS;gBAClD,IAAMtD,WAAWgD,MAAMa,OAAO,CAACV,kBAAS,CAACK,aAAa;gBACtD,IAAI,CAACzD,YAAY,CAACC,UAAU,OAAO;gBACnC,OAAO,IA9CUF,aA8COC,UAAUC;YACpC;;;WA/CmBF"}
package/dist/cjs/cli.js CHANGED
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _exit = /*#__PURE__*/ _interop_require_default(require("exit"));
12
12
  var _getoptscompat = /*#__PURE__*/ _interop_require_default(require("getopts-compat"));
13
- var _index = /*#__PURE__*/ _interop_require_default(require("./index.js"));
13
+ var _NodeVersions = /*#__PURE__*/ _interop_require_default(require("./NodeVersions.js"));
14
14
  var _isarray = /*#__PURE__*/ _interop_require_default(require("isarray"));
15
15
  var _isNaN = /*#__PURE__*/ _interop_require_default(require("./isNaN.js"));
16
16
  function _interop_require_default(obj) {
@@ -20,46 +20,46 @@ function _interop_require_default(obj) {
20
20
  }
21
21
  var _default = function(argv) {
22
22
  var stringify = function stringify(value) {
23
- return typeof value === "string" ? value : JSON.stringify(value);
23
+ return typeof value === 'string' ? value : JSON.stringify(value);
24
24
  };
25
25
  var options = (0, _getoptscompat.default)(argv.slice(1), {
26
26
  alias: {
27
- path: "p",
28
- range: "r",
29
- now: "n"
27
+ path: 'p',
28
+ range: 'r',
29
+ now: 'n'
30
30
  },
31
31
  stopEarly: true
32
32
  });
33
- if (typeof options.now !== "undefined") options.now = new Date((0, _isNaN.default)(+options.now) ? Date.parse(options.now) : +options.now);
33
+ if (typeof options.now !== 'undefined') options.now = new Date((0, _isNaN.default)(+options.now) ? Date.parse(options.now) : +options.now);
34
34
  // define.option('-p, --path [path]', 'path within version including raw for unprocessed version', 'version');
35
35
  // define.option('-r, --range [range]', 'range type of major, minor, or patch with filters of lts, even, odd for version string expressions', 'patch');
36
36
  // define.option('-n, --now [date]', 'use a specific time as a Date.parse');
37
37
  if (options.help) {
38
- console.log("");
39
- console.log("Example call:");
40
- console.log(" $ nv [version string]");
41
- console.log("");
42
- console.log("Version Strings:");
43
- console.log("Any command that calls for a version can be provided any of the");
38
+ console.log('');
39
+ console.log('Example call:');
40
+ console.log(' $ nv [version string]');
41
+ console.log('');
42
+ console.log('Version Strings:');
43
+ console.log('Any command that calls for a version can be provided any of the');
44
44
  console.log('following "version-ish" identifies:');
45
- console.log("");
46
- console.log("- x.y.z A specific SemVer tuple");
47
- console.log("- x.y Major and minor version number");
48
- console.log("- x Just a major version number");
49
- console.log("- lts The most recent LTS (long-term support) node version");
50
- console.log("- lts/<name> The latest in a named LTS set. (argon, boron, etc.)");
45
+ console.log('');
46
+ console.log('- x.y.z A specific SemVer tuple');
47
+ console.log('- x.y Major and minor version number');
48
+ console.log('- x Just a major version number');
49
+ console.log('- lts The most recent LTS (long-term support) node version');
50
+ console.log('- lts/<name> The latest in a named LTS set. (argon, boron, etc.)');
51
51
  console.log('- lts/* Same as just "lts"');
52
- console.log("- latest The most recent (non-LTS) version");
52
+ console.log('- latest The most recent (non-LTS) version');
53
53
  console.log('- stable Backwards-compatible alias for "lts"');
54
54
  console.log('- [expression] Engine and semver module expression like "10.1.x || >=12.0.0"');
55
55
  return;
56
56
  }
57
57
  var args = argv.slice(0, 1).concat(options._);
58
58
  if (args.length < 1) {
59
- console.log("Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings");
59
+ console.log('Missing version string. Example usage: nv [version string]. Use nv --help for information on version strings');
60
60
  return (0, _exit.default)(-1);
61
61
  }
62
- _index.default.load(options, function(err, semvers) {
62
+ _NodeVersions.default.load(options, function(err, semvers) {
63
63
  if (err) {
64
64
  console.log(err.message);
65
65
  return (0, _exit.default)(err.code || -1);
@@ -69,16 +69,11 @@ var _default = function(argv) {
69
69
  console.log("Unrecognized: ".concat(args[0]));
70
70
  return (0, _exit.default)(-1);
71
71
  }
72
- console.log("versions:");
72
+ console.log('versions:');
73
73
  if ((0, _isarray.default)(version)) {
74
74
  for(var index = 0; index < version.length; index++)console.log(stringify(version[index]));
75
75
  } else console.log(stringify(version));
76
76
  (0, _exit.default)(0);
77
77
  });
78
78
  };
79
-
80
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
81
- Object.defineProperty(exports.default, '__esModule', { value: true });
82
- for (var key in exports) exports.default[key] = exports[key];
83
- module.exports = exports.default;
84
- }
79
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["cli.js"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport NodeVersions from './index.js';\n\nimport isArray from 'isarray';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>\nimport isNaN from './isNaN.js';\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(-1);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(err.code || -1);\n }\n\n const version = semvers.resolve(args[0], options);\n if (!version || (isArray(version) && !version.length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(-1);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < version.length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["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","code","version","resolve","isArray","index"],"mappings":";;;;+BAQA;;;eAAA;;;2DARiB;oEACG;4DACK;8DAEL;4DAEF;;;;;;IAElB,WAAe,SAACA;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,cAAK,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,EAAC,CAAC;IACf;IAMAC,cAAY,CAACC,IAAI,CAACpB,SAAS,SAACqB,KAAKC;QAC/B,IAAID,KAAK;YACPT,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACG,IAAIG,IAAI,IAAI,CAAC;QAC3B;QAEA,IAAMC,UAAUH,QAAQI,OAAO,CAACZ,IAAI,CAAC,EAAE,EAAEd;QACzC,IAAI,CAACyB,WAAYE,IAAAA,gBAAO,EAACF,YAAY,CAACA,QAAQR,MAAM,EAAG;YACrDL,QAAQC,GAAG,CAAC,AAAC,iBAAwB,OAARC,IAAI,CAAC,EAAE;YACpC,OAAOI,IAAAA,aAAI,EAAC,CAAC;QACf;QAEAN,QAAQC,GAAG,CAAC;QACZ,IAAIc,IAAAA,gBAAO,EAACF,UAAU;YACpB,IAAK,IAAIG,QAAQ,GAAGA,QAAQH,QAAQR,MAAM,EAAEW,QAAShB,QAAQC,GAAG,CAAChB,UAAU4B,OAAO,CAACG,MAAM;QAC3F,OAAOhB,QAAQC,GAAG,CAAChB,UAAU4B;QAC7BP,IAAAA,aAAI,EAAC;IACP;AACF"}
1
+ {"version":3,"sources":["cli.js"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport NodeVersions from './NodeVersions.js';\n\nimport isArray from 'isarray';\n// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>\nimport isNaN from './isNaN.js';\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(-1);\n }\n\n function stringify(value) {\n return typeof value === 'string' ? value : JSON.stringify(value);\n }\n\n NodeVersions.load(options, (err, semvers) => {\n if (err) {\n console.log(err.message);\n return exit(err.code || -1);\n }\n\n const version = semvers.resolve(args[0], options);\n if (!version || (isArray(version) && !version.length)) {\n console.log(`Unrecognized: ${args[0]}`);\n return exit(-1);\n }\n\n console.log('versions:');\n if (isArray(version)) {\n for (let index = 0; index < version.length; index++) console.log(stringify(version[index]));\n } else console.log(stringify(version));\n exit(0);\n });\n};\n"],"names":["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","code","version","resolve","isArray","index"],"mappings":";;;;+BAQA;;;eAAA;;;2DARiB;oEACG;mEACK;8DAEL;4DAEF;;;;;;IAElB,WAAe,SAACA;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,cAAK,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,EAAC,CAAC;IACf;IAMAC,qBAAY,CAACC,IAAI,CAACpB,SAAS,SAACqB,KAAKC;QAC/B,IAAID,KAAK;YACPT,QAAQC,GAAG,CAACQ,IAAIE,OAAO;YACvB,OAAOL,IAAAA,aAAI,EAACG,IAAIG,IAAI,IAAI,CAAC;QAC3B;QAEA,IAAMC,UAAUH,QAAQI,OAAO,CAACZ,IAAI,CAAC,EAAE,EAAEd;QACzC,IAAI,CAACyB,WAAYE,IAAAA,gBAAO,EAACF,YAAY,CAACA,QAAQR,MAAM,EAAG;YACrDL,QAAQC,GAAG,CAAC,AAAC,iBAAwB,OAARC,IAAI,CAAC,EAAE;YACpC,OAAOI,IAAAA,aAAI,EAAC,CAAC;QACf;QAEAN,QAAQC,GAAG,CAAC;QACZ,IAAIc,IAAAA,gBAAO,EAACF,UAAU;YACpB,IAAK,IAAIG,QAAQ,GAAGA,QAAQH,QAAQR,MAAM,EAAEW,QAAShB,QAAQC,GAAG,CAAChB,UAAU4B,OAAO,CAACG,MAAM;QAC3F,OAAOhB,QAAQC,GAAG,CAAChB,UAAU4B;QAC7BP,IAAAA,aAAI,EAAC;IACP;AACF"}
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
- var path = require("path");
2
+ var path = require('path');
3
3
  module.exports = {
4
- CACHE_DIRECTORY: path.resolve(path.join(__dirname, "..", "..", ".cache")),
5
- DISTS_URL: "https://nodejs.org/dist/index.json",
6
- SCHEDULES_URL: "https://raw.githubusercontent.com/nodejs/Release/master/schedule.json"
4
+ CACHE_DIRECTORY: path.resolve(path.join(__dirname, '..', '..', '.cache')),
5
+ DISTS_URL: 'https://nodejs.org/dist/index.json',
6
+ SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
7
7
  };
8
-
9
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
10
- Object.defineProperty(exports.default, '__esModule', { value: true });
11
- for (var key in exports) exports.default[key] = exports[key];
12
- module.exports = exports.default;
13
- }
8
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
package/dist/cjs/index.js CHANGED
@@ -1,104 +1,18 @@
1
1
  "use strict";
2
- var semver = require("semver");
3
- var Cache = require("fetch-json-cache");
4
- var constants = require("./constants");
5
- var keyFunctions = require("./keyFunctions");
6
- var lineFunctions = require("./lineFunctions");
7
- var normalizeSchedule = require("./normalizeSchedule");
8
- var normalizeVersion = require("./normalizeVersion");
9
- var match = require("./match");
10
- var parseExpression = require("./parseExpression");
11
- function NodeVersions(versions, schedule) {
12
- if (!versions) throw new Error("Missing option: versions");
13
- if (!schedule) throw new Error("Missing option: schedule");
14
- this.schedules = [];
15
- for(var name in schedule)this.schedules.push(normalizeSchedule(name, schedule[name]));
16
- this.schedules = this.schedules.sort(function(a, b) {
17
- return semver.gt(semver.coerce(a.semver), semver.coerce(b.semver)) ? 1 : -1;
18
- });
19
- this.versions = [];
20
- for(var index = 0; index < versions.length; index++)this.versions.push(normalizeVersion(versions[index], this.schedules));
21
- this.versions = this.versions.sort(function(a, b) {
22
- return semver.gt(a.semver, b.semver) ? -1 : 1;
23
- });
24
- }
25
- NodeVersions.load = function load(options, callback) {
26
- if (typeof options === "function") {
27
- callback = options;
28
- options = null;
29
- }
30
- if (typeof callback === "function") {
31
- options = options || {};
32
- var cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);
33
- cache.get(constants.DISTS_URL, function(err, versions) {
34
- if (err) return callback(err);
35
- cache.get(constants.SCHEDULES_URL, function(err, schedule) {
36
- err ? callback(err) : callback(null, new NodeVersions(versions, schedule));
37
- });
38
- });
39
- } else {
40
- return new Promise(function(resolve, reject) {
41
- load(options, function loadCallback(err, NodeVersions) {
42
- err ? reject(err) : resolve(NodeVersions);
43
- });
44
- });
45
- }
46
- };
47
- NodeVersions.loadSync = function loadSync(options) {
48
- options = options || {};
49
- var cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);
50
- var versions = cache.getSync(constants.DISTS_URL);
51
- var schedule = cache.getSync(constants.SCHEDULES_URL);
52
- if (!versions || !schedule) return null;
53
- return new NodeVersions(versions, schedule);
54
- };
55
- NodeVersions.prototype.resolve = function resolve(expression, options) {
56
- options = options || {};
57
- var path = options.path || "version";
58
- // normalize
59
- if (typeof expression === "number") expression = "".concat(expression);
60
- if (typeof expression !== "string") return null;
61
- expression = expression.trim();
62
- // single result, try a match
63
- var query = parseExpression.call(this, expression, options.now || new Date());
64
- if (query) {
65
- var version = null;
66
- for(var index = 0; index < this.versions.length; index++){
67
- var test = this.versions[index];
68
- if (options.now && options.now < test.date) continue;
69
- if (!match(test, query)) continue;
70
- version = test;
71
- break;
72
- }
73
- if (version) return version[path];
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
74
9
  }
75
- // filtered expression
76
- var range = options.range || "";
77
- var filters = {
78
- lts: !!~range.indexOf("lts")
10
+ });
11
+ var _NodeVersions = /*#__PURE__*/ _interop_require_default(require("./NodeVersions"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
79
15
  };
80
- filters.key = ~range.indexOf("major") ? keyFunctions.major : ~range.indexOf("minor") ? keyFunctions.minor : undefined;
81
- filters.line = ~range.indexOf("even") ? lineFunctions.even : ~range.indexOf("odd") ? lineFunctions.odd : undefined;
82
- var results = [];
83
- var founds = {};
84
- for(var index1 = 0; index1 < this.versions.length; index1++){
85
- var test1 = this.versions[index1];
86
- if (options.now && options.now < test1.date) continue;
87
- if (filters.lts && !test1.lts) continue;
88
- if (filters.line && !filters.line(test1)) continue;
89
- if (!semver.satisfies(test1.semver, expression)) continue;
90
- if (filters.key) {
91
- if (founds[filters.key(test1)]) continue;
92
- founds[filters.key(test1)] = true;
93
- }
94
- results.unshift(test1[path]);
95
- }
96
- return results;
97
- };
98
- module.exports = NodeVersions;
99
-
100
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
101
- Object.defineProperty(exports.default, '__esModule', { value: true });
102
- for (var key in exports) exports.default[key] = exports[key];
103
- module.exports = exports.default;
104
- }
16
+ }
17
+ var _default = _NodeVersions.default;
18
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"sourcesContent":["const semver = require('semver');\nconst Cache = require('fetch-json-cache');\n\nconst constants = require('./constants');\nconst keyFunctions = require('./keyFunctions');\nconst lineFunctions = require('./lineFunctions');\nconst normalizeSchedule = require('./normalizeSchedule');\nconst normalizeVersion = require('./normalizeVersion');\nconst match = require('./match');\nconst parseExpression = require('./parseExpression');\n\nfunction NodeVersions(versions, schedule) {\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\nNodeVersions.load = function load(options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n\n const cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);\n cache.get(constants.DISTS_URL, (err, versions) => {\n if (err) return callback(err);\n\n cache.get(constants.SCHEDULES_URL, (err, schedule) => {\n err ? callback(err) : callback(null, new NodeVersions(versions, schedule));\n });\n });\n } else {\n return new Promise((resolve, reject) => {\n load(options, function loadCallback(err, NodeVersions) {\n err ? reject(err) : resolve(NodeVersions);\n });\n });\n }\n};\n\nNodeVersions.loadSync = function loadSync(options) {\n options = options || {};\n const cache = new Cache(options.cacheDirectory || constants.CACHE_DIRECTORY);\n const versions = cache.getSync(constants.DISTS_URL);\n const schedule = cache.getSync(constants.SCHEDULES_URL);\n if (!versions || !schedule) return null;\n return new NodeVersions(versions, schedule);\n};\n\nNodeVersions.prototype.resolve = function resolve(expression, options) {\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') };\n filters.key = ~range.indexOf('major') ? keyFunctions.major : ~range.indexOf('minor') ? keyFunctions.minor : undefined;\n filters.line = ~range.indexOf('even') ? lineFunctions.even : ~range.indexOf('odd') ? lineFunctions.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\nmodule.exports = NodeVersions;\n"],"names":["semver","require","Cache","constants","keyFunctions","lineFunctions","normalizeSchedule","normalizeVersion","match","parseExpression","NodeVersions","versions","schedule","Error","schedules","name","push","sort","a","b","gt","coerce","index","length","load","options","callback","cache","cacheDirectory","CACHE_DIRECTORY","get","DISTS_URL","err","SCHEDULES_URL","Promise","resolve","reject","loadCallback","loadSync","getSync","prototype","expression","path","trim","query","call","now","Date","version","test","date","range","filters","lts","indexOf","key","major","minor","undefined","line","even","odd","results","founds","satisfies","unshift","module","exports"],"mappings":"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"}
1
+ {"version":3,"sources":["index.mjs"],"sourcesContent":["import NodeVersions from './NodeVersions';\nexport default NodeVersions;\n"],"names":["NodeVersions"],"mappings":";;;;+BACA;;;eAAA;;;mEADyB;;;;;;IACzB,WAAeA,qBAAY"}
package/dist/cjs/isNaN.js CHANGED
@@ -4,9 +4,4 @@ module.exports = function isNaN(value) {
4
4
  // biome-ignore lint/suspicious/noSelfCompare: <explanation>
5
5
  return value !== value;
6
6
  };
7
-
8
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
9
- Object.defineProperty(exports.default, '__esModule', { value: true });
10
- for (var key in exports) exports.default[key] = exports[key];
11
- module.exports = exports.default;
12
- }
7
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -5,9 +5,4 @@ module.exports.major = function major(version) {
5
5
  module.exports.minor = function minor(version) {
6
6
  return version.major === 0 ? "".concat(version.major, ".").concat(version.minor, ".").concat(version.patch) : "".concat(version.major, ".").concat(version.minor);
7
7
  };
8
-
9
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
10
- Object.defineProperty(exports.default, '__esModule', { value: true });
11
- for (var key in exports) exports.default[key] = exports[key];
12
- module.exports = exports.default;
13
- }
8
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -7,9 +7,4 @@ module.exports.odd = function odd(version) {
7
7
  var major = version.major === 0 ? version.minor : version.major;
8
8
  return major % 2 === 1;
9
9
  };
10
-
11
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
12
- Object.defineProperty(exports.default, '__esModule', { value: true });
13
- for (var key in exports) exports.default[key] = exports[key];
14
- module.exports = exports.default;
15
- }
10
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
package/dist/cjs/match.js CHANGED
@@ -5,9 +5,4 @@ module.exports = function match(test, query) {
5
5
  }
6
6
  return true;
7
7
  };
8
-
9
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
10
- Object.defineProperty(exports.default, '__esModule', { value: true });
11
- for (var key in exports) exports.default[key] = exports[key];
12
- module.exports = exports.default;
13
- }
8
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -12,9 +12,4 @@ module.exports = function normalizeSchedule(name, raw) {
12
12
  if (raw.maintenance) schedule.maintenance = new Date(raw.maintenance);
13
13
  return schedule;
14
14
  };
15
-
16
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
17
- Object.defineProperty(exports.default, '__esModule', { value: true });
18
- for (var key in exports) exports.default[key] = exports[key];
19
- module.exports = exports.default;
20
- }
15
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  module.exports = function normalizeVersion(raw, schedules) {
3
- var parts = raw.version.substr(1).split(".");
3
+ var parts = raw.version.substr(1).split('.');
4
4
  var version = {
5
5
  version: raw.version,
6
6
  name: parts[0] !== 0 ? "v".concat(+parts[0]) : "v".concat(+parts[0], ".").concat(+parts[1]),
@@ -23,9 +23,4 @@ module.exports = function normalizeVersion(raw, schedules) {
23
23
  if (schedule && raw.lts) version.codename = schedule.codename;
24
24
  return version;
25
25
  };
26
-
27
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
28
- Object.defineProperty(exports.default, '__esModule', { value: true });
29
- for (var key in exports) exports.default[key] = exports[key];
30
- module.exports = exports.default;
31
- }
26
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1,18 +1,18 @@
1
1
  // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
2
2
  "use strict";
3
- var isNaN = require("../isNaN");
4
- var isLTSFn = require("./isLTSFn");
5
- var isLatestFn = require("./isLatestFn");
6
- var schedulesLatest = require("./schedulesLatest");
3
+ var isNaN = require('../isNaN');
4
+ var isLTSFn = require('./isLTSFn');
5
+ var isLatestFn = require('./isLatestFn');
6
+ var schedulesLatest = require('./schedulesLatest');
7
7
  module.exports = function parseExpression(expression, now) {
8
- if (expression[0] === "v" && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);
9
- if (expression.substr(0, 4) === "lts/") expression = expression.substr(4) === "*" ? "lts" : expression.substr(4);
10
- if (expression === "stable") expression = "lts";
11
- if (typeof expression === "number") return {
8
+ if (expression[0] === 'v' && !isNaN(+expression.substr(1, 1))) expression = expression.substr(1);
9
+ if (expression.substr(0, 4) === 'lts/') expression = expression.substr(4) === '*' ? 'lts' : expression.substr(4);
10
+ if (expression === 'stable') expression = 'lts';
11
+ if (typeof expression === 'number') return {
12
12
  major: expression
13
13
  };
14
- if (~expression.indexOf(".")) {
15
- var parts = expression.split(".");
14
+ if (~expression.indexOf('.')) {
15
+ var parts = expression.split('.');
16
16
  if (parts.length === 1) return isNaN(+parts[0]) ? null : {
17
17
  major: +parts[0]
18
18
  };
@@ -29,13 +29,13 @@ module.exports = function parseExpression(expression, now) {
29
29
  if (!isNaN(+expression)) return {
30
30
  major: +expression
31
31
  };
32
- if (expression === "lts") {
32
+ if (expression === 'lts') {
33
33
  var lts = schedulesLatest(this.schedules, isLTSFn(now));
34
34
  return lts ? {
35
35
  name: lts.name
36
36
  } : null;
37
37
  }
38
- if (expression === "latest") {
38
+ if (expression === 'latest') {
39
39
  var latest = schedulesLatest(this.schedules, isLatestFn(now));
40
40
  return latest ? {
41
41
  name: latest.name
@@ -45,9 +45,4 @@ module.exports = function parseExpression(expression, now) {
45
45
  codename: expression.toLowerCase()
46
46
  };
47
47
  };
48
-
49
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
50
- Object.defineProperty(exports.default, '__esModule', { value: true });
51
- for (var key in exports) exports.default[key] = exports[key];
52
- module.exports = exports.default;
53
- }
48
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -4,9 +4,4 @@ module.exports = function isLTSFn(now) {
4
4
  return item.lts && now >= item.start && now <= item.end;
5
5
  };
6
6
  };
7
-
8
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
9
- Object.defineProperty(exports.default, '__esModule', { value: true });
10
- for (var key in exports) exports.default[key] = exports[key];
11
- module.exports = exports.default;
12
- }
7
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -4,9 +4,4 @@ module.exports = function isLatestFn(now) {
4
4
  return !item.lts && now >= item.start && now <= item.end;
5
5
  };
6
6
  };
7
-
8
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
9
- Object.defineProperty(exports.default, '__esModule', { value: true });
10
- for (var key in exports) exports.default[key] = exports[key];
11
- module.exports = exports.default;
12
- }
7
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -5,9 +5,4 @@ module.exports = function schedulesForEach(schedules, filter, fn) {
5
5
  !filter(schedule) || fn(schedule);
6
6
  }
7
7
  };
8
-
9
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
10
- Object.defineProperty(exports.default, '__esModule', { value: true });
11
- for (var key in exports) exports.default[key] = exports[key];
12
- module.exports = exports.default;
13
- }
8
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var schedulesForEach = require("./schedulesForEach");
2
+ var schedulesForEach = require('./schedulesForEach');
3
3
  module.exports = function schedulesLatest(schedules, filter) {
4
4
  var latest = null;
5
5
  schedulesForEach(schedules, filter, function(schedule) {
@@ -7,9 +7,4 @@ module.exports = function schedulesLatest(schedules, filter) {
7
7
  });
8
8
  return latest;
9
9
  };
10
-
11
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
12
- Object.defineProperty(exports.default, '__esModule', { value: true });
13
- for (var key in exports) exports.default[key] = exports[key];
14
- module.exports = exports.default;
15
- }
10
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -35,9 +35,4 @@ var _default = function() {
35
35
  (0, _exit.default)(0);
36
36
  });
37
37
  };
38
-
39
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
40
- Object.defineProperty(exports.default, '__esModule', { value: true });
41
- for (var key in exports) exports.default[key] = exports[key];
42
- module.exports = exports.default;
43
- }
38
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) exports.default[key] = exports[key]; module.exports = exports.default; }
@@ -1,6 +1,6 @@
1
- export = NodeVersions;
2
- declare function NodeVersions(versions: any, schedule: any): void;
3
- declare class NodeVersions {
1
+ export default class NodeVersions {
2
+ static load(options: any, callback: any): Promise<any>;
3
+ static loadSync(options: any): NodeVersions;
4
4
  constructor(versions: any, schedule: any);
5
5
  schedules: {
6
6
  name: any;
@@ -20,7 +20,3 @@ declare class NodeVersions {
20
20
  }[];
21
21
  resolve(expression: any, options: any): any;
22
22
  }
23
- declare namespace NodeVersions {
24
- function load(options: any, callback: any): Promise<any>;
25
- function loadSync(options: any): NodeVersions;
26
- }
@@ -0,0 +1,2 @@
1
+ export default NodeVersions;
2
+ import NodeVersions from './NodeVersions';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-semvers",
3
- "version": "0.6.11",
3
+ "version": "1.0.0",
4
4
  "description": "Utilities for managing versions of node including looking up codenames",
5
5
  "keywords": [
6
6
  "node",
@@ -30,34 +30,34 @@
30
30
  "scripts": {
31
31
  "build": "tsds build",
32
32
  "deploy": "tsds deploy",
33
- "format": "biome check --apply-unsafe src/ test/",
33
+ "format": "biome check --write --unsafe src/ test/",
34
34
  "postinstall": "node scripts/cache.js",
35
- "test": "tsds test:node --timeout=40000",
36
- "test:engines": "nvu engines tsds test:node --timeout=40000",
35
+ "test": "tsds test:node --timeout=10000",
36
+ "test:engines": "nvu engines npm test",
37
37
  "version": "tsds version"
38
38
  },
39
39
  "dependencies": {
40
40
  "exit": "^0.1.2",
41
- "fetch-json-cache": "^0.2.9",
41
+ "fetch-json-cache": "^1.0.0",
42
42
  "getopts-compat": "^2.2.5",
43
43
  "isarray": "^2.0.5",
44
44
  "semver": "^5.7.1"
45
45
  },
46
46
  "devDependencies": {
47
- "@biomejs/biome": "^1.5.3",
48
- "@types/mocha": "^10.0.6",
49
- "@types/node": "^20.11.17",
47
+ "@biomejs/biome": "^1.9.4",
48
+ "@types/mocha": "^10.0.10",
49
+ "@types/node": "^22.10.1",
50
50
  "cr": "^0.1.0",
51
- "cross-spawn-cb": "^0.6.18",
51
+ "cross-spawn-cb": "^1.0.0",
52
52
  "depcheck": "^1.4.7",
53
- "rimraf": "^2.7.1",
54
- "ts-dev-stack": "^0.9.10"
53
+ "rimraf2": "^2.7.1",
54
+ "ts-dev-stack": "^0.16.2"
55
55
  },
56
56
  "engines": {
57
57
  "node": ">=0.8"
58
58
  },
59
59
  "tsds": {
60
- "source": "src/index.js",
60
+ "source": "src/index.mjs",
61
61
  "targets": [
62
62
  "cjs"
63
63
  ]