diff --git a/package-lock.json b/package-lock.json index 07a3714..651d60f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,12 @@ { "name": "which-electron", - "version": "1.0.2", + "version": "1.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.0.2", + "name": "which-electron", + "version": "1.0.3", "license": "MIT", "dependencies": { "7zip-bin": "^5.1.1", @@ -15,7 +16,7 @@ "node-7z": "^3.0.0", "nodejs-file-downloader": "^4.7.1", "rimraf": "^3.0.2", - "semver-sort": "^0.0.4", + "semver": "^7.3.5", "which": "^2.0.2" }, "bin": { @@ -110,14 +111,14 @@ } }, "node_modules/electron-fingerprints": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.1.1.tgz", - "integrity": "sha512-JzDRwvPGeR18/CddOoVGqDsfG/68OY3QKQ8EbrMZFOu1jSNDtb4MVvrpug1eF4wSUv/rEHMrBut6//FGaULVRg==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.2.0.tgz", + "integrity": "sha512-6GCMHwtlxe4JDVMxwklTAmVniOrKgsJ2tU80vxHdVBOm6zKrunp+x6gEX7m0cbC/rIQXGi5QT4VeXzEPU/J5Yg==" }, "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", "funding": [ { "type": "individual", @@ -139,9 +140,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -264,20 +265,31 @@ "resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz", "integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ=" }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.51.0" }, "engines": { "node": ">= 0.6" @@ -332,9 +344,9 @@ } }, "node_modules/nodejs-file-downloader": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.7.2.tgz", - "integrity": "sha512-8z1CLbRkWGcxIp6FJbnHZqFLfdzSfdrkPXXM/8UjxKRnSUs6uUZdA1btn+HwTrhTcPQreUOcobA8HluFmZ+ydg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.7.4.tgz", + "integrity": "sha512-UJl5Jlxe8Fc/Mb1RGP6BCedCZNdGoawGb7THszYIl/l1ucoeN0EueW0k0ifXjp36haaJoAtkTKz96PlI/fCOjw==", "dependencies": { "follow-redirects": "^1.13.0", "https-proxy-agent": "^5.0.0", @@ -423,37 +435,23 @@ } }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/semver-sort": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz", - "integrity": "sha1-NP293GprK0FhOYw8TbpWJDv+qos=", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dependencies": { - "semver": "^5.0.3", - "semver-regex": "^1.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "node_modules/truncate-utf8-bytes": { @@ -495,6 +493,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } }, "dependencies": { @@ -560,14 +563,14 @@ } }, "electron-fingerprints": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.1.1.tgz", - "integrity": "sha512-JzDRwvPGeR18/CddOoVGqDsfG/68OY3QKQ8EbrMZFOu1jSNDtb4MVvrpug1eF4wSUv/rEHMrBut6//FGaULVRg==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.2.0.tgz", + "integrity": "sha512-6GCMHwtlxe4JDVMxwklTAmVniOrKgsJ2tU80vxHdVBOm6zKrunp+x6gEX7m0cbC/rIQXGi5QT4VeXzEPU/J5Yg==" }, "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==" }, "fs.realpath": { "version": "1.0.0", @@ -575,9 +578,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -673,17 +676,25 @@ "resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz", "integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ=" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.51.0" } }, "mimic-fn": { @@ -726,9 +737,9 @@ } }, "nodejs-file-downloader": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.7.2.tgz", - "integrity": "sha512-8z1CLbRkWGcxIp6FJbnHZqFLfdzSfdrkPXXM/8UjxKRnSUs6uUZdA1btn+HwTrhTcPQreUOcobA8HluFmZ+ydg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.7.4.tgz", + "integrity": "sha512-UJl5Jlxe8Fc/Mb1RGP6BCedCZNdGoawGb7THszYIl/l1ucoeN0EueW0k0ifXjp36haaJoAtkTKz96PlI/fCOjw==", "requires": { "follow-redirects": "^1.13.0", "https-proxy-agent": "^5.0.0", @@ -796,28 +807,17 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" - }, - "semver-sort": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz", - "integrity": "sha1-NP293GprK0FhOYw8TbpWJDv+qos=", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "requires": { - "semver": "^5.0.3", - "semver-regex": "^1.0.0" + "lru-cache": "^6.0.0" } }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", "dev": true }, "truncate-utf8-bytes": { @@ -850,6 +850,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/package.json b/package.json index 094edc0..61452b2 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "node-7z": "^3.0.0", "nodejs-file-downloader": "^4.7.1", "rimraf": "^3.0.2", - "semver-sort": "^0.0.4", + "semver": "^7.3.5", "which": "^2.0.2" }, "devDependencies": { diff --git a/src/version.js b/src/version.js index 2a92d4e..85c27b0 100644 --- a/src/version.js +++ b/src/version.js @@ -1,18 +1,18 @@ -const semverSort = require('semver-sort'); -const VERSIONS = require('./versions') +const semver = require("semver"); +const VERSIONS = require("./versions"); module.exports = { - asText: function(listOfVersions) { - sorted = semverSort.asc(listOfVersions); - return `${sorted[0]}-${sorted[sorted.length-1]}` + asText: function (listOfVersions) { + sorted = listOfVersions.sort(semver.compare); + return `${sorted[0]}-${sorted[sorted.length - 1]}`; }, - max: function(listOfVersions) { - sorted = semverSort.asc(listOfVersions); - return sorted[sorted.length-1]; + max: function (listOfVersions) { + sorted = listOfVersions.sort(semver.compare); + return sorted[sorted.length - 1]; }, - isSupported: function(v) { - return (VERSIONS['supported'].indexOf(v) !== -1) - } -} + isSupported: function (v) { + return VERSIONS["supported"].indexOf(v) !== -1; + }, +};