diff --git a/README.md b/README.md index a71ee64..22b905b 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,24 @@ # Tabs -Tabs is an electron app that lets you easily turn any webpage into a "desktop app". We call each of this "apps" `Services`. +/!\ Still in development! I aim to improve security, usability and add more features. Wait for the 1.0 release to use tabs for critical jobs. /!\ -You can add multiple Services to a single window and easily switch between them with the navigation bar, like persistent tabs in a web browser. +Tabs is an electron app than allows you to make **persistent** and **isolated** sessions on any website. + +You could create `Services` for Facebook Messenger, GMail, or your personnal nextcloud instance. There is not limit to what home URL you can set. + +- Services are all gathered in a single window with a simple navigation bar +- A service can be either automatically loaded or not +- You can customize a service css (i.e. remove unwanted elements like menus or nav bars) You can navigate inside the focused service using the navigation buttons (previous page, next page). +## When's 1.0 being released? + +You can track the development progress [here](https://github.com/ArisuOngaku/tabs/projects/3). + ## Contributing +Pull requests are welcome and appreciated! + ## License -[MIT - see LICENSE file](LICENSE) \ No newline at end of file +[MIT - see LICENSE file](LICENSE) diff --git a/art/logo.svg b/art/logo.svg index cabb530..2c1ac9f 100644 --- a/art/logo.svg +++ b/art/logo.svg @@ -8,20 +8,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="24" - height="24" - viewBox="0 0 24 24" - fill="none" - stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + width="20" + height="20" + viewBox="0 0 20 20" class="feather feather-sidebar" version="1.1" id="svg6" sodipodi:docname="logo.svg" inkscape:version="0.92.4 5da689c313, 2019-01-14" - enable-background="new"> + style="fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;enable-background:new" + enable-background="new" + inkscape:export-filename="/r/arisu/dev/utils/tabs/resources/logo.png" + inkscape:export-xdpi="2457.6001" + inkscape:export-ydpi="2457.6001"> @@ -60,41 +59,45 @@ y1="0" x2="24" y2="24" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="scale(0.83333333)" /> + + + + + + + id="filter862"> + id="feBlend864" /> - - - - - - + id="g892" + transform="translate(-2,-2.0142425)" + mask="none" + clip-path="none"> + mask="url(#mask854)" + clip-path="none" /> diff --git a/package.json b/package.json index 57c712c..6eb10a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tabs", - "version": "0.5.3", + "version": "0.6.0", "description": "Persistent and separate browser tabs in one window.", "author": { "name": "Alice Gaudon", @@ -24,7 +24,7 @@ "single-instance": "^0.0.1" }, "devDependencies": { - "electron": "^8.0.3", + "electron": "^8.2.0", "electron-builder": "^22.4.0" }, "build": { @@ -71,6 +71,6 @@ } ] }, - "electronVersion": "8.0.3" + "electronVersion": "8.2.0" } } diff --git a/resources/empty.html b/resources/empty.html index 7cd636a..28f436b 100644 --- a/resources/empty.html +++ b/resources/empty.html @@ -3,6 +3,7 @@ Loading... + diff --git a/resources/index.html b/resources/index.html index 01e5523..46b48e3 100644 --- a/resources/index.html +++ b/resources/index.html @@ -4,6 +4,8 @@ Tabs + + @@ -30,7 +32,8 @@
+
- \ No newline at end of file + diff --git a/resources/js/index.js b/resources/js/index.js index d326880..4f99d97 100644 --- a/resources/js/index.js +++ b/resources/js/index.js @@ -1,11 +1,14 @@ const { remote, ipcRenderer, + clipboard, + shell, } = require('electron'); const { Menu, MenuItem, dialog, + session, } = remote; const appInfo = {}; @@ -17,6 +20,7 @@ let forwardButton; let backButton; let addButton; let emptyPage; +let urlPreview; // Service context menu @@ -117,29 +121,46 @@ ipcRenderer.on('data', (event, appData, brandIcons, solidIcons, actualServices, // Empty emptyPage = emptyUrl; + + // Url preview element + urlPreview = document.getElementById("url-preview"); + urlPreview.addEventListener('mouseover', () => { + if (urlPreview.classList.contains('right')) { + urlPreview.classList.remove('right'); + } else { + urlPreview.classList.add('right'); + } + }); }); +function removeServiceFeatures(id) { + const nav = document.querySelector('#service-selector'); + + // Remove nav + const oldNavButton = nav.querySelector('li:nth-of-type(' + (id + 1) + ')'); + if (oldNavButton) { + nav.removeChild(oldNavButton); + } + + // Remove webview + if (services[id] && services[id].view) { + const serviceContainer = document.querySelector('#services'); + serviceContainer.removeChild(services[id].view); + } + + return oldNavButton; +} + ipcRenderer.on('updateService', (e, id, data) => { if (id === null) { services.push(data); createService(services.length - 1); } else { - const nav = document.querySelector('#service-selector'); - - // Remove nav - const oldNavButton = nav.querySelector('li:nth-of-type(' + (id + 1) + ')'); - const nextNavButton = oldNavButton.nextSibling; - nav.removeChild(oldNavButton); - - // Remove webview - if (services[id].view) { - const serviceContainer = document.querySelector('#services'); - serviceContainer.removeChild(services[id].view); - } + const oldNavButton = removeServiceFeatures(id); // Create new service services[id] = data; - createService(id, nextNavButton); + createService(id, oldNavButton ? oldNavButton.nextSibling : null); if (parseInt(selectedService) === id) { setActiveService(id); } @@ -172,19 +193,7 @@ ipcRenderer.on('reorderService', (e, serviceId, targetId) => { }); ipcRenderer.on('deleteService', (e, id) => { - const nav = document.querySelector('#service-selector'); - - // Remove nav - const navButton = nav.querySelector('li:nth-of-type(' + (id + 1) + ')'); - if (navButton) { - nav.removeChild(navButton); - } - - // Remove webview - if (services[id].view) { - const serviceContainer = document.querySelector('#services'); - serviceContainer.removeChild(services[id].view); - } + removeServiceFeatures(id); if (parseInt(selectedService) === id) { setActiveService(0); @@ -335,9 +344,9 @@ function loadService(serviceId, service) { document.querySelector('#services > .loader').classList.remove('hidden'); service.view = document.createElement('webview'); + service.view.setAttribute('enableRemoteModule', 'false'); service.view.setAttribute('partition', 'persist:service_' + service.partition); service.view.setAttribute('autosize', 'true'); - service.view.setAttribute('preload', 'js/service-webview.js'); service.view.setAttribute('src', emptyPage); // Append element to DOM @@ -364,10 +373,36 @@ function loadService(serviceId, service) { } }); + const webContents = remote.webContents.fromId(service.view.getWebContentsId()); + + // Set custom user agent if (typeof service.customUserAgent === 'string') { - let webContents = remote.webContents.fromId(service.view.getWebContentsId()); webContents.setUserAgent(service.customUserAgent); } + + // Set context menu + setContextMenu(webContents); + + // Set permission request handler + session.fromPartition(service.view.partition) + .setPermissionRequestHandler(((webContents, permission, callback, details) => { + dialog.showMessageBox(remote.getCurrentWindow(), { + type: 'question', + title: 'Grant ' + permission + ' permission', + message: 'Do you wish to grant the ' + permission + ' permission to ' + details.requestingUrl + '?', + buttons: ['Deny', 'Authorize'], + cancelId: 0, + }).then(result => { + if (result.response === 1) { + console.log('Granted', permission, 'for service', details.requestingUrl); + callback(true); + } else { + console.log('Denied', permission, 'for service', details.requestingUrl); + callback(false); + } + }).catch(console.error); + })); + service.view.setAttribute('src', service.url); }); @@ -387,6 +422,16 @@ function loadService(serviceId, service) { } } }); + + // Display target urls + service.view.addEventListener('update-target-url', (event) => { + if (event.url.length === 0) { + urlPreview.classList.add('hidden'); + } else { + urlPreview.classList.remove('hidden'); + urlPreview.innerHTML = event.url; + } + }); } } @@ -468,3 +513,128 @@ function goBack() { let view = services[selectedService].view; if (view) remote.webContents.fromId(view.getWebContentsId()).goBack(); } + +function setContextMenu(webContents) { + webContents.on('context-menu', (event, props) => { + const menu = new Menu(); + const {editFlags} = props; + + // linkURL + if (props.linkURL.length > 0) { + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + menu.append(new MenuItem({ + label: 'Copy link URL', + click: () => { + clipboard.writeText(props.linkURL); + }, + })); + menu.append(new MenuItem({ + label: 'Open URL in default browser', + click: () => { + if (props.linkURL.startsWith('https://')) { + shell.openExternal(props.linkURL); + } + }, + })); + } + + // Image + if (props.hasImageContents) { + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + menu.append(new MenuItem({ + label: 'Copy image', + click: () => { + webContents.copyImageAt(props.x, props.y); + }, + })); + + menu.append(new MenuItem({ + label: 'Save image as', + click: () => { + webContents.downloadURL(props.srcURL); + }, + })); + } + + // Text clipboard + if (editFlags.canUndo || editFlags.canRedo || editFlags.canCut || editFlags.canCopy || editFlags.canPaste || editFlags.canDelete) { + if (editFlags.canUndo || editFlags.canRedo) { + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + if (editFlags.canUndo) { + menu.append(new MenuItem({ + label: 'Undo', + role: 'undo', + })); + } + if (editFlags.canRedo) { + menu.append(new MenuItem({ + label: 'Redo', + role: 'redo', + })); + } + } + + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + menu.append(new MenuItem({ + label: 'Cut', + role: 'cut', + enabled: editFlags.canCut, + })); + menu.append(new MenuItem({ + label: 'Copy', + role: 'copy', + enabled: editFlags.canCopy, + })); + menu.append(new MenuItem({ + label: 'Paste', + role: 'paste', + enabled: editFlags.canPaste, + })); + menu.append(new MenuItem({ + label: 'Delete', + role: 'delete', + enabled: editFlags.canDelete, + })); + } + + if (editFlags.canSelectAll) { + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + menu.append(new MenuItem({ + label: 'Select all', + role: 'selectAll', + })); + } + + // Inspect element + if (menu.items.length > 0) { + menu.append(new MenuItem({type: 'separator'})); + } + + menu.append(new MenuItem({ + label: 'Inspect element', + click: () => { + webContents.inspectElement(props.x, props.y); + }, + })); + + + menu.popup({ + window: remote.getCurrentWindow(), + }); + }); +} \ No newline at end of file diff --git a/resources/js/service-webview.js b/resources/js/service-webview.js deleted file mode 100644 index 3af70d4..0000000 --- a/resources/js/service-webview.js +++ /dev/null @@ -1,130 +0,0 @@ -const { - remote, - clipboard, -} = require('electron'); -const { - Menu, - MenuItem, -} = remote; - -const webContents = remote.getCurrentWebContents(); -webContents.on('context-menu', (event, props) => { - const menu = new Menu(); - const {editFlags} = props; - - // linkURL - if (props.linkURL.length > 0) { - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - menu.append(new MenuItem({ - label: 'Copy link URL', - click: () => { - clipboard.writeText(props.linkURL); - }, - })); - menu.append(new MenuItem({ - label: 'Open URL in default browser', - click: () => { - window.open(props.linkURL, '_blank'); - }, - })); - } - - // Image - if (props.hasImageContents) { - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - menu.append(new MenuItem({ - label: 'Copy image', - click: () => { - webContents.copyImageAt(props.x, props.y); - }, - })); - - menu.append(new MenuItem({ - label: 'Save image as', - click: () => { - webContents.downloadURL(props.srcURL); - }, - })); - } - - // Text clipboard - if (editFlags.canUndo || editFlags.canRedo || editFlags.canCut || editFlags.canCopy || editFlags.canPaste || editFlags.canDelete) { - if (editFlags.canUndo || editFlags.canRedo) { - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - if (editFlags.canUndo) { - menu.append(new MenuItem({ - label: 'Undo', - role: 'undo', - })); - } - if (editFlags.canRedo) { - menu.append(new MenuItem({ - label: 'Redo', - role: 'redo', - })); - } - } - - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - menu.append(new MenuItem({ - label: 'Cut', - role: 'cut', - enabled: editFlags.canCut, - })); - menu.append(new MenuItem({ - label: 'Copy', - role: 'copy', - enabled: editFlags.canCopy, - })); - menu.append(new MenuItem({ - label: 'Paste', - role: 'paste', - enabled: editFlags.canPaste, - })); - menu.append(new MenuItem({ - label: 'Delete', - role: 'delete', - enabled: editFlags.canDelete, - })); - } - - if (editFlags.canSelectAll) { - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - menu.append(new MenuItem({ - label: 'Select all', - role: 'selectAll', - })); - } - - // Inspect element - if (menu.items.length > 0) { - menu.append(new MenuItem({type: 'separator'})); - } - - menu.append(new MenuItem({ - label: 'Inspect element', - click: () => { - webContents.inspectElement(props.x, props.y); - }, - })); - - - menu.popup({ - window: remote.getCurrentWindow(), - }); -}); \ No newline at end of file diff --git a/resources/logo.png b/resources/logo.png index 427ac5c..722d043 100644 Binary files a/resources/logo.png and b/resources/logo.png differ diff --git a/resources/service-settings.html b/resources/service-settings.html index bdbb3c4..52968fe 100644 --- a/resources/service-settings.html +++ b/resources/service-settings.html @@ -4,6 +4,8 @@ Service settings + + diff --git a/resources/style/index.css b/resources/style/index.css index 5734982..e726b6c 100644 --- a/resources/style/index.css +++ b/resources/style/index.css @@ -179,11 +179,11 @@ body { flex-grow: 1; } -#services > *:not(.loader) { +#services > *:not(.loader):not(#url-preview) { height: 100%; } -#services > :not(.active):not(.loader) { +#services > :not(.active):not(.loader):not(#url-preview) { display: none; } @@ -197,3 +197,40 @@ body { transform: translate(-50%, -50%); z-index: -1; } + +#url-preview { + position: absolute; + bottom: 0; + left: 0; + display: block; + padding: 2px 5px 1px 5px; + + max-width: 48%; + overflow: hidden; + text-overflow: ellipsis; + + font-family: monospace; + + border-width: 1px 1px 0 0; + border-color: #232323; + border-style: solid; + border-radius: 0 5px 0 0; + + background: #2b2b2b; + + opacity: 1; + transition: 100ms ease opacity; + transition-delay: 200ms; +} + +#url-preview.right { + left: auto; + right: 0; + + border-width: 1px 0 0 1px; + border-radius: 5px 0 0 0; +} + +#url-preview.hidden { + opacity: 0; +} diff --git a/src/main.js b/src/main.js index 3f5d9bc..cd18d6c 100644 --- a/src/main.js +++ b/src/main.js @@ -77,7 +77,9 @@ function createWindow() { console.log('Setting external links to open in default OS browser'); contents.on('new-window', (e, url) => { e.preventDefault(); - shell.openExternal(url); + if (url.startsWith('https://')) { + shell.openExternal(url); + } }); } }); @@ -144,6 +146,7 @@ function createWindow() { config.services[id] = newService; } else { config.services.push(newService); + id = config.services.indexOf(newService); } config.save(); diff --git a/yarn.lock b/yarn.lock index f1020c6..75f65e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,14 +16,15 @@ ajv-keywords "^3.1.0" "@electron/get@^1.0.1": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.7.6.tgz#f1c8e87cbef0bce78644159b72340821d52066b3" - integrity sha512-zlNikt6ziVLNcm4lly1L4y62fJd/eYpEBjF5DiV/VAQq2vdPjH4sbUphXt9upmHz86lAhAj8g9lTnWrxJ/KBZw== + version "1.9.0" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.9.0.tgz#7fa6e61d7ff50fb82a8a41f437af7de3b97aa9a5" + integrity sha512-OBIKtF6ttIJotDXe4KJMUyTBO4xMii+mFjlA8R4CORuD4HvCUaCK3lPjhdTRCvuEv6gzWNbAvd9DNBv0v780lw== dependencies: debug "^4.1.1" env-paths "^2.2.0" fs-extra "^8.1.0" got "^9.6.0" + progress "^2.0.3" sanitize-filename "^1.6.2" sumchecker "^3.0.1" optionalDependencies: @@ -60,14 +61,14 @@ "@types/node" "*" "@types/node@*": - version "13.7.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.7.tgz#1628e6461ba8cc9b53196dfeaeec7b07fa6eea99" - integrity sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg== + version "13.9.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.8.tgz#09976420fc80a7a00bf40680c63815ed8c7616f4" + integrity sha512-1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA== "@types/node@^12.0.12": - version "12.12.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.28.tgz#3a2b5f8d21f96ace690a8832ae9779114612575f" - integrity sha512-g73GJYJDXgf0jqg+P9S8h2acWbDXNkoCX8DLtJVu7Fkn788pzQ/oJsrdJz/2JejRf/SjfZaAhsw+3nd1D5EWGg== + version "12.12.34" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.34.tgz#0a5d6ae5d22612f0cf5f10320e1fc5d2a745dcb8" + integrity sha512-BneGN0J9ke24lBRn44hVHNeDlrXRYF+VRp0HbSUNnEZahXGAysHZIqnf/hER6aabdBgzM4YOV4jrR8gj4Zfi0g== "@types/semver@^7.1.0": version "7.1.0" @@ -94,11 +95,11 @@ ajv-keywords@^3.1.0: integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== ajv@^6.1.0: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + version "6.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" + integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" @@ -133,21 +134,21 @@ app-builder-bin@3.5.5: resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.5.tgz#c83200dccd8df5ccb2a5adcd41b2a76bacfb531a" integrity sha512-ZcHzJ9Xl+azPqdKzXZKdRZmkNmbxHHZyl4cbobNf8qMQpoPChpcov8riVrZSbu/0cT/JqJ8LOwJjy1OAwbChaQ== -app-builder-lib@22.4.0, app-builder-lib@~22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.4.0.tgz#af7f8f990d99b24f646859fe099617fa4a256d65" - integrity sha512-PcoKR5EDc6hkjNA7RzE0Ery1w1+YOH2VPk9AGQWAvQluj5h6xcURMQilLhQYONNZ3N/beZmiNxPzQF0CBRCnwA== +app-builder-lib@22.4.1, app-builder-lib@~22.4.1: + version "22.4.1" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.4.1.tgz#9d73b2834e434fb65fc9571ae3fed3c1470b6915" + integrity sha512-epwUzIM+2pcdy/If9koTP74CKx4v7xGPj75a2Z5cM4rrGN9yVZ3eDUBbfF0e0qE4Qmcv5pd0BAZJ26bGm8NWsQ== dependencies: "7zip-bin" "~5.0.3" "@develar/schema-utils" "~2.1.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.4.0" - builder-util-runtime "8.6.1" + builder-util "22.4.1" + builder-util-runtime "8.6.2" chromium-pickle-js "^0.2.0" debug "^4.1.1" ejs "^3.0.1" - electron-publish "22.4.0" + electron-publish "22.4.1" fs-extra "^8.1.0" hosted-git-info "^3.0.4" is-ci "^2.0.0" @@ -217,30 +218,35 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -builder-util-runtime@8.6.1: - version "8.6.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.6.1.tgz#cf9a268fa51704de24f3c085aa8d1d1b3767d9ea" - integrity sha512-gwIUtMaICmc+e2EC3u3byXcwCyfhtG40LJRNnGfs8AYqacKl4ZLP50ab+uDttn7QAXe0LfMAuKz9v8bCODV0yg== +builder-util-runtime@8.6.2: + version "8.6.2" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.6.2.tgz#8270e15b012d8d3b110f3e327b0fd8b0e07b1686" + integrity sha512-9QnIBISfhgQ2BxtRLidVqf/v5HD73vSKZDllpUmGd2L6VORGQk7cZAPmPtw4HQM3gPBelyVJ5yIjMNZ8xjmd1A== dependencies: debug "^4.1.1" sax "^1.2.4" -builder-util@22.4.0, builder-util@~22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.4.0.tgz#4ee05c3b26b69e5be3d8b120fd1cce2b8d403400" - integrity sha512-U2mNL9IewgTqfhvNexrm3UFdRrI6Rr48HkH9Z0IO/D86jGrCUVK8UXC8S8AHj1Cfa/VdYrMOxdXr3kajZXJvfg== +builder-util@22.4.1, builder-util@~22.4.1: + version "22.4.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.4.1.tgz#49cce9f06a62cdccda66d5efa82077040fa1f462" + integrity sha512-+ysLc7cC4w6P7rBxmZ5X2aU3QvcwFoWCl1us+mcUKdsGmJAtFUMPJqueeptdxjyPrPShIUOKHzA8uk5A3d1fHg== dependencies: "7zip-bin" "~5.0.3" "@types/debug" "^4.1.5" "@types/fs-extra" "^8.1.0" app-builder-bin "3.5.5" bluebird-lst "^1.0.9" - builder-util-runtime "8.6.1" + builder-util-runtime "8.6.2" chalk "^3.0.0" debug "^4.1.1" fs-extra "^8.1.0" @@ -324,7 +330,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.6.2: +concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -369,7 +375,7 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -debug@2.6.9: +debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -401,9 +407,9 @@ deep-extend@^0.6.0: integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== defer-to-connect@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f" - integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== define-properties@^1.1.3: version "1.1.3" @@ -417,14 +423,14 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -dmg-builder@22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.4.0.tgz#bd030dd1f9e43a4ebb2a82f4a7cec1acfc60ed3c" - integrity sha512-tQvHhI2PZi4mn2CqzLyWohbipwrFJ5Wz97shsnzgje4uvVTnScF5nimoKCfnNIX5pcKL17Ij7f8WpluqeRDBTg== +dmg-builder@22.4.1: + version "22.4.1" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.4.1.tgz#ab80d3d6e4ed8a1d38beddbfe97c8f7a794dd932" + integrity sha512-hEemh7n0zoVt7zPPwvn7iOttP03oENjJ4ApttPmt8oDnX8T4q42MjGWyDlLkPMplMJfoTxkkNqmm296f0OYM8Q== dependencies: - app-builder-lib "~22.4.0" + app-builder-lib "~22.4.1" bluebird-lst "^1.0.9" - builder-util "~22.4.0" + builder-util "~22.4.1" fs-extra "^8.1.0" iconv-lite "^0.5.1" js-yaml "^3.13.1" @@ -453,22 +459,22 @@ duplexer3@^0.1.4: integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= ejs@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.1.tgz#30c8f6ee9948502cc32e85c37a3f8b39b5a614a5" - integrity sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw== + version "3.0.2" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.0.2.tgz#745b01cdcfe38c1c6a2da3bbb2d9957060a31226" + integrity sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA== electron-builder@^22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.4.0.tgz#c2eedd0eb982e7421b96693252525cc15ba9e6e4" - integrity sha512-6gmXgtkc3DHN+qqTdpFrE340BvzYOLrYQnvVX8Dpz+FLBIj6kg9eH4/MVDrqRjeW8F6DsIZ3jnlM91cWiE5r0g== + version "22.4.1" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.4.1.tgz#7a7a2cbd9955c90cecc36de32ecba7f565265bab" + integrity sha512-13CjZcGeJS+c3EKRwFT/Oty5Niif5g1FwDioBLEbjkPCPQgxdtDsr+rJtCu9qxkiKDYpAoPS+t/clNk0efONvQ== dependencies: "@types/yargs" "^15.0.4" - app-builder-lib "22.4.0" + app-builder-lib "22.4.1" bluebird-lst "^1.0.9" - builder-util "22.4.0" - builder-util-runtime "8.6.1" + builder-util "22.4.1" + builder-util-runtime "8.6.2" chalk "^3.0.0" - dmg-builder "22.4.0" + dmg-builder "22.4.1" fs-extra "^8.1.0" is-ci "^2.0.0" lazy-val "^1.0.4" @@ -477,27 +483,27 @@ electron-builder@^22.4.0: update-notifier "^4.1.0" yargs "^15.1.0" -electron-publish@22.4.0: - version "22.4.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.4.0.tgz#65fffae3c6a6f5bf68cf90127c2d2b21a2cf2bd3" - integrity sha512-50p+H/FsgwvOgLP8Oekvar07MR70M+cYROlH3ty5bIq0io6doEVPl+j/Cc8tfN/tygZecBKUCdYJMXjILQPn+A== +electron-publish@22.4.1: + version "22.4.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.4.1.tgz#a7fcf166786f7d5957f19a70ee8389f219769ba5" + integrity sha512-nwKNum3KXm+01rtWX2pc1jhazdzDy2zYnQx+zmXphZchjd6UOMX3ZN0xyZUCKugw5ZliflT6LkgbrcBXBtYD3A== dependencies: "@types/fs-extra" "^8.1.0" bluebird-lst "^1.0.9" - builder-util "~22.4.0" - builder-util-runtime "8.6.1" + builder-util "~22.4.1" + builder-util-runtime "8.6.2" chalk "^3.0.0" fs-extra "^8.1.0" lazy-val "^1.0.4" mime "^2.4.4" electron-updater@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.2.4.tgz#9015bb8f85b24d6f8a620a90dd0fe128335c902b" - integrity sha512-iqN0uoP2+Nkiljp/o4DzZVeSpOOCMtP8+pqL5/qDI+1/ARW99T2TFcpRrPwX4dntowNV7X5T19aKFLK3+9AdkA== + version "4.2.5" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.2.5.tgz#dbced8da6f8c6fc2dc662f2776131f5a49ce018d" + integrity sha512-ir8SI3capF5pN4LTQY79bP7oqiBKjgtdDW378xVId5VcGUZ+Toei2j+fgx1mq3y4Qg19z4HqLxEZ9FqMD0T0RA== dependencies: "@types/semver" "^7.1.0" - builder-util-runtime "8.6.1" + builder-util-runtime "8.6.2" fs-extra "^8.1.0" js-yaml "^3.13.1" lazy-val "^1.0.4" @@ -506,9 +512,9 @@ electron-updater@^4.2.4: semver "^7.1.3" electron@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-8.0.3.tgz#e0488baaa69291e26dc981ea9bc75b5da92c5c88" - integrity sha512-lr/tTr9cBzocREmL8r/P3WKnGqpKeaMFZjNVXDGd3npxwnJVUd7SHQW7LZIhZ1W2XoU3uBwTYbyH43iCIElsqw== + version "8.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-8.2.0.tgz#f3e3de23a6178b5ad7baa70f4814d6332a3212c2" + integrity sha512-mnV43gKCrCUMHLmGws/DU/l8LhaxrFD53A4ofwtthdCqOZWGIdk1+eMphiVumXR5a3lC64XVvmXQ2k28i7F/zw== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -567,29 +573,29 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== extract-zip@^1.0.3: - version "1.6.7" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" - integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: - concat-stream "1.6.2" - debug "2.6.9" - mkdirp "0.5.1" - yauzl "2.4.1" + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" @@ -699,9 +705,9 @@ has-yarn@^2.1.0: integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== hosted-git-info@^2.1.4: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" - integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== hosted-git-info@^3.0.4: version "3.0.4" @@ -711,9 +717,9 @@ hosted-git-info@^3.0.4: lru-cache "^5.1.1" http-cache-semantics@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" - integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== iconv-lite@^0.5.1: version "0.5.1" @@ -798,9 +804,9 @@ isarray@~1.0.0: integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isbinaryfile@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.4.tgz#6803f81a8944201c642b6e17da041e24deb78712" - integrity sha512-pEutbN134CzcjlLS1myKX/uxNjwU5eBVSprvkpv3+3dqhBHUZLIWJQowC40w5c0Zf19vBY8mrZl88y5J4RAPbQ== + version "4.0.5" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.5.tgz#7193454fdd7fc0b12855c36c48d4ac7368fa3ec9" + integrity sha512-Jvz0gpTh1AILHMCBUyqq7xv1ZOQrxTDwyp1/QUq1xFpOBvp4AH5uEobPePJht8KnBGqQIH7We6OR73mXsjG0cA== js-yaml@^3.13.1: version "3.13.1" @@ -826,11 +832,11 @@ json-stringify-safe@^5.0.1: integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== + version "2.1.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.2.tgz#43ef1f0af9835dd624751a6b7fa48874fb2d608e" + integrity sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ== dependencies: - minimist "^1.2.0" + minimist "^1.2.5" jsonfile@^4.0.0: version "4.0.0" @@ -923,22 +929,17 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= +mkdirp@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" + integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== dependencies: - minimist "0.0.8" + minimist "^1.2.5" ms@2.0.0: version "2.0.0" @@ -1054,6 +1055,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -1102,9 +1108,9 @@ read-config-file@5.0.2: lazy-val "^1.0.4" readable-stream@^2.2.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -1115,12 +1121,11 @@ readable-stream@^2.2.2: util-deprecate "~1.0.1" registry-auth-token@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" - integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== + version "4.1.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" + integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== dependencies: rc "^1.2.8" - safe-buffer "^5.0.1" registry-url@^5.0.0: version "5.1.0" @@ -1140,9 +1145,9 @@ require-main-filename@^2.0.0: integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve@^1.10.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff" - integrity sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg== + version "1.15.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" + integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" @@ -1170,11 +1175,6 @@ rsvp@^3.1.0: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== -safe-buffer@^5.0.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -1237,9 +1237,9 @@ set-blocking@^2.0.0: integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== single-instance@^0.0.1: version "0.0.1" @@ -1521,18 +1521,18 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-16.1.0.tgz#73747d53ae187e7b8dbe333f95714c76ea00ecf1" - integrity sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg== +yargs-parser@^18.1.1: + version "18.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" + integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" - integrity sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg== + version "15.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== dependencies: cliui "^6.0.0" decamelize "^1.2.0" @@ -1544,11 +1544,12 @@ yargs@^15.1.0: string-width "^4.2.0" which-module "^2.0.0" y18n "^4.0.0" - yargs-parser "^16.1.0" + yargs-parser "^18.1.1" -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: - fd-slicer "~1.0.1" + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0"