Merge branch 'develop'
This commit is contained in:
commit
87d37ea5ea
16
README.md
16
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)
|
99
art/logo.svg
99
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">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
@ -60,41 +59,45 @@
|
||||
y1="0"
|
||||
x2="24"
|
||||
y2="24"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(0.83333333)" />
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask854">
|
||||
<g
|
||||
style="display:inline;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g860"
|
||||
transform="translate(-2,-2.0142425)"
|
||||
mask="none"
|
||||
clip-path="none">
|
||||
<rect
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="3"
|
||||
y="3"
|
||||
width="18"
|
||||
height="18"
|
||||
rx="2"
|
||||
ry="2"
|
||||
id="rect856" />
|
||||
<line
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x1="9"
|
||||
y1="3"
|
||||
x2="9"
|
||||
y2="21"
|
||||
id="line858" />
|
||||
</g>
|
||||
</mask>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter929">
|
||||
id="filter862">
|
||||
<feBlend
|
||||
inkscape:collect="always"
|
||||
mode="hard-light"
|
||||
in2="BackgroundImage"
|
||||
id="feBlend931" />
|
||||
id="feBlend864" />
|
||||
</filter>
|
||||
<mask
|
||||
maskUnits="userSpaceOnUse"
|
||||
id="mask894">
|
||||
<g
|
||||
id="g900"
|
||||
style="stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<rect
|
||||
id="rect896"
|
||||
ry="2"
|
||||
rx="2"
|
||||
height="18"
|
||||
width="18"
|
||||
y="3"
|
||||
x="3"
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<line
|
||||
id="line898"
|
||||
y2="21"
|
||||
x2="9"
|
||||
y1="3"
|
||||
x1="9"
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</mask>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
@ -109,18 +112,21 @@
|
||||
inkscape:window-height="1353"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="27.812867"
|
||||
inkscape:cx="6.8914249"
|
||||
inkscape:cy="16.985938"
|
||||
inkscape:zoom="39.333334"
|
||||
inkscape:cx="6.9859856"
|
||||
inkscape:cy="12.882666"
|
||||
inkscape:window-x="1934"
|
||||
inkscape:window-y="46"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<g
|
||||
style="display:inline;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g892">
|
||||
id="g892"
|
||||
transform="translate(-2,-2.0142425)"
|
||||
mask="none"
|
||||
clip-path="none">
|
||||
<rect
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="display:inline;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="3"
|
||||
y="3"
|
||||
width="18"
|
||||
@ -129,7 +135,7 @@
|
||||
ry="2"
|
||||
id="rect888" />
|
||||
<line
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
style="display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x1="9"
|
||||
y1="3"
|
||||
x2="9"
|
||||
@ -137,11 +143,12 @@
|
||||
id="line890" />
|
||||
</g>
|
||||
<rect
|
||||
style="display:inline;opacity:1;fill:url(#linearGradient837);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal;filter:url(#filter929)"
|
||||
style="display:inline;opacity:1;fill:url(#linearGradient837);fill-opacity:1;stroke:none;stroke-width:3.33333349;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal;filter:url(#filter862)"
|
||||
id="rect827"
|
||||
width="24"
|
||||
height="24"
|
||||
width="20"
|
||||
height="20"
|
||||
x="0"
|
||||
y="0"
|
||||
mask="url(#mask894)" />
|
||||
mask="url(#mask854)"
|
||||
clip-path="none" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.6 KiB |
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Loading...</title>
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -4,6 +4,8 @@
|
||||
<meta charset="UTF-8">
|
||||
<title>Tabs</title>
|
||||
|
||||
<meta http-equiv="Content-Security-Policy" content="style-src 'self' 'unsafe-inline' https://use.fontawesome.com; font-src 'self' https://use.fontawesome.com; script-src 'self' 'unsafe-inline'">
|
||||
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"
|
||||
integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
|
||||
|
||||
@ -30,6 +32,7 @@
|
||||
|
||||
<div id="services">
|
||||
<div class="loader"></div>
|
||||
<div id="url-preview" class="hidden"></div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
|
@ -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(),
|
||||
});
|
||||
});
|
||||
}
|
@ -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(),
|
||||
});
|
||||
});
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB |
@ -4,6 +4,8 @@
|
||||
<meta charset="UTF-8">
|
||||
<title>Service settings</title>
|
||||
|
||||
<meta http-equiv="Content-Security-Policy" content="style-src 'self' 'unsafe-inline' https://use.fontawesome.com; font-src 'self' https://use.fontawesome.com; script-src 'self' 'unsafe-inline'">
|
||||
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"
|
||||
integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
|
273
yarn.lock
273
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"
|
||||
|
Loading…
Reference in New Issue
Block a user