From 8701ea5d4a6d1f1d53ffcb677644df80d7fe511f Mon Sep 17 00:00:00 2001 From: Raphix Date: Sat, 29 Apr 2023 18:19:45 +0200 Subject: [PATCH] First try implements AutoUpdate --- main.js | 14 +- package-lock.json | 878 +++++++++++++++++++++++++++-- package.json | 7 +- sublog.js | 38 ++ templates/common/mettre-a-jour.png | Bin 0 -> 17206 bytes templates/update/update.css | 63 +++ templates/update/update.html | 34 ++ templates/update/update.js | 12 + updatetools.js | 71 +++ 9 files changed, 1065 insertions(+), 52 deletions(-) create mode 100644 templates/common/mettre-a-jour.png create mode 100644 templates/update/update.css create mode 100644 templates/update/update.html create mode 100644 templates/update/update.js create mode 100644 updatetools.js diff --git a/main.js b/main.js index 09a3474..6b71ca4 100644 --- a/main.js +++ b/main.js @@ -4,8 +4,7 @@ const fs = require("fs") const ipc = ipcMain const { io } = require("socket.io-client"); const log = require("./sublog"); -const { platform } = require("os"); - +const updater = require("./updatetools") // [Function] Main Window Function // BUILDER "build": " @@ -31,7 +30,14 @@ async function createWindow() { }) + if(process.env.DEV != "true") { + updater.checkUpdate() + + } else { + + log.update("Desactivation des mises a jour -> DEV MOD ENABLE") + } await win.loadFile("templates/login/login.html") @@ -373,8 +379,10 @@ app.whenReady().then(() => { //[Operation] - Check settings - createWindow() + log.client("Submanager - Version : " + require("./package.json").version + " - Raphix") log.client("Starting Application") + createWindow() + app.on('activate', () => { diff --git a/package-lock.json b/package-lock.json index bddc71b..a0a0dac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "subsonics-manager", - "version": "1.0.2", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "subsonics-manager", - "version": "1.0.2", + "version": "2.0.0", "license": "ISC", "dependencies": { - "electron": "^24.1.2", + "decompress": "^4.2.1", "socket.io-client": "^4.6.1" }, "devDependencies": { + "electron": "^24.1.2", "electron-packager": "^17.1.1" } }, @@ -38,6 +39,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "dev": true, "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -239,6 +241,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, "engines": { "node": ">=10" }, @@ -255,6 +258,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, "dependencies": { "defer-to-connect": "^2.0.0" }, @@ -266,6 +270,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -276,12 +281,14 @@ "node_modules/@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true }, "node_modules/@types/keyv": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -289,12 +296,14 @@ "node_modules/@types/node": { "version": "18.16.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz", - "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==" + "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==", + "dev": true }, "node_modules/@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -303,6 +312,7 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, "optional": true, "dependencies": { "@types/node": "*" @@ -336,7 +346,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -352,6 +361,15 @@ } ] }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -362,6 +380,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, "optional": true }, "node_modules/brace-expansion": { @@ -374,6 +393,43 @@ "concat-map": "0.0.1" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -394,10 +450,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, "node_modules/cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, "engines": { "node": ">=10.6.0" } @@ -406,6 +468,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -429,6 +492,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, "dependencies": { "mimic-response": "^1.0.0" }, @@ -460,6 +524,11 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -514,10 +583,29 @@ } } }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "dependencies": { "mimic-response": "^3.1.0" }, @@ -532,6 +620,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, "engines": { "node": ">=10" }, @@ -539,10 +628,94 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, "engines": { "node": ">=10" } @@ -551,6 +724,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "optional": true, "dependencies": { "has-property-descriptors": "^1.0.0", @@ -567,6 +741,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, "optional": true }, "node_modules/dir-compare": { @@ -583,6 +758,7 @@ "version": "24.1.2", "resolved": "https://registry.npmjs.org/electron/-/electron-24.1.2.tgz", "integrity": "sha512-V0isWbyLYiXrSCcB4lrSVhS/U56NFGfuqHyc+yEPkyhhvY+h4F85cYGdEiZlXp6XjHT+/CLHmw0ltK54g9lvDw==", + "dev": true, "hasInstallScript": true, "dependencies": { "@electron/get": "^2.0.0", @@ -714,6 +890,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { "node": ">=6" } @@ -731,12 +908,14 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, "optional": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "optional": true, "engines": { "node": ">=10" @@ -749,6 +928,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -772,6 +952,14 @@ "pend": "~1.2.0" } }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, "node_modules/filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -837,10 +1025,16 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -860,7 +1054,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "devOptional": true + "dev": true }, "node_modules/galactus": { "version": "0.2.1", @@ -897,6 +1091,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, "optional": true, "dependencies": { "function-bind": "^1.1.1", @@ -941,6 +1136,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { "pump": "^3.0.0" }, @@ -975,6 +1171,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -992,6 +1189,7 @@ "version": "7.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, "optional": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1007,6 +1205,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, "optional": true, "dependencies": { "define-properties": "^1.1.3" @@ -1022,6 +1221,7 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -1051,7 +1251,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "devOptional": true, + "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -1063,6 +1263,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "optional": true, "dependencies": { "get-intrinsic": "^1.1.1" @@ -1075,6 +1276,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "optional": true, "engines": { "node": ">= 0.4" @@ -1092,12 +1294,14 @@ "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -1106,6 +1310,25 @@ "node": ">=10.19.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1119,8 +1342,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/is-arrayish": { "version": "0.2.1", @@ -1155,6 +1377,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -1167,6 +1402,11 @@ "node": ">=8" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/isbinaryfile": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", @@ -1188,18 +1428,21 @@ "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, "optional": true }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -1217,6 +1460,7 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, "dependencies": { "json-buffer": "3.0.1" } @@ -1259,6 +1503,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, "engines": { "node": ">=8" } @@ -1267,7 +1512,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -1275,10 +1520,30 @@ "node": ">=10" } }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, "optional": true, "dependencies": { "escape-string-regexp": "^4.0.0" @@ -1291,6 +1556,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, "engines": { "node": ">=4" } @@ -1346,6 +1612,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, "engines": { "node": ">=10" }, @@ -1353,10 +1620,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "optional": true, "engines": { "node": ">= 0.4" @@ -1374,6 +1650,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, "engines": { "node": ">=8" } @@ -1489,7 +1766,25 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, "engines": { "node": ">=0.10.0" } @@ -1507,10 +1802,16 @@ "node": ">=6" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -1519,6 +1820,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -1528,6 +1830,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, "engines": { "node": ">=10" }, @@ -1574,6 +1877,25 @@ "node": ">=4" } }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/resolve": { "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", @@ -1594,12 +1916,14 @@ "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true }, "node_modules/responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, "dependencies": { "lowercase-keys": "^2.0.0" }, @@ -1611,6 +1935,7 @@ "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -1624,10 +1949,47 @@ "node": ">=8.0" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, "bin": { "semver": "bin/semver.js" } @@ -1636,12 +1998,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, "optional": true }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, "optional": true, "dependencies": { "type-fest": "^0.13.1" @@ -1736,8 +2100,22 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, "optional": true }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -1747,6 +2125,14 @@ "node": ">=4" } }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, "node_modules/strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -1772,6 +2158,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, "dependencies": { "debug": "^4.1.0" }, @@ -1791,6 +2178,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, "node_modules/trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -1816,6 +2230,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, "optional": true, "engines": { "node": ">=10" @@ -1824,14 +2239,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { "node": ">= 4.0.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -1899,11 +2329,19 @@ "node": ">=0.4.0" } }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "dev": true }, "node_modules/yargs-parser": { "version": "21.1.1", @@ -1941,6 +2379,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "dev": true, "requires": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -2092,7 +2531,8 @@ "@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true }, "@socket.io/component-emitter": { "version": "3.1.0", @@ -2103,6 +2543,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, "requires": { "defer-to-connect": "^2.0.0" } @@ -2111,6 +2552,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, "requires": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -2121,12 +2563,14 @@ "@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true }, "@types/keyv": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, "requires": { "@types/node": "*" } @@ -2134,12 +2578,14 @@ "@types/node": { "version": "18.16.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz", - "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==" + "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==", + "dev": true }, "@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, "requires": { "@types/node": "*" } @@ -2148,6 +2594,7 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, "optional": true, "requires": { "@types/node": "*" @@ -2174,8 +2621,16 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } }, "bluebird": { "version": "3.7.2", @@ -2187,6 +2642,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, "optional": true }, "brace-expansion": { @@ -2199,6 +2655,29 @@ "concat-map": "0.0.1" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -2210,15 +2689,22 @@ "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true }, "cacheable-request": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -2239,6 +2725,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -2261,6 +2748,11 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2291,10 +2783,26 @@ "ms": "2.1.2" } }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + } + }, "decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "requires": { "mimic-response": "^3.1.0" }, @@ -2302,19 +2810,88 @@ "mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } } } }, "defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "optional": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -2325,6 +2902,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, "optional": true }, "dir-compare": { @@ -2341,6 +2919,7 @@ "version": "24.1.2", "resolved": "https://registry.npmjs.org/electron/-/electron-24.1.2.tgz", "integrity": "sha512-V0isWbyLYiXrSCcB4lrSVhS/U56NFGfuqHyc+yEPkyhhvY+h4F85cYGdEiZlXp6XjHT+/CLHmw0ltK54g9lvDw==", + "dev": true, "requires": { "@electron/get": "^2.0.0", "@types/node": "^18.11.18", @@ -2440,7 +3019,8 @@ "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true }, "error-ex": { "version": "1.3.2", @@ -2455,18 +3035,21 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, "optional": true }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "optional": true }, "extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, "requires": { "@types/yauzl": "^2.9.1", "debug": "^4.1.1", @@ -2482,6 +3065,11 @@ "pend": "~1.2.0" } }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" + }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -2531,10 +3119,16 @@ } } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2551,7 +3145,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "devOptional": true + "dev": true }, "galactus": { "version": "0.2.1", @@ -2590,6 +3184,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, "optional": true, "requires": { "function-bind": "^1.1.1", @@ -2630,6 +3225,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -2652,6 +3248,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, "optional": true, "requires": { "boolean": "^3.0.1", @@ -2666,6 +3263,7 @@ "version": "7.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, "optional": true, "requires": { "lru-cache": "^6.0.0" @@ -2677,6 +3275,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, "optional": true, "requires": { "define-properties": "^1.1.3" @@ -2686,6 +3285,7 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -2709,7 +3309,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "devOptional": true, + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -2718,6 +3318,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "optional": true, "requires": { "get-intrinsic": "^1.1.1" @@ -2727,6 +3328,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "optional": true }, "hosted-git-info": { @@ -2738,17 +3340,24 @@ "http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true }, "http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, "requires": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2762,8 +3371,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "is-arrayish": { "version": "0.2.1", @@ -2786,6 +3394,16 @@ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -2795,6 +3413,11 @@ "is-docker": "^2.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "isbinaryfile": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", @@ -2810,18 +3433,21 @@ "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, "optional": true }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -2836,6 +3462,7 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, "requires": { "json-buffer": "3.0.1" } @@ -2871,21 +3498,38 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true }, "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==", - "devOptional": true, + "dev": true, "requires": { "yallist": "^4.0.0" } }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } + }, "matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, "optional": true, "requires": { "escape-string-regexp": "^4.0.0" @@ -2894,7 +3538,8 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true }, "minimatch": { "version": "3.1.2", @@ -2939,12 +3584,19 @@ "normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "optional": true }, "once": { @@ -2958,7 +3610,8 @@ "p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true }, "p-limit": { "version": "1.3.0", @@ -3043,8 +3696,20 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } }, "plist": { "version": "3.0.6", @@ -3056,15 +3721,22 @@ "xmlbuilder": "^15.1.1" } }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -3073,7 +3745,8 @@ "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true }, "rcedit": { "version": "3.0.1", @@ -3105,6 +3778,27 @@ "read-pkg": "^2.0.0" } }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, "resolve": { "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", @@ -3119,12 +3813,14 @@ "resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true }, "responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, "requires": { "lowercase-keys": "^2.0.0" } @@ -3133,6 +3829,7 @@ "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, "optional": true, "requires": { "boolean": "^3.0.1", @@ -3143,21 +3840,44 @@ "sprintf-js": "^1.1.2" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "requires": { + "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "semver-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, "optional": true }, "serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, "optional": true, "requires": { "type-fest": "^0.13.1" @@ -3234,14 +3954,38 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, "optional": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -3263,6 +4007,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, "requires": { "debug": "^4.1.0" } @@ -3273,6 +4018,30 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -3294,12 +4063,28 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, "optional": true }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -3342,11 +4127,16 @@ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "dev": true }, "yargs-parser": { "version": "21.1.1", diff --git a/package.json b/package.json index 250387a..f19c30b 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,12 @@ { "name": "subsonics-manager", - "version": "2.0.0", + "version": "2.0.1", "description": "Manager for subsonics", "main": "main.js", "scripts": { "start": "electron .", "dev": "set DEV=true& electron .", "build": "electron-packager . submanager-app --platform='win32' --out='./dist/' --icon='./src/logo.ico' --overwrite --ignore='(settings.json)'" - }, "repository": { "type": "git", @@ -17,13 +16,11 @@ "author": "Raphix", "license": "ISC", "dependencies": { + "decompress": "^4.2.1", "socket.io-client": "^4.6.1" - }, "devDependencies": { "electron": "^24.1.2", "electron-packager": "^17.1.1" - - } } diff --git a/sublog.js b/sublog.js index 9ac1b22..b52379f 100644 --- a/sublog.js +++ b/sublog.js @@ -74,3 +74,41 @@ module.exports.client.error = (message) => { console.error("[Subsonics-Client] - [ERROR] - " + currentDate + " - " + message) } +module.exports.update = (message) => { + + var date = new Date() + + // [Date Format] - Format de la date + + var gmonth = date.getMonth() + var gday = date.getDate() + var gHour = date.getHours() + var gMinute = date.getMinutes() + var gSecondes = date.getSeconds() + + + if(date.getMonth() + 1 <= 9) { + gmonth = "0" + (date.getMonth() + 1) + } + + if(date.getDate() + 1 <= 9) { + gday = "0" + date.getDate() + } + + if(date.getHours() + 1 <= 9) { + gHour = "0" + date.getHours() + } + + if(date.getMinutes() + 1 <= 9) { + gMinute = "0" + date.getMinutes() + } + + if(date.getSeconds() + 1 <= 9) { + gSecondes = "0" + date.getSeconds() + } + + var currentDate = date.getFullYear() + "-" + gmonth + "-" + gday + "-" + gHour + "h" + "-" + gMinute + "m" + "-" + gSecondes + "s" + + console.error("[Subsonics-Update] - " + currentDate + " - " + message) +} + diff --git a/templates/common/mettre-a-jour.png b/templates/common/mettre-a-jour.png new file mode 100644 index 0000000000000000000000000000000000000000..8890cb23004388d3fb93737bd3ed744994522d50 GIT binary patch literal 17206 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 literal 0 HcmV?d00001 diff --git a/templates/update/update.css b/templates/update/update.css new file mode 100644 index 0000000..682f14f --- /dev/null +++ b/templates/update/update.css @@ -0,0 +1,63 @@ + + +.top-title { + + padding: 5% !important; +} + +.box { + + + text-align: center; + display: flex; + flex-direction: column; + background-color: rgb(38, 37, 37); + padding: 10%; + color: white; + border-radius: 15px; + box-shadow: 2px 2px 5px rgb(38, 37, 37) ; + -webkit-user-select: none; + user-select: none; + align-items: center +} + +.loading { + + width: 30%; + height: 30%; + filter: invert(1) + +} + +.loadingRot { + + -webkit-animation: rotating 1s linear infinite; + animation: rotating 1s linear infinite; + text-align: center; +; + +} + + +.loadingSpan { + + font-size: 20vw; +} + + +.infoSpan { + + color: white; + font-size: 12px; +} + +@-webkit-keyframes rotating { + from{ + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to{ + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} \ No newline at end of file diff --git a/templates/update/update.html b/templates/update/update.html new file mode 100644 index 0000000..59af1fd --- /dev/null +++ b/templates/update/update.html @@ -0,0 +1,34 @@ + + + + + + + Submanager - Login + + + + +
+
+

Subsonics

+
+
+
+
+
+

Mise à jour de l'application

+ +
+

Veuillez patienter pendant que l'application se met à jour !

+

Submanager - Version :

+ + +
+
+
+ + + + + \ No newline at end of file diff --git a/templates/update/update.js b/templates/update/update.js new file mode 100644 index 0000000..b707fc9 --- /dev/null +++ b/templates/update/update.js @@ -0,0 +1,12 @@ +const {ipcRenderer} = require("electron"); +const packageJson = require("../../package.json") +const ipc = ipcRenderer; +const fs = require("fs") + +const minimizeBtn = document.getElementById("minimizeBtn") + +document.getElementById("version").innerHTML = packageJson.version + + + + diff --git a/updatetools.js b/updatetools.js new file mode 100644 index 0000000..9996ccd --- /dev/null +++ b/updatetools.js @@ -0,0 +1,71 @@ +const log = require("./sublog") +const { BrowserWindow, app } = require("electron") +const https = require('https'); +const fs = require('fs'); +const BWin = BrowserWindow +const path = require("path") +const decompress = require('decompress'); + + +module.exports.checkUpdate = () => { + + log.update("Verification des mises a jour ... Processing !") + + fetch("https://git.raphix.fr/subsonics/manager/raw/branch/main/package.json").then(resp => resp.json()).then(resp => checkUpdateProcessing(resp)).catch(err => log.update("Erreur lors de la verification des mises a jour !")) +} + +function checkUpdateProcessing(serverPackage) { + + const clientPackage = require("./package") + + if(serverPackage.version.replace(".", "") > clientPackage.version.replace(".", "")) { + + log.update("Verification des mises a jour ... Finish !") + log.update("Mise a jour disponible ! Nouvelle version : " + serverPackage.version + " - Client : " + clientPackage.version + " - Git : " + serverPackage.version) + update() + + } else { + + log.update("Verification des mises a jour ... Finish !") + log.update("Cette version est la derniere version ! - Client : " + clientPackage.version + " - Git : " + serverPackage.version) + } + +} + +function update() { + + const win = BWin.getFocusedWindow() + win.loadFile("templates/update/update.html") + + log.update("Téléchargement de la mise à jour ... Processing !") + + if(fs.existsSync(__dirname + path.sep + "update.tar.gz")) { + + fs.rmSync("update.tar.gz") + } + + const updatePack = fs.createWriteStream(__dirname + path.sep + "update.tar.gz"); + const request = http.get("https://git.raphix.fr/subsonics/manager/archive/main.tar.gz", function(response) { + response.pipe(file); + + // after download completed close filestream + updatePack.on("finish", () => { + updatePack.close(); + log.update("Téléchargement de la mise à jour ... Finish !") + + install(__dirname + path.sep + "update.tar.gz") + + }); + + + }); + + +} + +function install(filename) { + decompress(filename, 'tmp').then(files => { + console.log('done!'); + }); + +} \ No newline at end of file