From 4adfb6998c671516d592519b7f9f7a1b4d237792 Mon Sep 17 00:00:00 2001 From: KayoticCarnige <32397453+kckarnige@users.noreply.github.com> Date: Sun, 14 Nov 2021 14:19:26 -0500 Subject: [PATCH 1/4] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 95c059c..ba75581 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ - -# ![Arm with a Cord](https://raw.githubusercontent.com/kckarnige/armcord/main/arm-with-a-cord.svg) +

+ +

ArmCord is a custom alternative Discord client made for people on lower-end devices and ARM architecture that want custom Discord experience. It uses [Cumcord](https://cumcord.com) for custom themes and plugins! # How to run/install it? From d0aef2f7a91063be94ee8a9d797ede40d6451b12 Mon Sep 17 00:00:00 2001 From: hanatic <71867548+hanatic@users.noreply.github.com> Date: Wed, 22 Dec 2021 13:38:45 +0000 Subject: [PATCH 2/4] Fixed broken link in README All it needed was a line break, for some reason. The more you know. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba75581..81752af 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@

+ ArmCord is a custom alternative Discord client made for people on lower-end devices and ARM architecture that want custom Discord experience. It uses [Cumcord](https://cumcord.com) for custom themes and plugins! # How to run/install it? From 521278cf0081007547ca4b21bea8c031f582f591 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sat, 15 Jan 2022 19:31:51 +0100 Subject: [PATCH 3/4] Titlebar, client mod, Discord, everything loads --- package-lock.json | 15 +-- package.json | 2 +- src/content/css/discord.css | 12 ++ src/content/css/titlebar.css | 220 ++++++++++++++++------------------- src/content/setup.html | 34 +++--- src/content/splash.html | 36 ++++-- src/main.ts | 43 +++---- src/preload/bridge.ts | 35 ++++-- src/preload/preload.ts | 43 +++---- src/utils.ts | 2 +- 10 files changed, 236 insertions(+), 206 deletions(-) create mode 100644 src/content/css/discord.css diff --git a/package-lock.json b/package-lock.json index 28fd69e..eb75331 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "armcord", "version": "3.0.0", "license": "OSL-3.0", "dependencies": { @@ -17,7 +18,7 @@ "ws": "^8.4.0" }, "devDependencies": { - "electron": "^16.0.5" + "electron": "^16.0.7" } }, "node_modules/@electron/get": { @@ -343,9 +344,9 @@ "dev": true }, "node_modules/electron": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz", - "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz", + "integrity": "sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -1561,9 +1562,9 @@ "dev": true }, "electron": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz", - "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz", + "integrity": "sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==", "dev": true, "requires": { "@electron/get": "^1.13.0", diff --git a/package.json b/package.json index 3ed8809..ec57d61 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "homepage": "https://github.com/armcord/armcord#readme", "devDependencies": { - "electron": "^16.0.5" + "electron": "^16.0.7" }, "dependencies": { "@types/electron-json-storage": "^4.5.0", diff --git a/src/content/css/discord.css b/src/content/css/discord.css new file mode 100644 index 0000000..8878bf3 --- /dev/null +++ b/src/content/css/discord.css @@ -0,0 +1,12 @@ +.info-1VyQPT:last-child:before { + content: "ArmCord Version: 3.0.0"!important; + height: auto; + line-height: 16px; + text-align: center; + color: var(--text-muted); + font-size: 12px; + text-transform: none; +} +.notice-3bPHh-.colorDefault-22HBa0 { + display: none; +} \ No newline at end of file diff --git a/src/content/css/titlebar.css b/src/content/css/titlebar.css index c8aca19..6c5df04 100644 --- a/src/content/css/titlebar.css +++ b/src/content/css/titlebar.css @@ -5,122 +5,104 @@ --armcord-color: #7289da; --titlebar-color: var(--background-tertiary); } -.titleebar { - position: absolute; - top: 0; - left: 0; - right: 0; - box-sizing: border-box; - width: 100%; - font-size: 13px; - padding: 0 16px; - overflow: hidden; - flex-shrink: 0; - align-items: center; - justify-content: center; - user-select: none; - zoom: 1; - line-height: 22px; - height: 22px; - display: flex; - z-index: 99999; - } - .titlebar { - display: block; - top: 0; - left: 0; - right: 0; - flex-shrink: 0; - overflow: hidden; - zoom: 1; - box-sizing: border-box; - width: 100%; - clear:both; - height: 30px; - line-height: 30px; - background-color: #202225; - -webkit-app-region: drag; - width: 100%; - user-select: none; - -webkit-user-select: none; - position: fixed; - z-index: 99999; - - } - .appMount-3lHmkl{ - - } - .titlebar #window-title { - width: 30%; - height: 100%; - line-height: 30px; - float: left; - padding: 0 0 0 1em; - } - - .titlebar #window-controls-container { - float: right; - width: 150px; - height: 100%; - line-height: 30px; - background-color: #202225; - -webkit-app-region: no-drag; - } - - .titlebar #window-controls-container #minimize, - .titlebar #window-controls-container #maximize, - .titlebar #window-controls-container #quit { - float: left; - height: 100%; - width: 33%; - text-align: center; - color: #f7f7f7; - cursor: default; - } - - .titlebar #window-controls-container #minimize:hover { - background-color: #99AAB5; - } - .titlebar #window-controls-container #maximize:hover { - background-color: #99AAB5; - } - .titlebar #window-controls-container #quit:hover { - background-color: #F04747; - } - .titlebar #window-controls-container #quit { - background-color: #f7f7f7; - -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - } - .titlebar #window-controls-container #minimize { - background-color: #f7f7f7; - -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - } - .titlebar #window-controls-container #maximize { - background-color: #f7f7f7; - -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") no-repeat 50% 50%; - } - .window-title:after { - content: "Cord"; - color: var(--cord-color) !important; - font-weight: normal; - font-size: 14px; - font-family: Discordinated; - } - .window-title:before { - content: "ARM"; - color: var(--armcord-color); - font-weight: normal; - font-size: 14px; - font-family: Helvetica, sans-serif; - } - .window-title { - font-size: 0px !important; - margin-left: initial !important; - transform: translate(10px, 0px); - } - .withFrame-haYltI { - height: 23px !important; - } \ No newline at end of file +.titlebar { + display: block; + top: 0; + left: 0; + right: 0; + flex-shrink: 0; + overflow: hidden; + zoom: 1; + box-sizing: border-box; + width: 100%; + clear: both; + height: 30px; + line-height: 30px; + background-color: #202225; + -webkit-app-region: drag; + width: 100%; + user-select: none; + -webkit-user-select: none; + position: fixed; + z-index: 99999; +} +.titlebar #window-title { + width: 30%; + height: 100%; + line-height: 30px; + float: left; + padding: 0 0 0 1em; +} + +.titlebar #window-controls-container { + float: right; + width: 150px; + height: 100%; + line-height: 30px; + background-color: #202225; + -webkit-app-region: no-drag; +} + +.titlebar #window-controls-container #minimize, +.titlebar #window-controls-container #maximize, +.titlebar #window-controls-container #quit { + float: left; + height: 100%; + width: 33%; + text-align: center; + color: #f7f7f7; + cursor: default; +} + +.titlebar #window-controls-container #minimize:hover { + background-color: #99aab5; +} +.titlebar #window-controls-container #maximize:hover { + background-color: #99aab5; +} +.titlebar #window-controls-container #quit:hover { + background-color: #f04747; +} +.titlebar #window-controls-container #quit { + background-color: #f7f7f7; + -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; + mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; +} +.titlebar #window-controls-container #minimize { + background-color: #f7f7f7; + -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; + mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 4.399V5.5H0V4.399h11z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; +} +.titlebar #window-controls-container #maximize { + background-color: #f7f7f7; + -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; + mask: url("data:image/svg+xml;charset=utf-8,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z' fill='%23000'/%3E%3C/svg%3E") + no-repeat 50% 50%; +} +.window-title:after { + content: "Cord"; + color: var(--cord-color) !important; + font-weight: normal; + font-size: 14px; + font-family: Discordinated; +} +.window-title:before { + content: "ARM"; + color: var(--armcord-color); + font-weight: normal; + font-size: 14px; + font-family: Helvetica, sans-serif; +} +.window-title { + font-size: 0px !important; + margin-left: initial !important; + transform: translate(10px, 0px); +} +.withFrame-haYltI { + height: 30px !important; +} diff --git a/src/content/setup.html b/src/content/setup.html index e0cb1d1..88bd26f 100644 --- a/src/content/setup.html +++ b/src/content/setup.html @@ -22,23 +22,23 @@ diff --git a/src/main.ts b/src/main.ts index ec88964..54bc23d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -7,11 +7,12 @@ import { saveSettings } from "./utils"; import "./extensions/mods"; import "./extensions/plugin"; import "./tray"; -var isSetup = null; var contentPath: string = "null"; var frame: boolean; +var channel: string; +var titlebar: boolean; export var mainWindow: BrowserWindow; - +var settings:any; storage.keys(function (error, keys) { if (error) throw error; @@ -24,26 +25,31 @@ storage.has("settings", function (error, hasKey) { if (!hasKey) { console.log("First run of the ArmCord. Starting setup."); - isSetup = true; // setup(); will be done at setup contentPath = __dirname + "/content/setup.html"; } else { console.log("ArmCord has been run before. Skipping setup."); - isSetup = false; contentPath = __dirname + "/content/splash.html"; } }); storage.get("settings", function (error, data: any) { if (error) throw error; console.log(data); - frame = data.customTitlebar; - console.log(frame); + titlebar = data.customTitlebar; + channel = data.channel; + settings = data; + if ((titlebar = true)) { + frame = false; + } else { + frame = true; + } }); function createWindow() { mainWindow = new BrowserWindow({ width: 300, height: 350, title: "ArmCord", + icon: "./assets/ac_icon_transparent.png", frame: frame, webPreferences: { preload: path.join(__dirname, "preload/preload.js"), @@ -79,22 +85,18 @@ function createWindow() { ipcMain.on("splashEnd", (event, arg) => { mainWindow.setSize(800, 600); }); - ipcMain.on("channel", (event) => { - storage.get("settings", function (error, data: any) { - if (error) throw error; - event.returnValue = data.channel; - }); - }); ipcMain.on("saveSettings", (event, ...args) => { //@ts-ignore saveSettings(...args); }); - ipcMain.on('clientmod' , (event, arg) => { - storage.get("settings", function (error, data: any) { - if (error) throw error; - event.returnValue = data.mods; - }); - }) + ipcMain.on("channel", (event) => { + + event.returnValue = channel; + }); + ipcMain.on("clientmod", (event, arg) => { + event.returnValue = settings.mods; + }); + ipcMain.on("setting-armcordCSP", (event) => { storage.get("settings", function (error, data: any) { if (error) throw error; @@ -110,10 +112,11 @@ function createWindow() { ); mainWindow.webContents.userAgent = "Mozilla/5.0 (X11; Linux x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; //fake useragent - mainWindow.webContents.on("new-window", function (e, url) { - e.preventDefault(); + mainWindow.webContents.setWindowOpenHandler(({ url }) => { shell.openExternal(url); + return { action: "deny" }; }); + mainWindow.loadFile(contentPath); } diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts index 78f84db..6ea0f2a 100644 --- a/src/preload/bridge.ts +++ b/src/preload/bridge.ts @@ -1,20 +1,31 @@ -import { contextBridge, ipcRenderer } from 'electron'; -import {getDisplayMediaSelector} from './capturer'; +import { contextBridge, ipcRenderer } from "electron"; +import { getDisplayMediaSelector } from "./capturer"; -console.log(ipcRenderer.send('channel')) contextBridge.exposeInMainWorld("armcord", { window: { - show: () => ipcRenderer.send('win-show'), - hide: () => ipcRenderer.send('win-hide'), - minimize: () => ipcRenderer.send('win-minimize'), - maximize: () => ipcRenderer.send('win-maximize'), + show: () => ipcRenderer.send("win-show"), + hide: () => ipcRenderer.send("win-hide"), + minimize: () => ipcRenderer.send("win-minimize"), + maximize: () => ipcRenderer.send("win-maximize"), }, electron: process.versions.electron, - version: ipcRenderer.send('get-app-version', 'app-version'), + channel: ipcRenderer.sendSync('channel'), + version: ipcRenderer.sendSync("get-app-version", "app-version"), getDisplayMediaSelector: getDisplayMediaSelector, - saveSettings: (...args: any) => ipcRenderer.send('saveSettings', ...args), - splashEnd: () => ipcRenderer.send('splashEnd'), - channel: ipcRenderer.send('channel') + saveSettings: (...args: any) => ipcRenderer.send("saveSettings", ...args), + splashEnd: () => ipcRenderer.send("splashEnd"), + loadDiscord: () => ipcRenderer.send("loadDiscord"), }); -contextBridge.exposeInMainWorld("electron", {}) //deprecated, used for legacy purposes, will be removed in future versions \ No newline at end of file +contextBridge.exposeInMainWorld("electron", { + //deprecated, used for legacy purposes, will be removed in future versions + window: { + show: () => ipcRenderer.send("win-show"), + hide: () => ipcRenderer.send("win-hide"), + minimize: () => ipcRenderer.send("win-minimize"), + maximize: () => ipcRenderer.send("win-maximize"), + }, + electron: process.versions.electron, + warning: 'This is a deprecated API and will be removed in future versions (3.0.0 --> 3.1.0).', + version: ipcRenderer.sendSync("get-app-version", "app-version"), +}); diff --git a/src/preload/preload.ts b/src/preload/preload.ts index 71d26bb..3551d62 100644 --- a/src/preload/preload.ts +++ b/src/preload/preload.ts @@ -1,12 +1,10 @@ -import "./capturer"; import "./bridge"; +import "./capturer"; +import * as fs from "fs"; +import * as path from "path"; import { injectTitlebar } from "./titlebar"; +import { sleep, addStyle } from "../utils"; import { ipcRenderer } from "electron"; -declare global { - interface Window { - splash: any; - } -} const clientMods = { goosemod: "https://api.goosemod.com/inject.js", @@ -29,18 +27,23 @@ if (window.location.href.indexOf("splash.html") > -1) { console.log("Skipping titlebar injection and client mod injection."); } else { injectTitlebar(); - switch (ipcRenderer.sendSync("clientmod")) { - case "goosemod": - injectJS(clientMods.goosemod); - console.log("Loading GooseMod..."); - break; - case "cumcord": - injectJS(clientMods.cumcord); - console.log("Loading Cumcord..."); - break; - case "flicker": - injectJS(clientMods.flicker); - console.log("Loading FlickerMod..."); - break; - } + sleep(5000).then(() => { + const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); + addStyle(fs.readFileSync(cssPath, "utf8")); + + switch (ipcRenderer.sendSync("clientmod")) { + case "goosemod": + injectJS(clientMods.goosemod); + console.log("Loading GooseMod..."); + break; + case "cumcord": + injectJS(clientMods.cumcord); + console.log("Loading Cumcord..."); + break; + case "flicker": + injectJS(clientMods.flicker); + console.log("Loading FlickerMod..."); + break; + } + }); } diff --git a/src/utils.ts b/src/utils.ts index e88950a..2dbb972 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -26,4 +26,4 @@ export function saveSettings(customTitlebarSetting: boolean, channelSetting: str storage.set('settings', { customTitlebar: customTitlebarSetting, channel: channelSetting, firstRun: 'done', armcordCSP: armcordCSPSetting, mods: modsSetting }, function(error) { if (error) throw error; }); -} \ No newline at end of file +} From 1debbe60fe9e91dcb859d03c59a5886b849144db Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sat, 15 Jan 2022 22:21:51 +0100 Subject: [PATCH 4/4] Getting ready for 3.0 --- .gitignore | 4 +- README.md | 34 +- build/icon.png | Bin 0 -> 83375 bytes package-lock.json | 3916 ++++++++++++++++++++++++++++++++++- package.json | 42 +- src/content/css/discord.css | 4 +- src/content/setup.html | 32 +- src/extensions/themes.ts | 0 src/main.ts | 49 +- src/preload/bridge.ts | 4 +- src/shortcuts.ts | 35 + src/tray.ts | 3 +- src/utils.ts | 65 +- tsconfig.json | 2 +- 14 files changed, 4036 insertions(+), 154 deletions(-) create mode 100644 build/icon.png delete mode 100644 src/extensions/themes.ts create mode 100644 src/shortcuts.ts diff --git a/.gitignore b/.gitignore index a1b234f..2ace6b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules out/ -dist \ No newline at end of file +dist +ts-out/ +ts-out \ No newline at end of file diff --git a/README.md b/README.md index 44752fb..a1267e1 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,43 @@ -### THIS IS EXPERIMENTAL REWRITE CODE +

-ArmCord is a custom alternative Discord client made for people on lower-end devices and ARM architecture that want custom Discord experience. It uses [Cumcord](https://cumcord.com) for custom themes and plugins! +ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight. +# Features + +* **Standalone client** - ArmCord is built as standalone client, it doesn't rely on original Discord client. +* **Various mods built in** - Explore Cumcord/GooseMod/Flicker plugins and their features! +* **Made for Privacy** - ArmCord automatically blocks Discord's trackers. +* **Faster than normal Discord app** - ArmCord is using newer Electron than stock Discord app. This usually means increased performance and more stable experience. +* **Designed to work anywhere** - ArmCord was initially created in mind to run on Arm64 Linux devices. We soon expanded our support to more platforms. We plan to support every platform that [Electron supports](https://www.electronjs.org/docs/latest/tutorial/support#supported-platforms). # How to run/install it? -Check releases tab for precompiled packages for Linux, Windows and Mac OS (experimental). -Alternatively you can run ArmCord from source (npm, nodejs required): -1.Run `npm install` -2.Run `npm start` -3.Compile/Package with `npm run make` +### Recommended: +Check releases tab for precompiled packages for Linux, Windows and Mac OS (experimental). +### Manual: +Alternatively you can run ArmCord from source (npm, nodejs required): +1.Clone ArmCord repo: `git clonehttps://github.com/ArmCord/ArmCord.git` +2.Run `npm install` to install dependencies +3.Compile/Package with `npm run package` # FAQ ## 1.Will I get banned from using it? - -You are breaking Discord ToS since we are using Cumcord for themes and plugins. But no one ever got banned from using ArmCord or Cumcord. If you wish to remove Cumcord, you can find it in your mods folder. + -You are breaking Discord ToS if you decided to use client mods. But no one ever got banned from using ArmCord or any of the client mods included. If you wish to remove mods, check our documentation. ## 2.How does this work? - -We are using official web app and adding Cumcord it with some other tweaks. + -We are using official web app and adding some magic powder to make it all work! ## 3.Can I use this on other architectures or operating systems? -Yes! ArmCord should work normally under Windows, ~~Mac OS~~ (Mac OS is broken see [#48](https://github.com/ArmCord/ArmCord/issues/48)), Linux as long as it has NodeJS, npm and Electron support. -## 4.Code is big spaghetti. - - -I'm aware. I'm slowly rewriting everything. # Credits [ArmCord UI Elements and few features](https://github.com/kckarnige) [Cumcord](https://github.com/Cumcord/Cumcord) +[GooseMod](https://github.com/GooseMod/GooseMod) [GooseMod Extension](https://github.com/GooseMod/extension) [electron-discord-webapp](https://github.com/SpacingBat3/electron-discord-webapp) -[custom-electron-titlebar](https://github.com/AlexTorresSk/custom-electron-titlebar) -[electron-localshortcut](https://github.com/parro-it/electron-localshortcut) +[custom-electron-titlebar (css only)](https://github.com/AlexTorresSk/custom-electron-titlebar) [electron-builder](https://electron.build) diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb87d3bafe44c8dcba387113f79018fd2415b88f GIT binary patch literal 83375 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�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 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/@electron/get": { @@ -43,6 +60,131 @@ "global-tunnel-ng": "^2.7.1" } }, + "node_modules/@electron/universal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.0.5.tgz", + "integrity": "sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==", + "dev": true, + "dependencies": { + "@malept/cross-spawn-promise": "^1.1.0", + "asar": "^3.0.3", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -64,20 +206,138 @@ "node": ">=6" } }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/electron-json-storage": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@types/electron-json-storage/-/electron-json-storage-4.5.0.tgz", - "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==" + "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "optional": true + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true }, "node_modules/@types/node": { "version": "14.18.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz", - "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==" + "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==", + "dev": true + }, + "node_modules/@types/plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/verror": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.5.tgz", + "integrity": "sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==", + "dev": true, + "optional": true + }, + "node_modules/@types/yargs": { + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.8.tgz", + "integrity": "sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "node_modules/7zip-bin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", + "dev": true + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -86,6 +346,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -96,6 +357,145 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "node_modules/app-builder-lib": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.5.tgz", + "integrity": "sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==", + "dev": true, + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/universal": "1.0.5", + "@malept/flatpak-bundler": "^0.4.0", + "7zip-bin": "~5.1.1", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.3.2", + "ejs": "^3.1.6", + "electron-osx-sign": "^0.5.0", + "electron-publish": "22.14.5", + "form-data": "^4.0.0", + "fs-extra": "^10.0.0", + "hosted-git-info": "^4.0.2", + "is-ci": "^3.0.0", + "isbinaryfile": "^4.0.8", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "minimatch": "^3.0.4", + "read-config-file": "6.2.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.5", + "temp-file": "^3.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/asar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", + "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", @@ -104,11 +504,70 @@ "lodash": "^4.17.14" } }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/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, + "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/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5" + } + }, "node_modules/boolean": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", @@ -116,6 +575,40 @@ "dev": true, "optional": true }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -125,6 +618,47 @@ "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "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==", + "dev": true, + "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==", + "dev": true + }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -134,12 +668,98 @@ "node": "*" } }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builder-util": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.5.tgz", + "integrity": "sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==", + "dev": true, + "dependencies": { + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "7zip-bin": "~5.1.1", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "8.9.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", + "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -182,10 +802,80 @@ "node": ">=8" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -205,6 +895,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -215,7 +906,47 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/concat-map": { "version": "0.0.1", @@ -248,10 +979,40 @@ "proto-list": "~1.2.1" } }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, "node_modules/copyfiles": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "dev": true, "dependencies": { "glob": "^7.0.5", "minimatch": "^3.0.3", @@ -270,6 +1031,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -280,7 +1042,41 @@ "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==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/debug": { "version": "4.3.3", @@ -311,6 +1107,15 @@ "node": ">=4" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", @@ -330,6 +1135,15 @@ "node": ">= 0.4" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -337,12 +1151,159 @@ "dev": true, "optional": true }, + "node_modules/dir-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", + "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", + "dev": true, + "dependencies": { + "buffer-equal": "1.0.0", + "colors": "1.0.3", + "commander": "2.9.0", + "minimatch": "3.0.4" + }, + "bin": { + "dircompare": "src/cli/dircompare.js" + } + }, + "node_modules/dir-compare/node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/dmg-builder": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.5.tgz", + "integrity": "sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==", + "dev": true, + "dependencies": { + "app-builder-lib": "22.14.5", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "fs-extra": "^10.0.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.9" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dmg-license": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.10.tgz", + "integrity": "sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", + "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron": { "version": "16.0.7", "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz", @@ -361,6 +1322,95 @@ "node": ">= 8.6" } }, + "node_modules/electron-builder": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.5.tgz", + "integrity": "sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==", + "dev": true, + "dependencies": { + "@types/yargs": "^17.0.1", + "app-builder-lib": "22.14.5", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "dmg-builder": "22.14.5", + "fs-extra": "^10.0.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "read-config-file": "6.2.0", + "update-notifier": "^5.1.0", + "yargs": "^17.0.1" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-builder/node_modules/yargs": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/electron-json-storage": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", @@ -374,10 +1424,109 @@ "write-file-atomic": "^2.4.2" } }, + "node_modules/electron-osx-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", + "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/electron-osx-sign/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-osx-sign/node_modules/isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "dependencies": { + "buffer-alloc": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/electron-osx-sign/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/electron-publish": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.5.tgz", + "integrity": "sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==", + "dev": true, + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "fs-extra": "^10.0.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/encodeurl": { "version": "1.0.2", @@ -418,10 +1567,20 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, "engines": { "node": ">=6" } }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -465,6 +1624,28 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -474,6 +1655,29 @@ "pend": "~1.2.0" } }, + "node_modules/filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -497,6 +1701,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -566,6 +1771,30 @@ "node": ">=10" } }, + "node_modules/global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/global-tunnel-ng": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", @@ -625,12 +1854,107 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -657,21 +1981,217 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, - "optional": true + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "dependencies": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jake/node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "node_modules/jake/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jake/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/jake/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, "node_modules/json-buffer": { "version": "3.0.0", @@ -679,6 +2199,12 @@ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "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", @@ -686,6 +2212,21 @@ "dev": true, "optional": true }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -704,6 +2245,24 @@ "json-buffer": "3.0.0" } }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true + }, "node_modules/lockfile": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", @@ -731,7 +2290,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "optional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -739,6 +2297,21 @@ "node": ">=10" } }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -752,6 +2325,39 @@ "node": ">=10" } }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "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==", + "dev": true, + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -794,10 +2400,18 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "optional": true + }, "node_modules/noms": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "dev": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "~1.0.31" @@ -806,12 +2420,14 @@ "node_modules/noms/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, "node_modules/noms/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -822,7 +2438,8 @@ "node_modules/noms/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true }, "node_modules/normalize-url": { "version": "4.5.1", @@ -874,6 +2491,21 @@ "node": ">=6" } }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -882,6 +2514,15 @@ "node": ">=0.10.0" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -898,6 +2539,28 @@ "node": ">=4" } }, + "node_modules/plist": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", + "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "dev": true, + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/plist/node_modules/xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", @@ -910,7 +2573,8 @@ "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==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/progress": { "version": "2.0.3", @@ -938,10 +2602,63 @@ "once": "^1.3.1" } }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-config-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz", + "integrity": "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==", + "dev": true, + "dependencies": { + "dotenv": "^9.0.2", + "dotenv-expand": "^5.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "lazy-val": "^1.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -952,10 +2669,35 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -1001,7 +2743,29 @@ "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==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, "node_modules/semver": { "version": "6.3.0", @@ -1019,6 +2783,18 @@ "dev": true, "optional": true }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -1035,11 +2811,77 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -1047,10 +2889,20 @@ "dev": true, "optional": true }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "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==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -1059,6 +2911,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1072,6 +2925,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -1079,6 +2933,15 @@ "node": ">=8" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -1091,15 +2954,109 @@ "node": ">= 8.0" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tmp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", @@ -1109,6 +3066,15 @@ "node": ">=6" } }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -1138,10 +3104,20 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, "node_modules/typescript": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1150,6 +3126,18 @@ "node": ">=4.2.0" } }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -1163,10 +3151,81 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, "engines": { "node": ">=8" } }, + "node_modules/update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dev": true, + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/update-notifier/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/url-parse-lax": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", @@ -1179,20 +3238,77 @@ "node": ">=4" } }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1220,30 +3336,30 @@ "signal-exit": "^3.0.2" } }, - "node_modules/ws": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", - "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=8" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8.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==", + "dev": true, "engines": { "node": ">=0.4" } @@ -1252,6 +3368,7 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { "node": ">=10" } @@ -1260,13 +3377,13 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true + "dev": true }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -1284,6 +3401,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, "engines": { "node": ">=10" } @@ -1300,6 +3418,16 @@ } }, "dependencies": { + "@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + }, "@electron/get": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz", @@ -1317,6 +3445,100 @@ "sumchecker": "^3.0.1" } }, + "@electron/universal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.0.5.tgz", + "integrity": "sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==", + "dev": true, + "requires": { + "@malept/cross-spawn-promise": "^1.1.0", + "asar": "^3.0.3", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -1332,29 +3554,252 @@ "defer-to-connect": "^1.0.1" } }, + "@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dev": true, + "requires": { + "@types/ms": "*" + } + }, "@types/electron-json-storage": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@types/electron-json-storage/-/electron-json-storage-4.5.0.tgz", - "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==" + "integrity": "sha512-wzDtkJHEENo4yLARfPjdYD6Foa7IORXFiNYLacZ6lJThkrGUWh5vlSSMu925ov5zv8tQHtajn2O7BpHcBtqU3g==", + "dev": true + }, + "@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "optional": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "optional": true + }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true }, "@types/node": { "version": "14.18.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz", - "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==" + "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==", + "dev": true + }, + "@types/plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "@types/verror": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.5.tgz", + "integrity": "sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==", + "dev": true, + "optional": true + }, + "@types/yargs": { + "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.8.tgz", + "integrity": "sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "7zip-bin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } }, + "app-builder-bin": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.7.1.tgz", + "integrity": "sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==", + "dev": true + }, + "app-builder-lib": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.5.tgz", + "integrity": "sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==", + "dev": true, + "requires": { + "@develar/schema-utils": "~2.6.5", + "@electron/universal": "1.0.5", + "@malept/flatpak-bundler": "^0.4.0", + "7zip-bin": "~5.1.1", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.3.2", + "ejs": "^3.1.6", + "electron-osx-sign": "^0.5.0", + "electron-publish": "22.14.5", + "form-data": "^4.0.0", + "fs-extra": "^10.0.0", + "hosted-git-info": "^4.0.2", + "is-ci": "^3.0.0", + "isbinaryfile": "^4.0.8", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "minimatch": "^3.0.4", + "read-config-file": "6.2.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.5", + "temp-file": "^3.4.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "asar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", + "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "optional": true + }, "async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", @@ -1363,11 +3808,50 @@ "lodash": "^4.17.14" } }, + "async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "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 + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5" + } + }, "boolean": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", @@ -1375,6 +3859,30 @@ "dev": true, "optional": true }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1384,18 +3892,119 @@ "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==", + "dev": true, + "optional": true, + "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==", + "dev": true, + "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==", + "dev": true + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "builder-util": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.5.tgz", + "integrity": "sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==", + "dev": true, + "requires": { + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "7zip-bin": "~5.1.1", + "app-builder-bin": "3.7.1", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "builder-util-runtime": { + "version": "8.9.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", + "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", + "dev": true, + "requires": { + "debug": "^4.3.2", + "sax": "^1.2.4" + } + }, "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -1428,10 +4037,56 @@ } } }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "optional": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -1451,6 +4106,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -1458,7 +4114,35 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true }, "concat-map": { "version": "0.0.1", @@ -1488,10 +4172,39 @@ "proto-list": "~1.2.1" } }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, "copyfiles": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "dev": true, "requires": { "glob": "^7.0.5", "minimatch": "^3.0.3", @@ -1505,14 +4218,43 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "optional": true, + "requires": { + "buffer": "^5.1.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true }, "debug": { "version": "4.3.3", @@ -1532,6 +4274,12 @@ "mimic-response": "^1.0.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", @@ -1548,6 +4296,12 @@ "object-keys": "^1.0.12" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, "detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -1555,12 +4309,126 @@ "dev": true, "optional": true }, + "dir-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", + "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", + "dev": true, + "requires": { + "buffer-equal": "1.0.0", + "colors": "1.0.3", + "commander": "2.9.0", + "minimatch": "3.0.4" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "dmg-builder": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.5.tgz", + "integrity": "sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==", + "dev": true, + "requires": { + "app-builder-lib": "22.14.5", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "dmg-license": "^1.0.9", + "fs-extra": "^10.0.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "dmg-license": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.10.tgz", + "integrity": "sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==", + "dev": true, + "optional": true, + "requires": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", + "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, "electron": { "version": "16.0.7", "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.7.tgz", @@ -1572,6 +4440,76 @@ "extract-zip": "^1.0.3" } }, + "electron-builder": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.5.tgz", + "integrity": "sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==", + "dev": true, + "requires": { + "@types/yargs": "^17.0.1", + "app-builder-lib": "22.14.5", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "dmg-builder": "22.14.5", + "fs-extra": "^10.0.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "read-config-file": "6.2.0", + "update-notifier": "^5.1.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yargs": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", + "dev": true + } + } + }, "electron-json-storage": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", @@ -1585,10 +4523,95 @@ "write-file-atomic": "^2.4.2" } }, + "electron-osx-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", + "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "electron-publish": { + "version": "22.14.5", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.5.tgz", + "integrity": "sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==", + "dev": true, + "requires": { + "@types/fs-extra": "^9.0.11", + "builder-util": "22.14.5", + "builder-util-runtime": "8.9.1", + "chalk": "^4.1.1", + "fs-extra": "^10.0.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "encodeurl": { "version": "1.0.2", @@ -1622,7 +4645,14 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true }, "escape-string-regexp": { "version": "4.0.0", @@ -1660,6 +4690,25 @@ } } }, + "extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "optional": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -1669,6 +4718,26 @@ "pend": "~1.2.0" } }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -1688,7 +4757,8 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-stream": { "version": "4.1.0", @@ -1739,6 +4809,23 @@ } } }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "dev": true, + "requires": { + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + } + } + }, "global-tunnel-ng": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", @@ -1786,12 +4873,72 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, + "iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "optional": true, + "requires": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "optional": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -1815,18 +4962,165 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, - "optional": true + "requires": { + "ci-info": "^3.2.0" + } }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", + "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } }, "json-buffer": { "version": "3.0.0", @@ -1834,6 +5128,12 @@ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -1841,6 +5141,15 @@ "dev": true, "optional": true }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -1859,6 +5168,21 @@ "json-buffer": "3.0.0" } }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true + }, "lockfile": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", @@ -1883,11 +5207,19 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "optional": true, "requires": { "yallist": "^4.0.0" } }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, "matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -1898,6 +5230,27 @@ "escape-string-regexp": "^4.0.0" } }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "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==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -1931,10 +5284,18 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "optional": true + }, "noms": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "~1.0.31" @@ -1943,12 +5304,14 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true }, "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -1959,7 +5322,8 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -2001,11 +5365,29 @@ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -2019,6 +5401,24 @@ "dev": true, "optional": true }, + "plist": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", + "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "dev": true, + "requires": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" + }, + "dependencies": { + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } + } + }, "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", @@ -2028,7 +5428,8 @@ "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==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "progress": { "version": "2.0.3", @@ -2053,10 +5454,51 @@ "once": "^1.3.1" } }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-config-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz", + "integrity": "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==", + "dev": true, + "requires": { + "dotenv": "^9.0.2", + "dotenv-expand": "^5.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "lazy-val": "^1.0.4" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2067,10 +5509,29 @@ "util-deprecate": "~1.0.1" } }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "responselike": { "version": "1.0.2", @@ -2107,7 +5568,29 @@ "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==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, "semver": { "version": "6.3.0", @@ -2122,6 +5605,15 @@ "dev": true, "optional": true }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + } + }, "serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -2132,11 +5624,61 @@ "type-fest": "^0.13.1" } }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -2144,10 +5686,17 @@ "dev": true, "optional": true }, + "stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": 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==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -2156,6 +5705,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2166,10 +5716,17 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -2179,21 +5736,108 @@ "debug": "^4.1.0" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "requires": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "requires": { + "tmp": "^0.2.0" + } + }, "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -2214,10 +5858,29 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==" + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "dev": true + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } }, "universalify": { "version": "0.1.2", @@ -2228,7 +5891,65 @@ "untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dev": true, + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } }, "url-parse-lax": { "version": "3.0.0", @@ -2239,20 +5960,67 @@ "prepend-http": "^2.0.0" } }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, + "verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "optional": true + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -2274,33 +6042,42 @@ "signal-exit": "^3.0.2" } }, - "ws": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", - "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", - "requires": {} + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "optional": true }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true + "dev": true }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -2314,7 +6091,8 @@ "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true }, "yauzl": { "version": "2.10.0", diff --git a/package.json b/package.json index ec57d61..b12b1f1 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,14 @@ { - "name": "armcord", - "version": "3.0.0", + "name": "ArmCord", + "version": "2.9.9", "description": "ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight.", - "main": "dist/main.js", + "main": "ts-out/main.js", "scripts": { "build": "tsc", "watch": "tsc -w", - "start": "npm run build && npm run copy-files && electron ./dist/main.js", - "copy-files": "copyfiles -u 1 src/**/*.html src/**/*.css dist/ && copyfiles package.json dist/ && copyfiles assets/** dist/" + "start": "npm run build && npm run copy-files && electron ./ts-out/main.js", + "package": "npm run build && npm run copy-files && electron-builder", + "copy-files": "copyfiles -u 1 src/**/*.html src/**/*.css ts-out/ && copyfiles package.json ts-out/ && copyfiles assets/** ts-out/" }, "repository": { "type": "git", @@ -20,15 +21,32 @@ }, "homepage": "https://github.com/armcord/armcord#readme", "devDependencies": { - "electron": "^16.0.7" - }, - "dependencies": { + "electron": "^16.0.7", "@types/electron-json-storage": "^4.5.0", "@types/node": "^14.18.2", - "copyfiles": "^2.4.1", - "electron-json-storage": "^4.5.0", "typescript": "^4.5.4", - "v8-compile-cache": "^2.3.0", - "ws": "^8.4.0" + "copyfiles": "^2.4.1", + "electron-builder": "^22.14.5" + }, + "dependencies": { + "electron-json-storage": "^4.5.0", + "v8-compile-cache": "^2.3.0" + }, + "build": { + "appId": "com.smartfridge.armcord", + "productName": "ArmCord", + "mac": { + "category": "Network" + }, + "linux": { + "category": "Network", + "maintainer": "smartfrigde@gmail.com", + "target": [ + "deb", + "tar.gz", + "rpm", + "AppImage" + ] + } } } diff --git a/src/content/css/discord.css b/src/content/css/discord.css index 8878bf3..5d9fdfa 100644 --- a/src/content/css/discord.css +++ b/src/content/css/discord.css @@ -7,6 +7,6 @@ font-size: 12px; text-transform: none; } -.notice-3bPHh-.colorDefault-22HBa0 { - display: none; +.notice-2HEN-u { + display: none; } \ No newline at end of file diff --git a/src/content/setup.html b/src/content/setup.html index 88bd26f..e83844a 100644 --- a/src/content/setup.html +++ b/src/content/setup.html @@ -22,24 +22,7 @@