From 101bc63651e888f9086752ab8bff91286c348d83 Mon Sep 17 00:00:00 2001 From: smartfridge <37928912+smartfrigde@users.noreply.github.com> Date: Fri, 24 Dec 2021 22:56:49 +0100 Subject: [PATCH] Initial source code upload --- .gitattributes | 2 - .gitmodules | 3 - LICENSE | 172 - README.md | 5 +- ac_icon_transparent.png | Bin 83375 -> 0 bytes ac_plug.ico | Bin 109693 -> 0 bytes ac_plug.png | Bin 38890 -> 0 bytes build.sh | 2 - build/icon.ico | Bin 109693 -> 0 bytes build/icon.png | Bin 38890 -> 0 bytes index.html | 108 - main.js | 141 - manager.css | 161 - manager.html | 18 - mods/cumcord/background.js | 42 - mods/cumcord/content.js | 9 - mods/cumcord/manifest.json | 25 - package-lock.json | 5562 ++---------------- package.json | 85 +- preload.js | 97 - src/content/css/setup.css | 85 + src/content/css/splash.css | 114 + src/content/css/titlebar.css | 123 + src/content/index.html | 50 + src/content/setup.html | 24 + src/extensions/plugin.ts | 26 + src/extensions/themes.ts | 0 src/main.ts | 92 + src/preload/bridge.ts | 17 + utils/capturer.js => src/preload/capturer.ts | 14 +- src/preload/preload.ts | 5 + src/preload/titlebar.ts | 46 + src/utils.ts | 24 + tsconfig.json | 35 + utils/ArmCord.js | 24 - utils/bridge.js | 19 - utils/mod.js | 22 - utils/plugin.js | 24 - utils/theme.js | 53 - utils/titlebar.js | 138 - utils/updater.js | 22 - 41 files changed, 1117 insertions(+), 6272 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitmodules delete mode 100644 LICENSE delete mode 100644 ac_icon_transparent.png delete mode 100644 ac_plug.ico delete mode 100644 ac_plug.png delete mode 100755 build.sh delete mode 100644 build/icon.ico delete mode 100644 build/icon.png delete mode 100644 index.html delete mode 100644 main.js delete mode 100644 manager.css delete mode 100644 manager.html delete mode 100644 mods/cumcord/background.js delete mode 100644 mods/cumcord/content.js delete mode 100644 mods/cumcord/manifest.json delete mode 100644 preload.js create mode 100644 src/content/css/setup.css create mode 100644 src/content/css/splash.css create mode 100644 src/content/css/titlebar.css create mode 100644 src/content/index.html create mode 100644 src/content/setup.html create mode 100644 src/extensions/plugin.ts create mode 100644 src/extensions/themes.ts create mode 100644 src/main.ts create mode 100644 src/preload/bridge.ts rename utils/capturer.js => src/preload/capturer.ts (93%) create mode 100644 src/preload/preload.ts create mode 100644 src/preload/titlebar.ts create mode 100644 src/utils.ts create mode 100644 tsconfig.json delete mode 100644 utils/ArmCord.js delete mode 100644 utils/bridge.js delete mode 100644 utils/mod.js delete mode 100644 utils/plugin.js delete mode 100644 utils/theme.js delete mode 100644 utils/titlebar.js delete mode 100644 utils/updater.js diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 3036e5a..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "mods/goosemod"] - path = mods/goosemod - url = https://github.com/GooseMod/Extension diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 95230e3..0000000 --- a/LICENSE +++ /dev/null @@ -1,172 +0,0 @@ -Open Software License ("OSL") v. 3.0 - -This Open Software License (the "License") applies to any original work of -authorship (the "Original Work") whose owner (the "Licensor") has placed the -following licensing notice adjacent to the copyright notice for the Original -Work: - -Licensed under the Open Software License version 3.0 - -1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, -non-exclusive, sublicensable license, for the duration of the copyright, to do -the following: - - a) to reproduce the Original Work in copies, either alone or as part of a - collective work; - - b) to translate, adapt, alter, transform, modify, or arrange the Original - Work, thereby creating derivative works ("Derivative Works") based upon the - Original Work; - - c) to distribute or communicate copies of the Original Work and Derivative - Works to the public, with the proviso that copies of Original Work or - Derivative Works that You distribute or communicate shall be licensed under - this Open Software License; - - d) to perform the Original Work publicly; and - - e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, -non-exclusive, sublicensable license, under patent claims owned or controlled -by the Licensor that are embodied in the Original Work as furnished by the -Licensor, for the duration of the patents, to make, use, sell, offer for sale, -have made, and import the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred -form of the Original Work for making modifications to it and all available -documentation describing how to modify the Original Work. Licensor agrees to -provide a machine-readable copy of the Source Code of the Original Work along -with each copy of the Original Work that Licensor distributes. Licensor -reserves the right to satisfy this obligation by placing a machine-readable -copy of the Source Code in an information repository reasonably calculated to -permit inexpensive and convenient access by You for as long as Licensor -continues to distribute the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names -of any contributors to the Original Work, nor any of their trademarks or -service marks, may be used to endorse or promote products derived from this -Original Work without express prior permission of the Licensor. Except as -expressly stated herein, nothing in this License grants any license to -Licensor's trademarks, copyrights, patents, trade secrets or any other -intellectual property. No patent license is granted to make, use, sell, offer -for sale, have made, or import embodiments of any patent claims other than the -licensed claims defined in Section 2. No license is granted to the trademarks -of Licensor even if such marks are included in the Original Work. Nothing in -this License shall be interpreted to prohibit Licensor from licensing under -terms different from this License any Original Work that Licensor otherwise -would have a right to license. - -5) External Deployment. The term "External Deployment" means the use, -distribution, or communication of the Original Work or Derivative Works in any -way such that the Original Work or Derivative Works may be used by anyone -other than You, whether those works are distributed or communicated to those -persons or made available as an application intended for use over a network. -As an express condition for the grants of license hereunder, You must treat -any External Deployment by You of the Original Work or a Derivative Work as a -distribution under section 1(c). - -6) Attribution Rights. You must retain, in the Source Code of any Derivative -Works that You create, all copyright, patent, or trademark notices from the -Source Code of the Original Work, as well as any notices of licensing and any -descriptive text identified therein as an "Attribution Notice." You must cause -the Source Code for any Derivative Works that You create to carry a prominent -Attribution Notice reasonably calculated to inform recipients that You have -modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that -the copyright in and to the Original Work and the patent rights granted herein -by Licensor are owned by the Licensor or are sublicensed to You under the -terms of this License with the permission of the contributor(s) of those -copyrights and patent rights. Except as expressly stated in the immediately -preceding sentence, the Original Work is provided under this License on an "AS -IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without -limitation, the warranties of non-infringement, merchantability or fitness for -a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK -IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this -License. No license to the Original Work is granted by this License except -under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, -whether in tort (including negligence), contract, or otherwise, shall the -Licensor be liable to anyone for any indirect, special, incidental, or -consequential damages of any character arising as a result of this License or -the use of the Original Work including, without limitation, damages for loss -of goodwill, work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses. This limitation of liability shall not -apply to the extent applicable law prohibits such limitation. - -9) Acceptance and Termination. If, at any time, You expressly assented to this -License, that assent indicates your clear and irrevocable acceptance of this -License and all of its terms and conditions. If You distribute or communicate -copies of the Original Work or a Derivative Work, You must make a reasonable -effort under the circumstances to obtain the express assent of recipients to -the terms of this License. This License conditions your rights to undertake -the activities listed in Section 1, including your right to create Derivative -Works based upon the Original Work, and doing so without honoring these terms -and conditions is prohibited by copyright law and international treaty. -Nothing in this License is intended to affect copyright exceptions and -limitations (including "fair use" or "fair dealing"). This License shall -terminate immediately and You may no longer exercise any of the rights granted -to You by this License upon your failure to honor the conditions in Section -1(c). - -10) Termination for Patent Action. This License shall terminate automatically -and You may no longer exercise any of the rights granted to You by this -License as of the date You commence an action, including a cross-claim or -counterclaim, against Licensor or any licensee alleging that the Original Work -infringes a patent. This termination provision shall not apply for an action -alleging patent infringement by combinations of the Original Work with other -software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this -License may be brought only in the courts of a jurisdiction wherein the -Licensor resides or in which Licensor conducts its primary business, and under -the laws of that jurisdiction excluding its conflict-of-law provisions. The -application of the United Nations Convention on Contracts for the -International Sale of Goods is expressly excluded. Any use of the Original -Work outside the scope of this License or after its termination shall be -subject to the requirements and penalties of copyright or patent law in the -appropriate jurisdiction. This section shall survive the termination of this -License. - -12) Attorneys' Fees. In any action to enforce the terms of this License or -seeking damages relating thereto, the prevailing party shall be entitled to -recover its costs and expenses, including, without limitation, reasonable -attorneys' fees and costs incurred in connection with such action, including -any appeal of such action. This section shall survive the termination of this -License. - -13) Miscellaneous. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent necessary -to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, -whether in upper or lower case, means an individual or a legal entity -exercising rights under, and complying with all of the terms of, this License. -For legal entities, "You" includes any entity that controls, is controlled by, -or is under common control with you. For purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the direction or -management of such entity, whether by contract or otherwise, or (ii) ownership -of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial -ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise -restricted or conditioned by this License or by law, and Licensor promises not -to interfere with or be responsible for such uses by You. - -16) Modification of This License. This License is Copyright © 2005 Lawrence -Rosen. Permission is granted to copy, distribute, or communicate this License -without modification. Nothing in this License permits You to modify this -License as applied to the Original Work or to Derivative Works. However, You -may modify the text of this License and copy, distribute or communicate your -modified version (the "Modified License") and apply it to other original works -of authorship subject to the following conditions: (i) You may not indicate in -any way that your Modified License is the "Open Software License" or "OSL" and -you may not use those names in the name of your Modified License; (ii) You -must replace the notice specified in the first paragraph above with the notice -"Licensed under " or with a notice of your own -that is not confusingly similar to the notice in this License; and (iii) You -may not claim that your original works are open source software unless your -Modified License has been approved by Open Source Initiative (OSI) and You -comply with its license review and certification process. diff --git a/README.md b/README.md index 95c059c..44752fb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ +### THIS IS EXPERIMENTAL REWRITE CODE +

+ +

-# ![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? diff --git a/ac_icon_transparent.png b/ac_icon_transparent.png deleted file mode 100644 index bb87d3bafe44c8dcba387113f79018fd2415b88f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83375 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�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ℑ!wp6hoknS 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 diff --git a/build.sh b/build.sh deleted file mode 100755 index ec70316..0000000 --- a/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -npm run package -./dist/linux-unpacked/armcord diff --git a/build/icon.ico b/build/icon.ico deleted file mode 100644 index d4831e6552add68ef2a4ca64e998f5a20278b9db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109693 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ℑ!wp6hoknS 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 diff --git a/index.html b/index.html deleted file mode 100644 index 20af840..0000000 --- a/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - ArmCord - - - - - - -

- -

Loading...

-

-

-
- - - - \ No newline at end of file diff --git a/main.js b/main.js deleted file mode 100644 index 45b25d1..0000000 --- a/main.js +++ /dev/null @@ -1,141 +0,0 @@ -// Modules to control application life and create native browser window -const { app, BrowserWindow, session, Tray, Menu } = require("electron"); -const path = require("path"); -const contextMenu = require("electron-context-menu"); -const os = require("os"); -require("v8-compile-cache"); -require("./utils/updater.js") -if (require("./utils/ArmCord.js").Titlebar === "native") { - var frame = true -} else { - var frame = false -} - -if (os.type() == 'Linux'){ - var iconformat = __dirname + "/ac_icon_transparent.png" -} else { - console.log("Running Non-Linux") - var iconformat = __dirname + "/ac_plug.ico"; -} - -contextMenu({ - prepend: (defaultActions, parameters, browserWindow) => [ - { - label: "Image", - // Only show it when right-clicking images - visible: parameters.mediaType === "image", - }, - ], -}); -contextMenu.showSearchWithGoogle = false; - -let mainWindow; -function createWindow() { - mainWindow = new BrowserWindow({ - width: 800, - height: 600, - icon: iconformat, - title: "ArmCord", - frame: frame, - webPreferences: { - preload: path.join(__dirname, "preload.js"), - enableRemoteModule: true, - nodeIntegration: false, - }, - }); - var appIcon = new Tray(iconformat); - mainWindow.webContents.userAgent = - "Mozilla/5.0 (X12; Linux x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; //fake useragent - mainWindow.loadFile("index.html"); - mainWindow.focus(); - mainWindow.webContents.on("new-window", function (e, url) { - e.preventDefault(); - require("electron").shell.openExternal(url); - }); - // Open the DevTools. - // mainWindow.webContents.openDevTools() - var contextMenu = Menu.buildFromTemplate([ - { - label: "Show App", - click: function () { - mainWindow.show(); - }, - }, - { - label: "Support Discord Server", - click: function () { - mainWindow.show(); - mainWindow.loadURL("https://discord.gg/F25bc4RYDt"); - }, - }, - { - label: "Quit", - click: function () { - mainWindow.destroy(); - app.isQuiting = true; - app.quit(); - }, - }, - ]); - appIcon.on("click", () => { - mainWindow.show() - }); - - - appIcon.setContextMenu(contextMenu); - - // Emitted when the window is closed. - mainWindow.on("close", function (event) { - event.preventDefault(); - mainWindow.hide(); - }); - - mainWindow.on("show", function () { - //temporary fix - try { - appIcon(); - } catch (error) { - //console.error(error); - // expected output: TypeError: appIcon is not a function - } - }); -} - -// This method will be called when Electron has finished -// initialization and is ready to create browser windows. -// Some APIs can only be used after this event occurs. -app.whenReady().then(() => { - createWindow(); - require("./utils/mod.js"); - require("./utils/plugin.js"); - session - .fromPartition("some-partition") - .setPermissionRequestHandler((webContents, permission, callback) => { - const url = webContents.getURL(); //unused? - - if (permission === "notifications") { - // Approves the permissions request - callback(true); - } - if (permission === "microphone") { - // Approves the permissions request - callback(true); - } - if (!url.startsWith("discord://")) { - // Denies the permissions request - return callback(false); - } - }); - app.on("activate", function () { - // On macOS it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (BrowserWindow.getAllWindows().length === 0) createWindow(); - }); -}); - -// Quit when all windows are closed, except on macOS. There, it's common -// for applications and their menu bar to stay active until the user quits -// explicitly with Cmd + Q. -app.on("window-all-closed", function () { - if (process.platform !== "darwin") app.quit(); -}); diff --git a/manager.css b/manager.css deleted file mode 100644 index abfab7a..0000000 --- a/manager.css +++ /dev/null @@ -1,161 +0,0 @@ -@import url("https://kckarnige.github.io/femboi_owo/discord-font.css"); - -:root { - background-color: #2f3136; - user-select: none; - --header-secondary: #b9bbbe; - --header-primary: #fff; - --background-tertiary: #202225; -} - -body { - color: white; -} - -h1 { - font-size: 0; - text-align: center; - transform: translateY(-105%); -} - -.logo:before { - content: "ARM"; - color: #7289da; - font-weight: normal; - font-family: Helvetica, sans-serif; -} - -span { - text-align: center; -} - -.logo { - color: #ffffff; - font-weight: normal; - font-family: Discordinated; - font-size: 32px; - text-align: center; -} -.disabled { - text-align: center; - font-weight: normal; - font-family: Helvetica, sans-serif; -} -.container { - position: fixed; - top: 50%; - left: 50%; - color: #fff; - transform: translate(-50%, -50%); -} - -button.back-btn { - position: absolute; - background-color: #7289da; - font-family: Whitney, "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #ffffff; - padding: 4px; - border-radius: 5px; - width: 105px; - height: 25px; - margin-top: 5px; - margin-left: 5px; - left: 0; - text-align: center; - border-style: none; - outline: none; -} - -button.back-btn:hover { - background-color: #687dc6; - border-style: none; - outline: none; - cursor: pointer; -} - -button.back-btn:active { - background-color: #5c6fb1; -} - -button#open-themes-btn { - position: absolute; - background-color: #7289da; - font-family: Whitney, "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #ffffff; - padding: 4px; - border-radius: 5px; - width: 105px; - height: 25px; - margin-top: 5px; - margin-right: 5px; - right: 0; - text-align: center; - border-style: none; - outline: none; -} - -button#open-themes-btn:hover { - background-color: #687dc6; - border-style: none; - outline: none; - cursor: pointer; -} - -button#open-themes-btn:active { - background-color: #5c6fb1; -} - -#tm-list { - position: absolute; - top: 100px; - left: 50%; - transform: translateX(-50%); -} -#tm-disabled { - position: absolute; - top: 100px; - left: 50%; - transform: translateX(-50%); -} -#tm-list-item { - background: #23272a; - font-family: Whitney, Helvetica Neue, Helvetica, Arial, sans-serif; - width: 100%; - border-radius: 5px; - padding: 10px 10px 18px; - width: 420px; - max-width: 820px; -} - -#theme-name { - color: #7289da; - font-weight: 400; - font-size: 20px; -} - -#theme-author { - color: #99aab5; - font-size: 12px; -} - -#theme-description { - color: #b9bbbe; - font-size: 15px; - position: relative; - top: 8px; - width: 75%; -} - -#ac-channel { - display: none; - } - -::-webkit-scrollbar { - width: 0.4em; - background: transparent; -} - -::-webkit-scrollbar-thumb { - background: #202225; - border-radius: 25px; -} diff --git a/manager.html b/manager.html deleted file mode 100644 index 09aac68..0000000 --- a/manager.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ArmCord Manager - - - - - - - -
-

Disabled Themes:

-
-

- - \ No newline at end of file diff --git a/mods/cumcord/background.js b/mods/cumcord/background.js deleted file mode 100644 index a595011..0000000 --- a/mods/cumcord/background.js +++ /dev/null @@ -1,42 +0,0 @@ -const cspAllowAll = [ - 'connect-src', - 'style-src', - 'img-src', - 'font-src' - ]; - const corsAllowUrls = [ - 'https://github.com/GooseMod/GooseMod/releases/download/dev/index.js', - 'https://github-releases.githubusercontent.com/', - 'https://api.goosemod.com/inject.js', - 'https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js' - ]; - - chrome.webRequest.onHeadersReceived.addListener(({ responseHeaders, url }) => { - let csp = responseHeaders.find((x) => x.name === 'content-security-policy'); - - if (csp) { - for (let p of cspAllowAll) { - csp.value = csp.value.replace(`${p}`, `${p} * blob: data:`); // * does not include data: URIs - } - - // Fix Discord's broken CSP which disallows unsafe-inline due to having a nonce (which they don't even use?) - csp.value = csp.value.replace(/'nonce-.*?' /, ''); - } - if (corsAllowUrls.some((x) => url.startsWith(x))) { - let cors = responseHeaders.find((x) => x.name === 'access-control-allow-origin'); - cors.value = '*'; - } - return { - responseHeaders - }; - - }, - - { - urls: [ - '*://*.discord.com/*' - ] - }, - - ['blocking', 'responseHeaders'] - ); \ No newline at end of file diff --git a/mods/cumcord/content.js b/mods/cumcord/content.js deleted file mode 100644 index 67986bf..0000000 --- a/mods/cumcord/content.js +++ /dev/null @@ -1,9 +0,0 @@ -const load = async () => { - console.log("[CCExt] Loading Cumcord..."); - const response = await fetch("https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js"); - const text = await response.text() - eval(text); -} -const el = document.createElement('script'); -el.appendChild(document.createTextNode(`(${load.toString()})();`)); -document.body.appendChild(el); diff --git a/mods/cumcord/manifest.json b/mods/cumcord/manifest.json deleted file mode 100644 index 1b1293c..0000000 --- a/mods/cumcord/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "Cumcord for Web", - "description": "A heavy, throbbing, and easy to use cum expeller; now in your browser.", - "version": "0.0.1", - "author": "Drake", - "background": { - "scripts": [ - "background.js" - ] - }, - - "content_scripts": [ - { - "matches": ["*://*.discord.com/*"], - "js": ["content.js"] - } - ], - "permissions": [ - "storage", - "webRequest", - "webRequestBlocking", - "*://*.discord.com/*" - ], - "manifest_version": 2 -} diff --git a/package-lock.json b/package-lock.json index 470b69e..55898af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,53 +1,31 @@ { - "name": "ArmCord", - "version": "2.7.0", + "name": "armcord", + "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "ArmCord", - "version": "2.7.0", + "version": "3.0.0", "license": "OSL-3.0", "dependencies": { - "electron-context-menu": "^3.0.0", - "electron-dl": "^3.2.1", - "electron-localshortcut": "^3.2.1", - "electron-store": "^8.0.0", - "electron-updater": "^4.3.9", - "unzipper": "^0.10.1", - "v8-compile-cache": "^2.3.0" + "@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" }, "devDependencies": { - "electron": "^13.3.0", - "electron-builder": "^22.11.7" - } - }, - "node_modules/@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, - "dependencies": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "electron": "^16.0.5" } }, "node_modules/@electron/get": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.3.tgz", - "integrity": "sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz", + "integrity": "sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==", "dev": true, "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", - "filenamify": "^4.1.0", "fs-extra": "^8.1.0", "got": "^9.6.0", "progress": "^2.0.3", @@ -58,135 +36,10 @@ "node": ">=8.6" }, "optionalDependencies": { - "global-agent": "^2.0.2", + "global-agent": "^3.0.0", "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", @@ -208,155 +61,15 @@ "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/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", - "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "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/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==" }, "node_modules/@types/node": { - "version": "14.14.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.43.tgz", - "integrity": "sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ==", - "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/semver": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", - "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" - }, - "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.2", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.2.tgz", - "integrity": "sha512-JhZ+pNdKMfB0rXauaDlrIvm+U7V4m03PPOSVoPS66z8gf+G4Z/UW8UlrVIj2MRQOBzuoEvYtjS0bqYwnpZaS9Q==", - "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-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", - "dependencies": { - "ajv": "^8.0.0" - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "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" - } + "version": "14.18.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz", + "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==" }, "node_modules/ansi-regex": { "version": "5.0.1", @@ -375,288 +88,31 @@ }, "engines": { "node": ">=8" - } - }, - "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.13.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.13.0.tgz", - "integrity": "sha512-7W0EuvVx8r0ZNJTtBnnYELPFFBElBIp6bRFn43wN/OCZPJ/T/hDbYo7WoMSAX+oAr9AAprU+v5OeuhD+xR6pdA==", - "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.13.0", - "builder-util-runtime": "8.8.0", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", - "electron-osx-sign": "^0.5.0", - "electron-publish": "22.13.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==" - }, - "node_modules/asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", - "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==", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "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/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/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/atomically": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", - "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==", - "engines": { - "node": ">=10.12.0" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "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/big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, - "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" - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/boolean": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz", - "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", + "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==", "dev": true, "optional": true }, - "node_modules/boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "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.0", - "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/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "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", @@ -666,47 +122,6 @@ "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", @@ -716,114 +131,12 @@ "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.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "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/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "engines": { - "node": ">=0.2.0" - } - }, - "node_modules/builder-util": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.13.0.tgz", - "integrity": "sha512-yT2seIwK+pgKslgsMcZWLYuV6I1FAdMiSR4KPvaBPX+ZqkWEMIeHHjVx8TYwNCvTGhZQ59XIwTneuZyJA0PFow==", - "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.8.0", - "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.8.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.8.0.tgz", - "integrity": "sha512-XMxCbIOuqZTalJ8Og0HzD6FpQ+MzmDnjM4yS5pVBGXCan0lMHdN84NThMErf4YBh1UknIVf7IYW2mZJVQfxYOQ==", - "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", @@ -852,6 +165,9 @@ }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cacheable-request/node_modules/lowercase-keys": { @@ -863,71 +179,10 @@ "node": ">=8" } }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "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.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "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==", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - } - }, "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", @@ -959,33 +214,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "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/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", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1006,68 +234,10 @@ "typedarray": "^0.0.6" } }, - "node_modules/conf": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.1.tgz", - "integrity": "sha512-QClEoNcruwBL84QgMEPHibL3ERxWIrRKhbjJKG1VsFBadm5QpS0jsu4QjY/maxUvhyAKXeyrs+ws+lC6PajnEg==", - "dependencies": { - "ajv": "^8.1.0", - "ajv-formats": "^2.0.2", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/conf/node_modules/ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/conf/node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/conf/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/conf/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "optional": true, "dependencies": { @@ -1075,108 +245,55 @@ "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, + "node_modules/copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", "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" + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" }, - "engines": { - "node": ">=8" + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" } }, - "node_modules/configstore/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/core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", - "dev": true, - "optional": true - }, - "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=" - }, - "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/debounce-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", - "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", - "dependencies": { - "mimic-fn": "^3.0.0" + "node_modules/copyfiles/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" } }, - "node_modules/debounce-fn/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "engines": { - "node": ">=8" - } + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, "dependencies": { "ms": "2.1.2" }, "engines": { "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/decompress-response": { @@ -1191,15 +308,6 @@ "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", @@ -1220,246 +328,26 @@ } }, "node_modules/detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true, "optional": true }, - "node_modules/dir-compare": { - "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.13.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.13.0.tgz", - "integrity": "sha512-SqvXs10EsthwoqQEr0ae8fbvTywc0GNScY5XL2Nw1eHLLvjy8qaM4aC5ekOj422rqiBBGSrg1YgyUEmHzX6xqg==", - "dev": true, - "dependencies": { - "app-builder-lib": "22.13.0", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "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.9", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.9.tgz", - "integrity": "sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "cli-truncate": "^1.1.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.6", - "plist": "^3.0.1", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - }, - "bin": { - "dmg-license": "bin/dmg-license.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dmg-license/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/dmg-license/node_modules/cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "optional": true, - "dependencies": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dmg-license/node_modules/slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "optional": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dmg-license/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "optional": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dmg-license/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, "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": "13.5.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.5.2.tgz", - "integrity": "sha512-CPakwDpy5m8dL0383F5uJboQcVtn9bT/+6/wdDKo8LuTUO9aER1TF41v7feZgZW2c+UwoGPWa814ElSQ3qta2A==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz", + "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { - "@electron/get": "^1.0.1", + "@electron/get": "^1.13.0", "@types/node": "^14.6.2", "extract-zip": "^1.0.3" }, @@ -1470,314 +358,23 @@ "node": ">= 8.6" } }, - "node_modules/electron-builder": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.13.0.tgz", - "integrity": "sha512-OCk7ZIk/nmxWe58F3hD49BW7V4T3l98IvDsLIWBYEmlT/HYAoxI69rv0M+7EXIKwe064ZAN5Z96e7wqMJECwmg==", - "dev": true, + "node_modules/electron-json-storage": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", + "integrity": "sha512-ML6Um4tZbJv938EbxvMJwzLA+v/wfWwEP+AXNum1zQF9RUFJ/SrRtIjGm9eFTFxURxn81r3ggdovuQikyF/m0Q==", "dependencies": { - "@types/yargs": "^17.0.1", - "app-builder-lib": "22.13.0", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "chalk": "^4.1.1", - "dmg-builder": "22.13.0", - "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" + "async": "^2.0.0", + "lockfile": "^1.0.4", + "lodash": "^4.0.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.1", + "write-file-atomic": "^2.4.2" } }, - "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.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", - "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", - "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.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-context-menu": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-3.0.0.tgz", - "integrity": "sha512-dF0INSIIpcwofaKAXtdSKkQl08s9j0SMF+Nsi6jGBam6kfx97cIOmJLUHYlBW56DQo05umts2pRIfbcDPHNh9g==", - "dependencies": { - "cli-truncate": "^2.1.0", - "electron-dl": "^3.2.1", - "electron-is-dev": "^2.0.0" - } - }, - "node_modules/electron-dl": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.2.1.tgz", - "integrity": "sha512-k5DFjocJlXbrjshO1zeWe/Gz7HkGwCgnehHPemiyzN2B/LfLlnbIX7sCj5F+huTwZ2l+nQehTI4IR37xvCn6FQ==", - "dependencies": { - "ext-name": "^5.0.0", - "pupa": "^2.0.1", - "unused-filename": "^2.1.0" - } - }, - "node_modules/electron-is-accelerator": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", - "integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns=" - }, - "node_modules/electron-is-dev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz", - "integrity": "sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==" - }, - "node_modules/electron-localshortcut": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz", - "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==", - "dependencies": { - "debug": "^4.0.1", - "electron-is-accelerator": "^0.1.0", - "keyboardevent-from-electron-accelerator": "^2.0.0", - "keyboardevents-areequal": "^0.2.1" - } - }, - "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.13.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.13.0.tgz", - "integrity": "sha512-ekBCgbzwKweQxFyvQqxNGZH2va1ZPNeCJRQowt7KV0McR161C+8XRa654DARIpjJ9jE+v+Ne1ImKzND1XCZ2PA==", - "dev": true, - "dependencies": { - "@types/fs-extra": "^9.0.11", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "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/electron-store": { + "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.0.0.tgz", - "integrity": "sha512-ZgRPUZkfrrjWSqxZeaxu7lEvmYf6tgl49dLMqxXGnEmliSiwv3u4rJPG+mH3fBQP9PBqgSh4TCuxHZImMMUgWg==", - "dependencies": { - "conf": "^10.0.0", - "type-fest": "^1.0.2" - } - }, - "node_modules/electron-store/node_modules/type-fest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.2.1.tgz", - "integrity": "sha512-SbmIRuXhJs8KTneu77Ecylt9zuqL683tuiLYpTRil4H++eIhqCmx6ko6KAFem9dty8sOdnEiX7j4K1nRE628fQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-updater": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.9.tgz", - "integrity": "sha512-LCNfedSwZfS4Hza+pDyPR05LqHtGorCStaBgVpRnfKxOlZcvpYEX0AbMeH5XUtbtGRoH2V8osbbf2qKPNb7AsA==", - "dependencies": { - "@types/semver": "^7.3.5", - "builder-util-runtime": "8.7.5", - "fs-extra": "^10.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.4", - "lodash.escaperegexp": "^4.1.2", - "lodash.isequal": "^4.5.0", - "semver": "^7.3.5" - } - }, - "node_modules/electron-updater/node_modules/builder-util-runtime": { - "version": "8.7.5", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.5.tgz", - "integrity": "sha512-fgUFHKtMNjdvH6PDRFntdIGUPgwZ69sXsAqEulCtoiqgWes5agrMq/Ud274zjJRTbckYh2PHh8/1CpFc6dpsbQ==", - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/electron-updater/node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-updater/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-updater/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-updater/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -1799,9 +396,9 @@ } }, "node_modules/env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "engines": { "node": ">=6" @@ -1818,49 +415,21 @@ "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==", - "engines": { - "node": ">=8" - } - }, "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=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "optional": true, "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dependencies": { - "mime-db": "^1.28.0" + "node": ">=10" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/extract-zip": { @@ -1893,27 +462,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/extsprintf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", - "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", - "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==" - }, - "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", @@ -1923,38 +471,6 @@ "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/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz", - "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -1974,25 +490,10 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, "node_modules/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==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2010,9 +511,9 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2023,17 +524,19 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/global-agent": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", - "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", "dev": true, "optional": true, "dependencies": { "boolean": "^3.0.1", - "core-js": "^3.6.5", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", @@ -2045,9 +548,9 @@ } }, "node_modules/global-agent/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "optional": true, "dependencies": { @@ -2060,30 +563,6 @@ "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", @@ -2101,9 +580,9 @@ } }, "node_modules/globalthis": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", - "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", + "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", "dev": true, "optional": true, "dependencies": { @@ -2111,6 +590,9 @@ }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/got": { @@ -2136,45 +618,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "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.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "node_modules/http-cache-semantics": { "version": "4.1.0", @@ -2182,134 +628,10 @@ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, - "node_modules/iconv-corefoundation": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz", - "integrity": "sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "cli-truncate": "^1.1.0", - "node-addon-api": "^1.6.3" - }, - "engines": { - "node": "^8.11.2 || >=10" - } - }, - "node_modules/iconv-corefoundation/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-corefoundation/node_modules/cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "optional": true, - "dependencies": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-corefoundation/node_modules/slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "optional": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-corefoundation/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "optional": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-corefoundation/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, "engines": { "node": ">=0.8.19" } @@ -2332,226 +654,28 @@ "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.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", "dev": true, - "dependencies": { - "ci-info": "^3.1.1" - }, - "bin": { - "is-ci": "bin.js" - } + "optional": true }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "optional": true, - "engines": { - "node": ">=4" - } - }, - "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==", + "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==", "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-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } - }, - "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=" }, - "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/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/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==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", "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-schema-typed": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", - "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" - }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -2559,40 +683,15 @@ "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", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "dependencies": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/keyboardevent-from-electron-accelerator": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz", - "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==" - }, - "node_modules/keyboardevents-areequal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz", - "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==" - }, "node_modules/keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -2602,43 +701,18 @@ "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, + "node_modules/lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" + "signal-exit": "^3.0.2" } }, - "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==" - }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lowercase-keys": { "version": "1.0.1", @@ -2653,6 +727,8 @@ "version": "6.0.0", "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" }, @@ -2660,21 +736,6 @@ "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", @@ -2688,44 +749,6 @@ "node": ">=10" } }, - "node_modules/matcher/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, "node_modules/mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -2762,25 +785,41 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/modify-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz", - "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "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=", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } + }, + "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=" + }, + "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=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "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=" }, "node_modules/normalize-url": { "version": "4.5.1", @@ -2823,17 +862,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", @@ -2843,29 +871,6 @@ "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-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -2874,15 +879,6 @@ "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", @@ -2899,92 +895,6 @@ "node": ">=4" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "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", @@ -3025,56 +935,6 @@ "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==", - "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==", - "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", @@ -3089,43 +949,10 @@ "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" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } @@ -3173,26 +1000,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "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==" - }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -3209,18 +1016,6 @@ "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", @@ -3232,112 +1027,15 @@ }, "engines": { "node": ">=10" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "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" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi/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==", - "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/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.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.20", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, "node_modules/sprintf-js": { "version": "1.1.2", @@ -3346,15 +1044,6 @@ "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", @@ -3364,63 +1053,29 @@ } }, "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/string-width/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==" - }, - "node_modules/string-width/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==", - "engines": { - "node": ">=8" - } - }, "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "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/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -3433,97 +1088,13 @@ "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, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "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/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.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "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" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "node_modules/to-readable-stream": { @@ -3535,35 +1106,6 @@ "node": ">=6" } }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "engines": { - "node": "*" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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", @@ -3582,6 +1124,9 @@ "optional": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/typedarray": { @@ -3590,25 +1135,16 @@ "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/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" + "node_modules/typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=8" + "node": ">=4.2.0" } }, "node_modules/universalify": { @@ -3620,116 +1156,14 @@ "node": ">= 4.0.0" } }, - "node_modules/unused-filename": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-2.1.0.tgz", - "integrity": "sha512-BMiNwJbuWmqCpAM1FqxCTD7lXF97AvfQC8Kr/DIeA6VtvhJaMDupZ82+inbjl5yVP44PcxOuCSxye1QMS0wZyg==", - "dependencies": { - "modify-filename": "^1.1.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unused-filename/node_modules/path-exists": { + "node_modules/untildify": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "engines": { "node": ">=8" } }, - "node_modules/unzipper": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.1.tgz", - "integrity": "sha512-ft0sDT8S/LVNKSOP2dYS3zl4aSw9lAtLY9w9XdNy3Cnt//+SvmTYo+OT7dT9b0C/eg/Ky+BARgWgaibq19ewcA==", - "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - } - }, - "node_modules/unzipper/node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" - }, - "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==", - "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", @@ -3742,69 +1176,15 @@ "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=" }, - "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.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "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", @@ -3812,6 +1192,9 @@ }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -3820,41 +1203,27 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "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, + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dependencies": { + "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.2" } }, - "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, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "engines": { - "node": ">=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": ">=0.4" } }, "node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true, + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { "node": ">=10" } @@ -3862,13 +1231,31 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { "node": ">=10" } @@ -3885,27 +1272,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.12.3", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.3.tgz", - "integrity": "sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.1.tgz", + "integrity": "sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==", "dev": true, "requires": { "debug": "^4.1.1", "env-paths": "^2.2.0", - "filenamify": "^4.1.0", "fs-extra": "^8.1.0", - "global-agent": "^2.0.2", + "global-agent": "^3.0.0", "global-tunnel-ng": "^2.7.1", "got": "^9.6.0", "progress": "^2.0.3", @@ -3913,100 +1289,6 @@ "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", @@ -4022,151 +1304,15 @@ "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/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", - "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "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/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==" }, "@types/node": { - "version": "14.14.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.43.tgz", - "integrity": "sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ==", - "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/semver": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", - "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" - }, - "@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.2", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.2.tgz", - "integrity": "sha512-JhZ+pNdKMfB0rXauaDlrIvm+U7V4m03PPOSVoPS66z8gf+G4Z/UW8UlrVIj2MRQOBzuoEvYtjS0bqYwnpZaS9Q==", - "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-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "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" - } + "version": "14.18.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.2.tgz", + "integrity": "sha512-fqtSN5xn/bBzDxMT77C1rJg6CsH/R49E7qsGuvdPJa20HtV5zSTuLJPNfnlyVH3wauKnkHdLggTVkOW/xP9oQg==" }, "ansi-regex": { "version": "5.0.1", @@ -4181,212 +1327,26 @@ "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.13.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.13.0.tgz", - "integrity": "sha512-7W0EuvVx8r0ZNJTtBnnYELPFFBElBIp6bRFn43wN/OCZPJ/T/hDbYo7WoMSAX+oAr9AAprU+v5OeuhD+xR6pdA==", - "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.13.0", - "builder-util-runtime": "8.8.0", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", - "electron-osx-sign": "^0.5.0", - "electron-publish": "22.13.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==" - }, - "asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", - "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==" - }, "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "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 - }, - "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 - }, - "atomically": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", - "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "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 - }, - "big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" - }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, - "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" - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "boolean": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz", - "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", + "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==", "dev": true, "optional": true }, - "boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "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.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "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", @@ -4396,129 +1356,18 @@ "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.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "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 }, - "buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" - }, - "builder-util": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.13.0.tgz", - "integrity": "sha512-yT2seIwK+pgKslgsMcZWLYuV6I1FAdMiSR4KPvaBPX+ZqkWEMIeHHjVx8TYwNCvTGhZQ59XIwTneuZyJA0PFow==", - "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.8.0", - "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.8.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.8.0.tgz", - "integrity": "sha512-XMxCbIOuqZTalJ8Og0HzD6FpQ+MzmDnjM4yS5pVBGXCan0lMHdN84NThMErf4YBh1UknIVf7IYW2mZJVQfxYOQ==", - "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", @@ -4551,56 +1400,10 @@ } } }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "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.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", - "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==", - "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", @@ -4629,24 +1432,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "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", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -4664,58 +1449,10 @@ "typedarray": "^0.0.6" } }, - "conf": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.0.1.tgz", - "integrity": "sha512-QClEoNcruwBL84QgMEPHibL3ERxWIrRKhbjJKG1VsFBadm5QpS0jsu4QjY/maxUvhyAKXeyrs+ws+lC6PajnEg==", - "requires": { - "ajv": "^8.1.0", - "ajv-formats": "^2.0.2", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" - }, - "dependencies": { - "ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "optional": true, "requires": { @@ -4723,89 +1460,37 @@ "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, + "copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", "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" + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" }, "dependencies": { - "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" - } + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" } } }, - "core-js": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", - "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", - "dev": true, - "optional": true - }, "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=" - }, - "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 - }, - "debounce-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", - "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", - "requires": { - "mimic-fn": "^3.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==" - } - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -4819,12 +1504,6 @@ "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", @@ -4842,464 +1521,46 @@ } }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true, "optional": true }, - "dir-compare": { - "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.13.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.13.0.tgz", - "integrity": "sha512-SqvXs10EsthwoqQEr0ae8fbvTywc0GNScY5XL2Nw1eHLLvjy8qaM4aC5ekOj422rqiBBGSrg1YgyUEmHzX6xqg==", - "dev": true, - "requires": { - "app-builder-lib": "22.13.0", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "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.9", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.9.tgz", - "integrity": "sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==", - "dev": true, - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "cli-truncate": "^1.1.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.6", - "plist": "^3.0.1", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "optional": true, - "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" - } - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "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 - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, "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": "13.5.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-13.5.2.tgz", - "integrity": "sha512-CPakwDpy5m8dL0383F5uJboQcVtn9bT/+6/wdDKo8LuTUO9aER1TF41v7feZgZW2c+UwoGPWa814ElSQ3qta2A==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-16.0.5.tgz", + "integrity": "sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg==", "dev": true, "requires": { - "@electron/get": "^1.0.1", + "@electron/get": "^1.13.0", "@types/node": "^14.6.2", "extract-zip": "^1.0.3" } }, - "electron-builder": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.13.0.tgz", - "integrity": "sha512-OCk7ZIk/nmxWe58F3hD49BW7V4T3l98IvDsLIWBYEmlT/HYAoxI69rv0M+7EXIKwe064ZAN5Z96e7wqMJECwmg==", - "dev": true, + "electron-json-storage": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", + "integrity": "sha512-ML6Um4tZbJv938EbxvMJwzLA+v/wfWwEP+AXNum1zQF9RUFJ/SrRtIjGm9eFTFxURxn81r3ggdovuQikyF/m0Q==", "requires": { - "@types/yargs": "^17.0.1", - "app-builder-lib": "22.13.0", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "chalk": "^4.1.1", - "dmg-builder": "22.13.0", - "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.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", - "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", - "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.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } + "async": "^2.0.0", + "lockfile": "^1.0.4", + "lodash": "^4.0.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.1", + "write-file-atomic": "^2.4.2" } }, - "electron-context-menu": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-3.0.0.tgz", - "integrity": "sha512-dF0INSIIpcwofaKAXtdSKkQl08s9j0SMF+Nsi6jGBam6kfx97cIOmJLUHYlBW56DQo05umts2pRIfbcDPHNh9g==", - "requires": { - "cli-truncate": "^2.1.0", - "electron-dl": "^3.2.1", - "electron-is-dev": "^2.0.0" - } - }, - "electron-dl": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.2.1.tgz", - "integrity": "sha512-k5DFjocJlXbrjshO1zeWe/Gz7HkGwCgnehHPemiyzN2B/LfLlnbIX7sCj5F+huTwZ2l+nQehTI4IR37xvCn6FQ==", - "requires": { - "ext-name": "^5.0.0", - "pupa": "^2.0.1", - "unused-filename": "^2.1.0" - } - }, - "electron-is-accelerator": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", - "integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns=" - }, - "electron-is-dev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz", - "integrity": "sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==" - }, - "electron-localshortcut": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz", - "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==", - "requires": { - "debug": "^4.0.1", - "electron-is-accelerator": "^0.1.0", - "keyboardevent-from-electron-accelerator": "^2.0.0", - "keyboardevents-areequal": "^0.2.1" - } - }, - "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.13.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.13.0.tgz", - "integrity": "sha512-ekBCgbzwKweQxFyvQqxNGZH2va1ZPNeCJRQowt7KV0McR161C+8XRa654DARIpjJ9jE+v+Ne1ImKzND1XCZ2PA==", - "dev": true, - "requires": { - "@types/fs-extra": "^9.0.11", - "builder-util": "22.13.0", - "builder-util-runtime": "8.8.0", - "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 - } - } - }, - "electron-store": { + "emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.0.0.tgz", - "integrity": "sha512-ZgRPUZkfrrjWSqxZeaxu7lEvmYf6tgl49dLMqxXGnEmliSiwv3u4rJPG+mH3fBQP9PBqgSh4TCuxHZImMMUgWg==", - "requires": { - "conf": "^10.0.0", - "type-fest": "^1.0.2" - }, - "dependencies": { - "type-fest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.2.1.tgz", - "integrity": "sha512-SbmIRuXhJs8KTneu77Ecylt9zuqL683tuiLYpTRil4H++eIhqCmx6ko6KAFem9dty8sOdnEiX7j4K1nRE628fQ==" - } - } - }, - "electron-updater": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.9.tgz", - "integrity": "sha512-LCNfedSwZfS4Hza+pDyPR05LqHtGorCStaBgVpRnfKxOlZcvpYEX0AbMeH5XUtbtGRoH2V8osbbf2qKPNb7AsA==", - "requires": { - "@types/semver": "^7.3.5", - "builder-util-runtime": "8.7.5", - "fs-extra": "^10.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.4", - "lodash.escaperegexp": "^4.1.2", - "lodash.isequal": "^4.5.0", - "semver": "^7.3.5" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.5", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.5.tgz", - "integrity": "sha512-fgUFHKtMNjdvH6PDRFntdIGUPgwZ69sXsAqEulCtoiqgWes5agrMq/Ud274zjJRTbckYh2PHh8/1CpFc6dpsbQ==", - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, - "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "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==", - "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==", - "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==" - } - } + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "encodeurl": { "version": "1.0.2", @@ -5318,9 +1579,9 @@ } }, "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true }, "es6-error": { @@ -5333,36 +1594,14 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "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==" + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "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 - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true }, "extract-zip": { "version": "1.7.0", @@ -5393,24 +1632,6 @@ } } }, - "extsprintf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", - "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", - "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==" - }, - "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", @@ -5420,32 +1641,6 @@ "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" - } - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true - }, - "filenamify": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz", - "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - } - }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -5462,22 +1657,10 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, "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==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-stream": { "version": "4.1.0", @@ -5489,9 +1672,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5502,14 +1685,13 @@ } }, "global-agent": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", - "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", "dev": true, "optional": true, "requires": { "boolean": "^3.0.1", - "core-js": "^3.6.5", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", @@ -5518,9 +1700,9 @@ }, "dependencies": { "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "optional": true, "requires": { @@ -5529,23 +1711,6 @@ } } }, - "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", @@ -5560,9 +1725,9 @@ } }, "globalthis": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", - "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", + "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", "dev": true, "optional": true, "requires": { @@ -5589,36 +1754,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "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.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "http-cache-semantics": { "version": "4.1.0", @@ -5626,95 +1764,10 @@ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, - "iconv-corefoundation": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz", - "integrity": "sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==", - "dev": true, - "optional": true, - "requires": { - "cli-truncate": "^1.1.0", - "node-addon-api": "^1.6.3" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "optional": true - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "optional": true, - "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" - } - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "optional": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "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", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "inflight": { "version": "1.0.6", @@ -5734,174 +1787,25 @@ "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.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", - "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", - "dev": true, - "requires": { - "ci-info": "^3.1.1" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, "optional": 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==" - }, - "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-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "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 + "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==" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "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" - } - }, - "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 - }, - "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==", - "requires": { - "argparse": "^2.0.1" - } - }, "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", "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-schema-typed": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", - "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -5909,15 +1813,6 @@ "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", @@ -5927,16 +1822,6 @@ "graceful-fs": "^4.1.6" } }, - "keyboardevent-from-electron-accelerator": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz", - "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==" - }, - "keyboardevents-areequal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz", - "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==" - }, "keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -5946,40 +1831,18 @@ "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, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "requires": { - "package-json": "^6.3.0" + "signal-exit": "^3.0.2" } }, - "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==" - }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" - }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lowercase-keys": { "version": "1.0.1", @@ -5991,19 +1854,12 @@ "version": "6.0.0", "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", @@ -6012,33 +1868,8 @@ "optional": true, "requires": { "escape-string-regexp": "^4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "optional": true - } } }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true - }, - "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -6066,22 +1897,43 @@ "minimist": "^1.2.5" } }, - "modify-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz", - "integrity": "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=" - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "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=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } }, "normalize-url": { "version": "4.5.1", @@ -6115,48 +1967,17 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", "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-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, "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", @@ -6170,72 +1991,6 @@ "dev": true, "optional": true }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - } - } - }, - "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", @@ -6270,44 +2025,6 @@ "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==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "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", @@ -6322,34 +2039,10 @@ "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=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "responselike": { "version": "1.0.2", @@ -6388,26 +2081,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "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==" - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -6421,15 +2094,6 @@ "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", @@ -6440,87 +2104,10 @@ "type-fest": "^0.13.1" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "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.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "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 - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "requires": { - "sort-keys": "^1.0.0" - } - }, - "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.20", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, "sprintf-js": { "version": "1.1.2", @@ -6529,12 +2116,6 @@ "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", @@ -6544,48 +2125,21 @@ } }, "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "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==" - }, - "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==" - } + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^5.0.0" - } - }, - "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 - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" + "ansi-regex": "^5.0.1" } }, "sumchecker": { @@ -6597,81 +2151,13 @@ "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, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "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 - } - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", - "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "dev": true, - "requires": { - "tmp": "^0.2.0" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "to-readable-stream": { @@ -6680,29 +2166,6 @@ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", "dev": true }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "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", @@ -6723,23 +2186,10 @@ "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" - } - }, - "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" - } + "typescript": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==" }, "universalify": { "version": "0.1.2", @@ -6747,100 +2197,10 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, - "unused-filename": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-2.1.0.tgz", - "integrity": "sha512-BMiNwJbuWmqCpAM1FqxCTD7lXF97AvfQC8Kr/DIeA6VtvhJaMDupZ82+inbjl5yVP44PcxOuCSxye1QMS0wZyg==", - "requires": { - "modify-filename": "^1.1.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, - "unzipper": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.1.tgz", - "integrity": "sha512-ft0sDT8S/LVNKSOP2dYS3zl4aSw9lAtLY9w9XdNy3Cnt//+SvmTYo+OT7dT9b0C/eg/Ky+BARgWgaibq19ewcA==", - "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - }, - "dependencies": { - "bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" - } - } - }, - "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==", - "requires": { - "punycode": "^2.1.0" - } + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" }, "url-parse-lax": { "version": "3.0.0", @@ -6851,57 +2211,15 @@ "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=" }, - "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.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "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", @@ -6914,46 +2232,50 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "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, + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "requires": { + "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.2" } }, - "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==" }, "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yauzl": { "version": "2.10.0", diff --git a/package.json b/package.json index 2ba90fb..4f1b11c 100644 --- a/package.json +++ b/package.json @@ -1,71 +1,32 @@ { - "name": "ArmCord", - "version": "2.7.0", - "description": "ArmCord is a Discord client made for ARM Linux that allows you to customize your experience.", - "main": "main.js", + "name": "armcord", + "version": "3.0.0", + "description": "ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight.", + "main": "src/index.ts", "scripts": { - "start": "./build.sh", - "test": "echo \"Error: no test specified\" && exit 1", - "package": "electron-builder --dir", - "make": "electron-builder", - "linux-build": "electron-builder --linux deb tar.gz rpm AppImage", - "windows-build": "electron-builder --windows nsis portable zip" - }, - "author": "smartfrigde ", - "license": "OSL-3.0", - "dependencies": { - "electron-context-menu": "^3.0.0", - "electron-dl": "^3.2.1", - "electron-localshortcut": "^3.2.1", - "electron-store": "^8.0.0", - "electron-updater": "^4.3.9", - "unzipper": "^0.10.1", - "v8-compile-cache": "^2.3.0" - }, - "devDependencies": { - "electron": "^13.3.0", - "electron-builder": "^22.11.7" + "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/" }, "repository": { "type": "git", - "url": "git+https://github.com/smartfrigde/armcord.git" - }, - "keywords": [ - "arm", - "discord", - "electron" - ], - "build": { - "appId": "com.smartfridge.armcord", - "productName": "ArmCord", - "mac": { - "category": "Network", - "extraResources": [ - "./mods/cumcord/*" - ] - }, - "win": { - "extraResources": [ - "./mods/cumcord/*" - ] - }, - "linux": { - "category": "Network", - "extraResources": [ - "./mods/cumcord/*" - ], - "maintainer": "smartfridge1337@protonmail.com", - "target": [ - "deb", - "tar.gz", - "rpm", - "AppImage" - ] - } + "url": "git+https://github.com/armcord/armcord.git" }, + "author": "smartfrigde", + "license": "OSL-3.0", "bugs": { - "url": "https://github.com/smartfrigde/armcord/issues", - "email": "smartfridge1337@protonmail.com" + "url": "https://github.com/armcord/armcord/issues" }, - "homepage": "https://github.com/smartfrigde/armcord#readme" + "homepage": "https://github.com/armcord/armcord#readme", + "devDependencies": { + "electron": "^16.0.5" + }, + "dependencies": { + "@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" + } } diff --git a/preload.js b/preload.js deleted file mode 100644 index a38edf6..0000000 --- a/preload.js +++ /dev/null @@ -1,97 +0,0 @@ -const { remote } = require("electron"); -const currentWindow = remote.getCurrentWindow(); -const ArmCord = require("./utils/ArmCord.js"); -const electronLocalshortcut = require("electron-localshortcut"); -require("./utils/theme.js"); -require("./utils/bridge.js") -require('./utils/titlebar') -window.addEventListener("DOMContentLoaded", () => { - if (require("./utils/ArmCord.js").Titlebar == "native") {console.log("Using native titlebar")} else { - //todo - } - - electronLocalshortcut.register(currentWindow, "F5", () => { - location.reload(); - }); - electronLocalshortcut.register(currentWindow, "F12", () => { - currentWindow.webContents.openDevTools(); - }); - electronLocalshortcut.register(currentWindow, "F1", () => { - require("shell").openExternal("https://support.discord.com/"); - }); - electronLocalshortcut.register(currentWindow, "F2", () => { - window.location.href = "https://discord.gg/invite/F25bc4RYDt"; - }); - electronLocalshortcut.register(currentWindow, "F4", () => { - currentWindow.loadFile("./manager.html"); - }); - require("./utils/capturer.js"); - - ArmCord.addStyle(` -@import url("https://kckarnige.github.io/femboi_owo/discord-font.css"); -:root { - --window-buttons: var(--header-secondary); - --cord-color: var(--header-primary); - --armcord-color: #7289da; - --titlebar-color: var(--background-tertiary); -} -.base-3dtUhz, .sidebar-2K8pFh { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - overflow: hidden; - border-top-left-radius: 8px; -} -div.menubar[role="menubar"] { - width: 0px; -} -.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); -} -.titlebar { - background: var(--titlebar-color) !important; - font-family: Verdana, Geneva, Tahoma, sans-serif; -} -.titlebar .window-controls-container .window-icon { - background: var(--window-buttons) !important; -} -.notice-3bPHh-.colorDefault-22HBa0 { - display: none; -} -`); - - ArmCord.addStyle( - `.info-1VyQPT:last-child:before { - content: "ArmCord Version: ` + - ArmCord.Version + - `"; - height: auto; - line-height: 16px; - text-align: center; - color: var(--text-muted); - font-size: 12px; - text-transform: none; -}` - ); - - document.getElementById("ac-channel").innerHTML = ArmCord.Channel; -}); diff --git a/src/content/css/setup.css b/src/content/css/setup.css new file mode 100644 index 0000000..ed876e8 --- /dev/null +++ b/src/content/css/setup.css @@ -0,0 +1,85 @@ +/*CSS ONLY FOR INTERNAL USE (setup and loading)*/ +@import url("https://kckarnige.github.io/femboi_owo/discord-font.css"); + +:root { + background-color: #2c2f33; + --header-secondary: #b9bbbe; + --header-primary: #fff; + --background-tertiary: #202225; +} + +body { + color: white; +} + +p { + color: #8e9297; + text-align: center; + font-weight: 100; + transform: translateY(-185%); + font-family: Whitney, Helvetica Neue, Helvetica, Arial, sans-serif; + text-rendering: optimizeLegibility; + font-style: italic; +} + +.logo { + font-size: 0px; + text-align: center; + transform: translateY(-105%); +} + +.logo:before { + content: "ARM"; + color: #7289da; + font-weight: normal; + font-family: Helvetica, sans-serif; + font-size: 32px; +} + +.logo:after { + content: "Cord"; + color: #ffffff; + font-weight: normal; + font-family: Discordinated; + font-size: 32px; +} + +span { + text-align: center; +} + +.logo { + display: block; + margin-left: auto; + margin-right: auto; + max-height: 204px; + max-width: 204px; + transform: translateY(5%); +} + +.container { + position: fixed; + top: 50%; + left: 50%; + color: #fff; + transform: translate(-50%, -50%); +} + +button { + background-color: #7289da; + font-family: Whitney, "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #ffffff; + padding: 4px; + border-radius: 5px; + left: 0; + text-align: center; + border-style: none; + outline: none; +} + +button:hover { + background-color: #687dc6; + border-style: none; + outline: none; + cursor: pointer; +} diff --git a/src/content/css/splash.css b/src/content/css/splash.css new file mode 100644 index 0000000..50677aa --- /dev/null +++ b/src/content/css/splash.css @@ -0,0 +1,114 @@ +/*MIT License + +Copyright (c) 2021 GooseMod + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.*/ +:root { + --background-primary: #282b30; + --background-secondary: rgba(255, 255, 255, 0.1); + --brand-experiment: #5865f2; + --header-primary: #fff; + --text-muted: #72767d; +} + +@font-face { + font-family: Whitney; + font-weight: 400; + font-style: normal; + src: url(https://armcord.smartfridge.space/whitney_400.woff) format("woff"); +} + +html, +body { + -webkit-app-region: drag; + overflow: hidden; + + margin: 0; + padding: 0; + width: 100%; + height: 100%; + + background: var(--background-primary); + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +* { + font-family: "Whitney", sans-serif; + + box-sizing: border-box; + -webkit-user-select: none; + cursor: default; +} + +video { + width: 200px; + height: 150px; + object-fit: cover; +} + +#text { + font-size: 7vw; + text-align: center; + + color: var(--header-primary); + font-weight: 400; + font-style: italic; + font-size: 16px; + + text-transform: uppercase; + + width: 100%; +} + +#bar-container, +#bar-fill { + width: 180px; + height: 8px; + + border-radius: 4px; + + visibility: hidden; +} + +#bar-container { + background-color: var(--background-secondary); + + position: relative; + margin-top: 12px; +} + +#bar-fill { + background-color: var(--brand-experiment); + width: 0; +} + +#debug { + position: absolute; + bottom: 6px; + right: 6px; + + text-align: right; + font-size: 10px; + color: var(--text-muted); + white-space: pre; +} diff --git a/src/content/css/titlebar.css b/src/content/css/titlebar.css new file mode 100644 index 0000000..67a5493 --- /dev/null +++ b/src/content/css/titlebar.css @@ -0,0 +1,123 @@ +@import url("https://kckarnige.github.io/femboi_owo/discord-font.css"); +:root { + --window-buttons: var(--header-secondary); + --cord-color: var(--header-primary); + --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); + } \ No newline at end of file diff --git a/src/content/index.html b/src/content/index.html new file mode 100644 index 0000000..a31c40e --- /dev/null +++ b/src/content/index.html @@ -0,0 +1,50 @@ + + + + + ArmCord + + + + +
+ +

+
+ + + diff --git a/src/content/setup.html b/src/content/setup.html new file mode 100644 index 0000000..1c2537a --- /dev/null +++ b/src/content/setup.html @@ -0,0 +1,24 @@ + + + + + + + ArmCord Setup + + + + +
+

+

Welcome to ArmCord!

+

Select what kind of setup you want to perform:

+ + +
+ + + + \ No newline at end of file diff --git a/src/extensions/plugin.ts b/src/extensions/plugin.ts new file mode 100644 index 0000000..18d85f2 --- /dev/null +++ b/src/extensions/plugin.ts @@ -0,0 +1,26 @@ +import * as fs from 'fs'; +import { app, session } from 'electron'; +const userDataPath = app.getPath("userData"); +const pluginFolder = userDataPath + "/plugins/"; +if (!fs.existsSync(pluginFolder)) { + fs.mkdirSync(pluginFolder); + console.log("Created missing plugin folder"); + } +app.whenReady().then(() => { + fs.readdirSync(pluginFolder).forEach((file) => { + try { + const manifest = fs.readFileSync( + `${userDataPath}/plugins/${file}/manifest.json`, + "utf8" + ); + var pluginFile = JSON.parse(manifest); + session.defaultSession.loadExtension(`${userDataPath}/plugins/${file}`); + console.log( + `%cLoaded ${pluginFile.name} made by ${pluginFile.author}`, + "color:red" + ); + } catch (err) { + console.error(err); + } + }); +}); diff --git a/src/extensions/themes.ts b/src/extensions/themes.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..2b3142d --- /dev/null +++ b/src/main.ts @@ -0,0 +1,92 @@ +// Modules to control application life and create native browser window +import { app, BrowserWindow, ipcMain, shell } from "electron"; +import * as path from "path"; +import * as storage from 'electron-json-storage'; +import {setup} from './utils'; +import './extensions/plugin'; +var isSetup = null; +var contentPath:string = "null"; +var frame:boolean; + +storage.keys(function(error, keys) { + if (error) throw error; + + for (var key of keys) { + console.log('There is a key called: ' + key); + } + }); +storage.has('firstRun', function(error, hasKey) { + if (error) throw error; + + if (!hasKey) { + console.log('First run of the ArmCord. Starting setup.'); + isSetup = true; + setup(); + contentPath = __dirname + '/content/setup.html' + } else { + console.log('ArmCord has been run before. Skipping setup.'); + isSetup = false; + contentPath = __dirname + '/content/index.html' + } +}); +storage.get('settings', function(error, data:any) { + if (error) throw error; + console.log(data); + frame = data.customTitlebar; + console.log(frame) + }); +function createWindow () { + const mainWindow = new BrowserWindow({ + width: 300, + height: 300, + title: "ArmCord", + frame: frame, + webPreferences: { + preload: path.join(__dirname, 'preload/preload.js') + } + }) + ipcMain.on("get-app-path", (event, arg) => { + event.reply("app-path", app.getAppPath()); + }); + ipcMain.on("open-external-link", (event, href: string) => { + shell.openExternal(href); + }); + ipcMain.on("win-maximize", (event, arg) => { + mainWindow.maximize(); + }); + ipcMain.on("win-isMaximized", (event, arg) => { + event.returnValue = mainWindow.isMaximized(); + }); + ipcMain.on("win-minimize", (event, arg) => { + mainWindow.minimize(); + }); + ipcMain.on("win-show", (event, arg) => { + mainWindow.show(); + }); + ipcMain.on("win-hide", (event, arg) => { + mainWindow.hide(); + }); + ipcMain.on("get-app-version", (event) => { + event.returnValue = process.env.npm_package_version; + }) + ipcMain.on("splashEnd", (event, arg) => { + mainWindow.setSize(800, 600); + }); + ipcMain.on("channel", (event) => { + event.returnValue = storage.getSync('channel'); + }) + mainWindow.loadFile(contentPath) +} + + +app.whenReady().then(() => { + createWindow() + + app.on('activate', function () { + if (BrowserWindow.getAllWindows().length === 0) createWindow() + }) +}) + +app.on('window-all-closed', function () { + if (process.platform !== 'darwin') app.quit() +}) diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts new file mode 100644 index 0000000..ff9a031 --- /dev/null +++ b/src/preload/bridge.ts @@ -0,0 +1,17 @@ + +import { contextBridge, ipcRenderer } from 'electron'; +import {getDisplayMediaSelector} from './capturer'; + +contextBridge.exposeInMainWorld("armcord", { + window: { + show: () => ipcRenderer.sendSync('win-show'), + hide: () => ipcRenderer.sendSync('win-hide'), + minimize: () => ipcRenderer.sendSync('win-minimize'), + maximize: () => ipcRenderer.sendSync('win-maximize'), + }, + electron: process.versions.electron, + version: ipcRenderer.sendSync('get-app-version', 'app-version'), + getDisplayMediaSelector: getDisplayMediaSelector, + splashEnd: () => ipcRenderer.sendSync('splashEnd'), + channel: ipcRenderer.sendSync('channel') +}); \ No newline at end of file diff --git a/utils/capturer.js b/src/preload/capturer.ts similarity index 93% rename from utils/capturer.js rename to src/preload/capturer.ts index b9a6e92..c47ca75 100644 --- a/utils/capturer.js +++ b/src/preload/capturer.ts @@ -1,9 +1,11 @@ //Fixed context isolation version https://github.com/getferdi/ferdi/blob/develop/src/webview/screenshare.ts //original https://github.com/electron/electron/issues/16513#issuecomment-602070250 -const { desktopCapturer } = require('electron'); +import { desktopCapturer } from 'electron'; +import {addStyle, addScript} from '../utils'; + const CANCEL_ID = 'desktop-capturer-selection__cancel'; -const ArmCord = require("./ArmCord.js"); -async function getDisplayMediaSelector() { + +export async function getDisplayMediaSelector() { const sources = await desktopCapturer.getSources({ types: ['screen', 'window'], }); @@ -144,9 +146,7 @@ window.navigator.mediaDevices.getDisplayMedia = () => new Promise(async (resolve `; document.addEventListener("DOMContentLoaded", function(event) { - ArmCord.addScript(screenShareJS); - ArmCord.addStyle(screenShareCSS); + addScript(screenShareJS); + addStyle(screenShareCSS); }); - -exports.getDisplayMediaSelector = getDisplayMediaSelector; \ No newline at end of file diff --git a/src/preload/preload.ts b/src/preload/preload.ts new file mode 100644 index 0000000..82fc6f4 --- /dev/null +++ b/src/preload/preload.ts @@ -0,0 +1,5 @@ +import './capturer' +import './bridge' +import {injectTitlebar} from './titlebar'; +injectTitlebar(); +console.log("ArmCord"); \ No newline at end of file diff --git a/src/preload/titlebar.ts b/src/preload/titlebar.ts new file mode 100644 index 0000000..ac57cc4 --- /dev/null +++ b/src/preload/titlebar.ts @@ -0,0 +1,46 @@ +import { ipcRenderer } from 'electron'; +import {addStyle} from '../utils' +import * as fs from 'fs'; +import * as path from 'path'; +export function injectTitlebar() { + document.addEventListener("DOMContentLoaded", function (event) { + var elem = document.createElement("div"); + elem.innerHTML = ``; + document.body.appendChild(elem); + const cssPath = path.join(__dirname, '../', '/content/css/titlebar.css'); + addStyle(fs.readFileSync( + cssPath, + "utf8" + )); + + var minimize = document.querySelector("#minimize"); + var maximize = document.querySelector("#maximize"); + var quit = document.querySelector("#quit"); + + minimize!.addEventListener("click", () => { + ipcRenderer.sendSync('win-minimize') + }); + + maximize!.addEventListener("click", () => { + if (ipcRenderer.sendSync('win-isMaximized') == true) { + ipcRenderer.sendSync('win-minimize') + } else { + ipcRenderer.sendSync('win-maximize') + } + }); + + quit!.addEventListener("click", () => { + ipcRenderer.sendSync('win-hide') + }); + }); +} +export function removeTitlebar() { + document.querySelector('#titlebar')!.remove(); +} diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..6eccbe8 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,24 @@ +import * as storage from 'electron-json-storage'; +//utillity functions that are used all over the codebase or just too obscure to be put in the file used in +export function addStyle(styleString: string) { + const style = document.createElement('style'); + style.textContent = styleString; + document.head.append(style); +}; + +export function addScript(scriptString: string) { + var script = document.createElement("script"); + script.textContent = scriptString; + document.body.append(script); +}; +export function setup(){ + console.log("Setting up ArmCord settings."); + storage.set('settings', { customTitlebar: true, channel: 'stable', firstRun: 'done' }, function(error) { + if (error) throw error; + }); +} +export interface settingsStructure { + channel: string, + customTitlebar: boolean, + firstRun: string, +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ebdac23 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,35 @@ +// Reference: https://www.typescriptlang.org/tsconfig +{ + "include": ["src/**/*"], // This makes it so that the compiler won't compile anything outside of "src". + //"exclude": ["src/**/*.test.ts"], // Exclude .test.ts files since they're for Jest only. + "compilerOptions": { + // Project Structure // + "rootDir": "src", // rootDir only affects the STRUCTURE of the folders, not what gets compiled. For extra measure, make sure the structure conforms to "src". + "outDir": "dist", // Likewise, outDir only chooses which folder to compile to. Prevent the compiler from creating JS files right next to source files. + "moduleResolution": "node", // Specify how the compiler resolves modules, like going for node_modules first then searching elsewhere. The official docs just say to use this instead of classic. + + // Type Settings // + "strict": true, // Enables all strict checks possible. + "noImplicitReturns": false, // Makes sure you don't accidentally return something + undefined. + "noFallthroughCasesInSwitch": true, // Prevents accidentally forgetting to break every switch case. Of course, if you know what you're doing, feel free to add a @ts-ignore, which also signals that it's not a mistake. + "forceConsistentCasingInFileNames": true, // Make import paths case-sensitive. "./tEst" is no longer the same as "./test". + "esModuleInterop": true, // Enables compatibility with Node.js' module system since the entire export can be whatever you want. allowSyntheticDefaultImports doesn't address runtime issues and is made redundant by this setting. + "resolveJsonModule": true, // Allows you to import JSON files just like how you can require() them. Do note that if you're accessing any JSON files outside of src, it'll mess up dist. + "lib": ["ES2020", "DOM"], // Specifies what common libraries you have access to. If you're working in Node.js, you'll want to leave out the DOM library. But do make sure to include "@types/node" because otherwise, variables like "console" won't be defined. + + // Output // + "module": "CommonJS", // Compiles ES6 imports to require() syntax. + "removeComments": false, + "sourceMap": true, // Used for displaying the original source when debugging in webpack. Allows you to set breakpoints directly on TypeScript code for VSCode's debugger. + + // Library Building // + "declaration": false, // Exports declaration files in addition, used for exporting a module. + "declarationMap": false, // Allows the user to go to the source file when hitting a go-to-implementation key like F12 in VSCode for example. + //"declarationDir": "typings", // declarationDir allows you to separate the compiled code from the declaration files, used in conjunction with package.json's "types" property. + + // Web Compatibility // + "target": "ES2020", // ES2017 supports async/await, reducing the amount of compiled code, especially for async-heavy projects. ES2020 is from the Node 14 base (https://github.com/tsconfig/bases/blob/master/bases/node14.json) + "downlevelIteration": false, // This flag adds extra support when targeting ES3, but adds extra bloat otherwise. + "importHelpers": false // Reduce the amount of bloat that comes from downlevelIteration (when polyfills are redeclared). + } +} \ No newline at end of file diff --git a/utils/ArmCord.js b/utils/ArmCord.js deleted file mode 100644 index 69e18cf..0000000 --- a/utils/ArmCord.js +++ /dev/null @@ -1,24 +0,0 @@ -exports.Version = require("../package.json").version; -const fs = require("fs"); -const electron = require("electron"); -const userDataPath = (electron.app || electron.remote.app).getPath("userData"); -const settingsFile= userDataPath + "/settings.json"; -if (!fs.existsSync(settingsFile)) { - fs.writeFile(settingsFile, "{}", (err) => { - if (err) throw err; -}); - console.log("Created settings.json file"); -} -exports.Channel = require(settingsFile).channel; -exports.Titlebar = require(settingsFile).titlebar; -exports.addStyle = function(styleString) { - const style = document.createElement('style'); - style.textContent = styleString; - document.head.append(style); -}; - -exports.addScript = function (scriptString) { - var script = document.createElement("script"); - script.textContent = scriptString; - document.body.append(script); -}; diff --git a/utils/bridge.js b/utils/bridge.js deleted file mode 100644 index c266b4f..0000000 --- a/utils/bridge.js +++ /dev/null @@ -1,19 +0,0 @@ -const { contextBridge, remote } = require("electron"); -const currentWindow = remote.getCurrentWindow(); -const {getDisplayMediaSelector} = require('./capturer') -const ArmCord = require("./ArmCord.js"); -const version = require("../package.json").version; -contextBridge.exposeInMainWorld("electron", { - window: { - show: () => currentWindow.show(), - hide: () => currentWindow.hide(), - minimize: () => currentWindow.minimize(), - maximize: () => currentWindow.maximize(), - on : () => currentWindow.on(), - }, - electron: process.versions.electron, - version: version, - ArmCord: ArmCord, - getDisplayMediaSelector: getDisplayMediaSelector, - -}); diff --git a/utils/mod.js b/utils/mod.js deleted file mode 100644 index bb65397..0000000 --- a/utils/mod.js +++ /dev/null @@ -1,22 +0,0 @@ -const fs = require("fs"); -const { app, session } = require("electron"); -const path = require ('path'); -const execPath = path.dirname (process.execPath); -app.whenReady().then(() => { -fs.readdirSync(`${execPath}/resources/mods/`).forEach((file) => { - try { - const manifest = fs.readFileSync( - `${execPath}/resources/mods/${file}/manifest.json`, - "utf8" - ); - var pluginFile = JSON.parse(manifest); - session.defaultSession.loadExtension(`${execPath}/resources/mods/${file}`); - console.log( - `%cLoaded ${pluginFile.name} made by ${pluginFile.author}`, - "color:red" - ); - } catch (err) { - console.error(err); - } -}); -}); diff --git a/utils/plugin.js b/utils/plugin.js deleted file mode 100644 index fec9236..0000000 --- a/utils/plugin.js +++ /dev/null @@ -1,24 +0,0 @@ -const fs = require("fs"); -const { app, session } = require("electron"); -const electron = require("electron"); -const userDataPath = (electron.app || electron.remote.app).getPath("userData"); -const pluginFolder = userDataPath + "/plugins/"; - -app.whenReady().then(() => { -fs.readdirSync(pluginFolder).forEach((file) => { - try { - const manifest = fs.readFileSync( - `${userDataPath}/plugins/${file}/manifest.json`, - "utf8" - ); - var pluginFile = JSON.parse(manifest); - session.defaultSession.loadExtension(`${userDataPath}/plugins/${file}`); - console.log( - `%cLoaded ${pluginFile.name} made by ${pluginFile.author}`, - "color:red" - ); - } catch (err) { - console.error(err); - } -}); -}); diff --git a/utils/theme.js b/utils/theme.js deleted file mode 100644 index 3a52b0d..0000000 --- a/utils/theme.js +++ /dev/null @@ -1,53 +0,0 @@ -const fs = require("fs"); -const {shell} = require('electron'); -const electron = require("electron"); -const ArmCord = require("./ArmCord.js"); -const userDataPath = (electron.app || electron.remote.app).getPath("userData"); -const themeFolder = userDataPath + "/themes/"; -if (!fs.existsSync(themeFolder)) { - fs.mkdirSync(themeFolder); - console.log("Created theme folder"); -} -window.addEventListener("DOMContentLoaded", () => { - console.log("Theme Module Loaded"); // I KNOW THIS IS A MESS BUT IT'S WORKING MESS, XOXO - fs.readdirSync(themeFolder).forEach((file) => { - try { - if (file.includes('DISABLED')) { - console.log(`Skipping ${file}.`) - const manifest = fs.readFileSync(`${userDataPath}/themes/${file}/manifest.json`, "utf8"); - var themeFile = JSON.parse(manifest); - var html = `
${themeFile.name}
By ${themeFile.author}
${themeFile.description}


`; - document.getElementById("tm-disabled").innerHTML = html + document.getElementById("tm-disabled").innerHTML; - } - const manifest = fs.readFileSync(`${userDataPath}/themes/${file}/manifest.json`, "utf8"); - var themeFile = JSON.parse(manifest); - const theme = fs.readFileSync(`${userDataPath}/themes/${file}/${themeFile.theme}`, "utf8"); - if (themeFile.theme.endsWith(".scss")) { - console.log( - `%cCouldn't load ${themeFile.name} made by ${themeFile.author}. ArmCord doesn't support SCSS files! If you want to have this theme ported, feel free to reach out https://discord.gg/F25bc4RYDt `, - "color:red; font-weight: bold; font-size: 50px;color: red;" - ); - } - ArmCord.addStyle(theme); - var html = `
${themeFile.name}
By ${themeFile.author}
${themeFile.description}


`; - document.getElementById("tm-list").innerHTML = html + document.getElementById("tm-list").innerHTML; - console.log(`%cLoaded ${themeFile.name} made by ${themeFile.author}`, "color:red"); - } catch (err) { - console.error(err); - } - }); - document.getElementById("open-themes-btn").onclick = function () {shell.openPath(`${userDataPath}/themes`);}; - document.getElementsByClassName("back-btn")[0].onclick = function () { - if (document.getElementById("ac-channel").innerHTML == "stable") { - window.location.href = "https://discord.com/app"; - } else if (document.getElementById("ac-channel").innerHTML == "canary") { - window.location.href = "https://canary.discord.com/app"; - } else if (document.getElementById("ac-channel").innerHTML == "ptb") { - window.location.href = "https://ptb.discord.com/app"; - } else if (document.getElementById("ac-channel").innerHTML == "foss") { - window.location.href = "https://dev.fosscord.com/app"; - } else { - window.location.href = "https://discord.com/app"; - }; - }; -}); diff --git a/utils/titlebar.js b/utils/titlebar.js deleted file mode 100644 index 17ccec6..0000000 --- a/utils/titlebar.js +++ /dev/null @@ -1,138 +0,0 @@ -const { remote } = require("electron"); -var win = remote.BrowserWindow.getFocusedWindow(); -const ArmCord = require("./ArmCord.js"); -const css = ` -.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%; -} - - -`; -document.addEventListener("DOMContentLoaded", function (event) { - var elem = document.createElement("div"); - elem.innerHTML = ``; - document.body.appendChild(elem); - - ArmCord.addStyle(css); - - var minimize = document.querySelector("#minimize"); - var maximize = document.querySelector("#maximize"); - var quit = document.querySelector("#quit"); - - minimize.addEventListener("click", () => { - win.minimize(); - }); - - maximize.addEventListener("click", () => { - if (win.isMaximized() == true) { - win.unmaximize(); - } else { - win.maximize(); - } - }); - - quit.addEventListener("click", () => { - win.close(); - }); -}); diff --git a/utils/updater.js b/utils/updater.js deleted file mode 100644 index ac708c6..0000000 --- a/utils/updater.js +++ /dev/null @@ -1,22 +0,0 @@ -const { app, autoUpdater } = require('electron') -const server = "https://download.smartfridge.space" -const url = `${server}/update/${process.platform}/${app.getVersion()}` - -autoUpdater.setFeedURL({ url }) -autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName) => { - const dialogOpts = { - type: 'info', - buttons: ['Restart', 'Later'], - title: 'ArmCord Update', - message: process.platform === 'win32' ? releaseNotes : releaseName, - detail: 'A new version has been downloaded. Restart the application to apply the updates.' - } - - dialog.showMessageBox(dialogOpts).then((returnValue) => { - if (returnValue.response === 0) autoUpdater.quitAndInstall() - }) - }) - autoUpdater.on('error', message => { - console.error('There was a problem updating the application') - console.error(message) - }) \ No newline at end of file