node-semvers 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/assets/postinstall.cjs +33 -42
- package/dist/cjs/NodeVersions.js +10 -11
- package/dist/cjs/NodeVersions.js.map +1 -1
- package/dist/cjs/assets/postinstall.js +1 -1
- package/dist/cjs/assets/postinstall.js.map +1 -1
- package/dist/cjs/constants.js +4 -4
- package/dist/cjs/constants.js.map +1 -1
- package/dist/esm/NodeVersions.mjs +8 -12
- package/dist/esm/NodeVersions.mjs.map +1 -1
- package/dist/esm/assets/postinstall.mjs +1 -1
- package/dist/esm/assets/postinstall.mjs.map +1 -1
- package/dist/esm/constants.mjs +4 -4
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/types.mjs.map +1 -1
- package/dist/types/NodeVersions.d.ts +0 -1
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/types.d.ts +1 -1
- package/package.json +6 -6
- package/scripts/rollup.config.mjs +1 -1
- package/dist/cjs/lib/packageRoot.js +0 -26
- package/dist/cjs/lib/packageRoot.js.map +0 -1
- package/dist/esm/lib/packageRoot.mjs +0 -10
- package/dist/esm/lib/packageRoot.mjs.map +0 -1
- package/dist/types/lib/packageRoot.d.ts +0 -1
package/README.md
CHANGED
|
@@ -27,9 +27,8 @@ NodeVersions.load(function (err, semvers) {
|
|
|
27
27
|
assert.equal(version, 'v12.14.0');
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
NodeVersions.load()
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
30
|
+
const semvers = await NodeVersions.load()
|
|
31
|
+
const versions = semvers.resolve('10.0.0 || ~12.0.0');
|
|
32
|
+
assert.deepEqual(versions, ['v10.0.0', 'v12.0.0']);
|
|
34
33
|
|
|
35
34
|
```
|
package/assets/postinstall.cjs
CHANGED
|
@@ -1,46 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('fetch-json-cache'), require('path'), require('url'), require('fs'), require('fs-exists-sync')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['fetch-json-cache', 'path', 'url', 'fs', 'fs-exists-sync'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.tsdsBuild = factory(global.Cache, global.path, global.url, global.fs, global.existsSync));
|
|
5
|
-
})(this, (function (Cache, path, url, fs, existsSync) { 'use strict';
|
|
1
|
+
'use strict';
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var nextDir = path.dirname(dir);
|
|
12
|
-
if (nextDir === dir) throw new Error('Package root not found');
|
|
13
|
-
return packageRoot(nextDir);
|
|
14
|
-
}
|
|
3
|
+
var Cache = require('fetch-json-cache');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var url = require('url');
|
|
6
|
+
var moduleRoot = require('module-root-sync');
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
|
+
var __dirname$1 = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('postinstall.cjs', document.baseURI).href))) : __filename);
|
|
10
|
+
var root = moduleRoot(__dirname$1);
|
|
11
|
+
var constants = {
|
|
12
|
+
CACHE_PATH: path.resolve(path.join(root, '.cache')),
|
|
13
|
+
DISTS_URL: 'https://nodejs.org/dist/index.json',
|
|
14
|
+
SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
|
|
15
|
+
};
|
|
23
16
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
17
|
+
function postinstall() {
|
|
18
|
+
var cacheJSON = function cacheJSON(callback) {
|
|
19
|
+
cache.get(constants.DISTS_URL, {
|
|
20
|
+
force: true
|
|
21
|
+
}, function(err) {
|
|
22
|
+
err ? callback(err) : cache.get(constants.SCHEDULES_URL, {
|
|
23
|
+
force: true
|
|
24
|
+
}, callback);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
var cache = new Cache(constants.CACHE_PATH);
|
|
28
|
+
cacheJSON(function(err) {
|
|
29
|
+
if (err) {
|
|
30
|
+
console.log("Failed to cache dists and schedules. Error: ".concat(err.message));
|
|
31
|
+
return process.exit(err.code || -1);
|
|
32
|
+
}
|
|
33
|
+
process.exit(0);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}));
|
|
37
|
+
module.exports = postinstall;
|
package/dist/cjs/NodeVersions.js
CHANGED
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _fetchjsoncache = /*#__PURE__*/ _interop_require_default(require("fetch-json-cache"));
|
|
12
|
-
var _pinkiepromise = /*#__PURE__*/ _interop_require_default(require("pinkie-promise"));
|
|
13
12
|
var _semver = /*#__PURE__*/ _interop_require_default(require("semver"));
|
|
14
13
|
var _constants = /*#__PURE__*/ _interop_require_default(require("./constants.js"));
|
|
15
14
|
var _keyFunctions = require("./lib/keyFunctions.js");
|
|
@@ -96,26 +95,26 @@ var NodeVersions = /*#__PURE__*/ function() {
|
|
|
96
95
|
callback = options;
|
|
97
96
|
options = null;
|
|
98
97
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var cache = new _fetchjsoncache.default(options.
|
|
98
|
+
options = options || {};
|
|
99
|
+
function worker(options, callback) {
|
|
100
|
+
var cache = new _fetchjsoncache.default(options.cachePath || _constants.default.CACHE_PATH);
|
|
102
101
|
cache.get(_constants.default.DISTS_URL, function(err, versions) {
|
|
103
102
|
if (err) return callback(err);
|
|
104
103
|
cache.get(_constants.default.SCHEDULES_URL, function(err, schedule) {
|
|
105
104
|
err ? callback(err) : callback(null, new NodeVersions(versions, schedule));
|
|
106
105
|
});
|
|
107
106
|
});
|
|
108
|
-
} else {
|
|
109
|
-
return new _pinkiepromise.default(function(resolve, reject) {
|
|
110
|
-
NodeVersions.load(options, function loadCallback(err, NodeVersions) {
|
|
111
|
-
err ? reject(err) : resolve(NodeVersions);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
107
|
}
|
|
108
|
+
if (typeof callback === 'function') return worker(options, callback);
|
|
109
|
+
return new Promise(function(resolve, reject) {
|
|
110
|
+
return worker(options, function(err, versions) {
|
|
111
|
+
err ? reject(err) : resolve(versions);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
115
114
|
};
|
|
116
115
|
NodeVersions.loadSync = function loadSync(options) {
|
|
117
116
|
options = options || {};
|
|
118
|
-
var cache = new _fetchjsoncache.default(options.
|
|
117
|
+
var cache = new _fetchjsoncache.default(options.cachePath || _constants.default.CACHE_PATH);
|
|
119
118
|
var versions = cache.getSync(_constants.default.DISTS_URL);
|
|
120
119
|
var schedule = cache.getSync(_constants.default.SCHEDULES_URL);
|
|
121
120
|
if (!versions || !schedule) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\
|
|
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.js';\nimport { major, minor } from './lib/keyFunctions.js';\nimport { even, odd } from './lib/lineFunctions.js';\nimport match from './lib/match.js';\nimport normalizeSchedule from './lib/normalizeSchedule.js';\nimport normalizeVersion from './lib/normalizeVersion.js';\nimport parseExpression from './parseExpression/index.js';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.js';\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) =>\n worker(options, (err, versions) => {\n err ? reject(err) : resolve(versions);\n })\n );\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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"}
|
|
@@ -25,7 +25,7 @@ var _default = function() {
|
|
|
25
25
|
}, callback);
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
|
-
var cache = new _fetchjsoncache.default(_constantscjs.default.
|
|
28
|
+
var cache = new _fetchjsoncache.default(_constantscjs.default.CACHE_PATH);
|
|
29
29
|
cacheJSON(function(err) {
|
|
30
30
|
if (err) {
|
|
31
31
|
console.log("Failed to cache dists and schedules. Error: ".concat(err.message));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\n// @ts-ignore\nimport constants from '../constants.cjs';\n\nexport default () => {\n const cache = new Cache(constants.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\n// @ts-ignore\nimport constants from '../constants.cjs';\n\nexport default () => {\n const cache = new Cache(constants.CACHE_PATH);\n\n function cacheJSON(callback) {\n cache.get(constants.DISTS_URL, { force: true }, (err) => {\n err ? callback(err) : cache.get(constants.SCHEDULES_URL, { force: true }, callback);\n });\n }\n\n cacheJSON((err) => {\n if (err) {\n console.log(`Failed to cache dists and schedules. Error: ${err.message}`);\n return process.exit(err.code || -1);\n }\n process.exit(0);\n });\n};\n"],"names":["cacheJSON","callback","cache","get","constants","DISTS_URL","force","err","SCHEDULES_URL","Cache","CACHE_PATH","console","log","message","process","exit","code"],"mappings":";;;;+BAIA;;;eAAA;;;qEAJkB;mEAEI;;;;;;IAEtB,WAAe;QAGJA,YAAT,SAASA,UAAUC,QAAQ;QACzBC,MAAMC,GAAG,CAACC,qBAAS,CAACC,SAAS,EAAE;YAAEC,OAAO;QAAK,GAAG,SAACC;YAC/CA,MAAMN,SAASM,OAAOL,MAAMC,GAAG,CAACC,qBAAS,CAACI,aAAa,EAAE;gBAAEF,OAAO;YAAK,GAAGL;QAC5E;IACF;IANA,IAAMC,QAAQ,IAAIO,uBAAK,CAACL,qBAAS,CAACM,UAAU;IAQ5CV,UAAU,SAACO;QACT,IAAIA,KAAK;YACPI,QAAQC,GAAG,CAAC,AAAC,+CAA0D,OAAZL,IAAIM,OAAO;YACtE,OAAOC,QAAQC,IAAI,CAACR,IAAIS,IAAI,IAAI,CAAC;QACnC;QACAF,QAAQC,IAAI,CAAC;IACf;AACF"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -10,16 +10,16 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
12
|
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
13
|
-
var
|
|
13
|
+
var _modulerootsync = /*#__PURE__*/ _interop_require_default(require("module-root-sync"));
|
|
14
14
|
function _interop_require_default(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
var __dirname = _path.default.dirname(typeof __filename
|
|
20
|
-
var root = (0,
|
|
19
|
+
var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
|
|
20
|
+
var root = (0, _modulerootsync.default)(__dirname);
|
|
21
21
|
var _default = {
|
|
22
|
-
|
|
22
|
+
CACHE_PATH: _path.default.resolve(_path.default.join(root, '.cache')),
|
|
23
23
|
DISTS_URL: 'https://nodejs.org/dist/index.json',
|
|
24
24
|
SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
|
|
25
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport moduleRoot from 'module-root-sync';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\n\nexport default {\n CACHE_PATH: path.resolve(path.join(root, '.cache')),\n DISTS_URL: 'https://nodejs.org/dist/index.json',\n SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',\n};\n"],"names":["__dirname","path","dirname","__filename","url","fileURLToPath","root","moduleRoot","CACHE_PATH","resolve","join","DISTS_URL","SCHEDULES_URL"],"mappings":";;;;+BAOA;;;eAAA;;;2DAPiB;0DACD;qEACO;;;;;;AAEvB,IAAMA,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AACxG,IAAMG,OAAOC,IAAAA,uBAAU,EAACP;IAExB,WAAe;IACbQ,YAAYP,aAAI,CAACQ,OAAO,CAACR,aAAI,CAACS,IAAI,CAACJ,MAAM;IACzCK,WAAW;IACXC,eAAe;AACjB"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import Cache from 'fetch-json-cache';
|
|
2
|
-
// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
|
|
3
|
-
import Promise from 'pinkie-promise';
|
|
4
2
|
import semver from 'semver';
|
|
5
3
|
import constants from './constants.mjs';
|
|
6
4
|
import { major, minor } from './lib/keyFunctions.mjs';
|
|
@@ -15,26 +13,24 @@ let NodeVersions = class NodeVersions {
|
|
|
15
13
|
callback = options;
|
|
16
14
|
options = null;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const cache = new Cache(options.
|
|
16
|
+
options = options || {};
|
|
17
|
+
function worker(options, callback) {
|
|
18
|
+
const cache = new Cache(options.cachePath || constants.CACHE_PATH);
|
|
21
19
|
cache.get(constants.DISTS_URL, (err, versions)=>{
|
|
22
20
|
if (err) return callback(err);
|
|
23
21
|
cache.get(constants.SCHEDULES_URL, (err, schedule)=>{
|
|
24
22
|
err ? callback(err) : callback(null, new NodeVersions(versions, schedule));
|
|
25
23
|
});
|
|
26
24
|
});
|
|
27
|
-
} else {
|
|
28
|
-
return new Promise((resolve, reject)=>{
|
|
29
|
-
NodeVersions.load(options, function loadCallback(err, NodeVersions) {
|
|
30
|
-
err ? reject(err) : resolve(NodeVersions);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
25
|
}
|
|
26
|
+
if (typeof callback === 'function') return worker(options, callback);
|
|
27
|
+
return new Promise((resolve, reject)=>worker(options, (err, versions)=>{
|
|
28
|
+
err ? reject(err) : resolve(versions);
|
|
29
|
+
}));
|
|
34
30
|
}
|
|
35
31
|
static loadSync(options) {
|
|
36
32
|
options = options || {};
|
|
37
|
-
const cache = new Cache(options.
|
|
33
|
+
const cache = new Cache(options.cachePath || constants.CACHE_PATH);
|
|
38
34
|
const versions = cache.getSync(constants.DISTS_URL);
|
|
39
35
|
const schedule = cache.getSync(constants.SCHEDULES_URL);
|
|
40
36
|
if (!versions || !schedule) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/NodeVersions.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\
|
|
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.js';\nimport { major, minor } from './lib/keyFunctions.js';\nimport { even, odd } from './lib/lineFunctions.js';\nimport match from './lib/match.js';\nimport normalizeSchedule from './lib/normalizeSchedule.js';\nimport normalizeVersion from './lib/normalizeVersion.js';\nimport parseExpression from './parseExpression/index.js';\n\nimport type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.js';\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) =>\n worker(options, (err, versions) => {\n err ? reject(err) : resolve(versions);\n })\n );\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","constructor","Error","schedules","name","push","sort","a","b","gt","coerce"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import Cache from 'fetch-json-cache';
|
|
|
2
2
|
// @ts-ignore
|
|
3
3
|
import constants from '../constants.cjs';
|
|
4
4
|
export default (()=>{
|
|
5
|
-
const cache = new Cache(constants.
|
|
5
|
+
const cache = new Cache(constants.CACHE_PATH);
|
|
6
6
|
function cacheJSON(callback) {
|
|
7
7
|
cache.get(constants.DISTS_URL, {
|
|
8
8
|
force: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\n// @ts-ignore\nimport constants from '../constants.cjs';\n\nexport default () => {\n const cache = new Cache(constants.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/assets/postinstall.ts"],"sourcesContent":["import Cache from 'fetch-json-cache';\n// @ts-ignore\nimport constants from '../constants.cjs';\n\nexport default () => {\n const cache = new Cache(constants.CACHE_PATH);\n\n function cacheJSON(callback) {\n cache.get(constants.DISTS_URL, { force: true }, (err) => {\n err ? callback(err) : cache.get(constants.SCHEDULES_URL, { force: true }, callback);\n });\n }\n\n cacheJSON((err) => {\n if (err) {\n console.log(`Failed to cache dists and schedules. Error: ${err.message}`);\n return process.exit(err.code || -1);\n }\n process.exit(0);\n });\n};\n"],"names":["Cache","constants","cache","CACHE_PATH","cacheJSON","callback","get","DISTS_URL","force","err","SCHEDULES_URL","console","log","message","process","exit","code"],"mappings":"AAAA,OAAOA,WAAW,mBAAmB;AACrC,aAAa;AACb,OAAOC,eAAe,mBAAmB;AAEzC,eAAe,CAAA;IACb,MAAMC,QAAQ,IAAIF,MAAMC,UAAUE,UAAU;IAE5C,SAASC,UAAUC,QAAQ;QACzBH,MAAMI,GAAG,CAACL,UAAUM,SAAS,EAAE;YAAEC,OAAO;QAAK,GAAG,CAACC;YAC/CA,MAAMJ,SAASI,OAAOP,MAAMI,GAAG,CAACL,UAAUS,aAAa,EAAE;gBAAEF,OAAO;YAAK,GAAGH;QAC5E;IACF;IAEAD,UAAU,CAACK;QACT,IAAIA,KAAK;YACPE,QAAQC,GAAG,CAAC,CAAC,4CAA4C,EAAEH,IAAII,OAAO,EAAE;YACxE,OAAOC,QAAQC,IAAI,CAACN,IAAIO,IAAI,IAAI,CAAC;QACnC;QACAF,QAAQC,IAAI,CAAC;IACf;AACF,CAAA,EAAE"}
|
package/dist/esm/constants.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import url from 'url';
|
|
3
|
-
import
|
|
4
|
-
const __dirname = path.dirname(typeof __filename
|
|
5
|
-
const root =
|
|
3
|
+
import moduleRoot from 'module-root-sync';
|
|
4
|
+
const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
|
|
5
|
+
const root = moduleRoot(__dirname);
|
|
6
6
|
export default {
|
|
7
|
-
|
|
7
|
+
CACHE_PATH: path.resolve(path.join(root, '.cache')),
|
|
8
8
|
DISTS_URL: 'https://nodejs.org/dist/index.json',
|
|
9
9
|
SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/constants.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport moduleRoot from 'module-root-sync';\n\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\n\nexport default {\n CACHE_PATH: path.resolve(path.join(root, '.cache')),\n DISTS_URL: 'https://nodejs.org/dist/index.json',\n SCHEDULES_URL: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',\n};\n"],"names":["path","url","moduleRoot","__dirname","dirname","__filename","fileURLToPath","root","CACHE_PATH","resolve","join","DISTS_URL","SCHEDULES_URL"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,OAAOC,gBAAgB,mBAAmB;AAE1C,MAAMC,YAAYH,KAAKI,OAAO,CAAC,OAAOC,eAAe,cAAcJ,IAAIK,aAAa,CAAC,YAAYL,GAAG,IAAII;AACxG,MAAME,OAAOL,WAAWC;AAExB,eAAe;IACbK,YAAYR,KAAKS,OAAO,CAACT,KAAKU,IAAI,CAACH,MAAM;IACzCI,WAAW;IACXC,eAAe;AACjB,EAAE"}
|
package/dist/esm/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/types.ts"],"sourcesContent":["export interface LoadOptions {\n cachePath?: string;\n now?: Date;\n}\n\nexport interface LoadError extends Error {\n code?: number;\n}\n\nexport interface ResolveOptions {\n now?: Date;\n range?: string;\n path?: string;\n}\n\nexport interface ScheduleRaw {\n version: string;\n name: string;\n semver: string;\n date: string;\n start: string;\n end: string;\n codename?: string;\n lts: string;\n maintenance?: string;\n}\n\nexport interface Schedule {\n name: string;\n semver: string;\n raw: ScheduleRaw;\n start: Date;\n end: Date;\n codename?: string;\n lts?: Date;\n maintenance?: Date;\n}\n\nexport interface VersionRaw {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: ScheduleRaw;\n codename: string;\n}\n\nexport interface Version {\n version: string;\n name: string;\n semver: string;\n major: number;\n minor: number;\n patch: number;\n lts: string;\n date: Date;\n raw: VersionRaw;\n codename: string;\n}\n"],"names":[],"mappings":"AAmDA,WAWC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Promise from 'pinkie-promise';
|
|
2
1
|
import type { LoadError, LoadOptions, ResolveOptions, Schedule, ScheduleRaw, Version, VersionRaw } from './types.js';
|
|
3
2
|
export type LoadCallback = (error?: LoadError, semvers?: NodeVersions) => void;
|
|
4
3
|
export default class NodeVersions {
|
package/dist/types/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-semvers",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "Utilities for managing versions of node including looking up codenames",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -49,11 +49,10 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"exit": "^0.1.2",
|
|
52
|
-
"fetch-json-cache": "^1.2.
|
|
53
|
-
"fs-exists-sync": "^0.1.0",
|
|
52
|
+
"fetch-json-cache": "^1.2.5",
|
|
54
53
|
"getopts-compat": "^2.2.5",
|
|
55
54
|
"isarray": "^2.0.5",
|
|
56
|
-
"
|
|
55
|
+
"module-root-sync": "^0.1.1",
|
|
57
56
|
"semver": "^5.7.1"
|
|
58
57
|
},
|
|
59
58
|
"devDependencies": {
|
|
@@ -64,11 +63,12 @@
|
|
|
64
63
|
"cr": "^0.1.0",
|
|
65
64
|
"cross-spawn-cb": "^1.5.7",
|
|
66
65
|
"depcheck": "^1.4.7",
|
|
67
|
-
"get-tsconfig-compat": "^2.0.
|
|
66
|
+
"get-tsconfig-compat": "^2.0.3",
|
|
67
|
+
"pinkie-promise": "^2.0.1",
|
|
68
68
|
"rimraf2": "^2.8.2",
|
|
69
69
|
"rollup": "^4.29.1",
|
|
70
70
|
"rollup-plugin-node-externals": "^8.0.0",
|
|
71
|
-
"ts-swc-rollup-plugin": "^1.6.
|
|
71
|
+
"ts-swc-rollup-plugin": "^1.6.7"
|
|
72
72
|
},
|
|
73
73
|
"engines": {
|
|
74
74
|
"node": ">=0.8"
|
|
@@ -12,7 +12,7 @@ tsconfig.config.compilerOptions.target = 'ES4';
|
|
|
12
12
|
|
|
13
13
|
export default {
|
|
14
14
|
output: {
|
|
15
|
-
format: '
|
|
15
|
+
format: 'cjs',
|
|
16
16
|
name: 'tsdsBuild',
|
|
17
17
|
},
|
|
18
18
|
plugins: [commonjs({ extensions: '.cts' }), externals({ deps: false, devDeps: false, builtinsPrefix: 'strip' }), swc({ tsconfig })],
|
|
@@ -1,26 +0,0 @@
|
|
|
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 packageRoot;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
-
var _fsexistssync = /*#__PURE__*/ _interop_require_default(require("fs-exists-sync"));
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function packageRoot(dir) {
|
|
20
|
-
var packagePath = _path.default.join(dir, 'package.json');
|
|
21
|
-
if ((0, _fsexistssync.default)(packagePath) && JSON.parse(_fs.default.readFileSync(packagePath, 'utf8')).name) return dir;
|
|
22
|
-
var nextDir = _path.default.dirname(dir);
|
|
23
|
-
if (nextDir === dir) throw new Error('Package root not found');
|
|
24
|
-
return packageRoot(nextDir);
|
|
25
|
-
}
|
|
26
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/packageRoot.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport existsSync from 'fs-exists-sync';\n\nexport default function packageRoot(dir) {\n const packagePath = path.join(dir, 'package.json');\n if (existsSync(packagePath) && JSON.parse(fs.readFileSync(packagePath, 'utf8')).name) return dir;\n const nextDir = path.dirname(dir);\n if (nextDir === dir) throw new Error('Package root not found');\n return packageRoot(nextDir);\n}\n"],"names":["packageRoot","dir","packagePath","path","join","existsSync","JSON","parse","fs","readFileSync","name","nextDir","dirname","Error"],"mappings":";;;;+BAIA;;;eAAwBA;;;yDAJT;2DACE;mEACM;;;;;;AAER,SAASA,YAAYC,GAAG;IACrC,IAAMC,cAAcC,aAAI,CAACC,IAAI,CAACH,KAAK;IACnC,IAAII,IAAAA,qBAAU,EAACH,gBAAgBI,KAAKC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACP,aAAa,SAASQ,IAAI,EAAE,OAAOT;IAC7F,IAAMU,UAAUR,aAAI,CAACS,OAAO,CAACX;IAC7B,IAAIU,YAAYV,KAAK,MAAM,IAAIY,MAAM;IACrC,OAAOb,YAAYW;AACrB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import existsSync from 'fs-exists-sync';
|
|
4
|
-
export default function packageRoot(dir) {
|
|
5
|
-
const packagePath = path.join(dir, 'package.json');
|
|
6
|
-
if (existsSync(packagePath) && JSON.parse(fs.readFileSync(packagePath, 'utf8')).name) return dir;
|
|
7
|
-
const nextDir = path.dirname(dir);
|
|
8
|
-
if (nextDir === dir) throw new Error('Package root not found');
|
|
9
|
-
return packageRoot(nextDir);
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-semvers/src/lib/packageRoot.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport existsSync from 'fs-exists-sync';\n\nexport default function packageRoot(dir) {\n const packagePath = path.join(dir, 'package.json');\n if (existsSync(packagePath) && JSON.parse(fs.readFileSync(packagePath, 'utf8')).name) return dir;\n const nextDir = path.dirname(dir);\n if (nextDir === dir) throw new Error('Package root not found');\n return packageRoot(nextDir);\n}\n"],"names":["fs","path","existsSync","packageRoot","dir","packagePath","join","JSON","parse","readFileSync","name","nextDir","dirname","Error"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,gBAAgB,iBAAiB;AAExC,eAAe,SAASC,YAAYC,GAAG;IACrC,MAAMC,cAAcJ,KAAKK,IAAI,CAACF,KAAK;IACnC,IAAIF,WAAWG,gBAAgBE,KAAKC,KAAK,CAACR,GAAGS,YAAY,CAACJ,aAAa,SAASK,IAAI,EAAE,OAAON;IAC7F,MAAMO,UAAUV,KAAKW,OAAO,CAACR;IAC7B,IAAIO,YAAYP,KAAK,MAAM,IAAIS,MAAM;IACrC,OAAOV,YAAYQ;AACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function packageRoot(dir: any): any;
|