Electron 8

This commit is contained in:
Mr. Stallion 2020-04-01 17:19:55 -05:00
parent 174b40f587
commit dfb50d731f
10 changed files with 322 additions and 232 deletions

View File

@ -1,6 +1,6 @@
<template>
<!-- hiding elements instead of using 'v-if' is used here as an optimization -->
<div class="image-preview-wrapper" :class="{interactive: sticky}" v-show="visible">
<div class="image-preview-wrapper" :class="{interactive: sticky, visible: visible}">
<div class="image-preview-toolbar" v-show="sticky || debug">
<a @click="toggleDevMode()" :class="{toggled: debug}" title="Debug Mode"><i class="fa fa-terminal"></i></a>
<a @click="toggleJsMode()" :class="{toggled: runJs}" title="Expand Images"><i class="fa fa-magic"></i></a>
@ -44,8 +44,12 @@
import Timer = NodeJS.Timer;
import IpcMessageEvent = Electron.IpcMessageEvent;
const screen = remote.screen;
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'node-fetch';
// import { promises as fs } from 'fs';
const screen = remote.screen;
interface DidFailLoadEvent extends Event {
errorCode: number;
@ -160,8 +164,11 @@
const e = event as DidFailLoadEvent;
if (e.errorCode < 0) {
const url = webview.getURL();
const qjs = this.jsMutator.getMutatorJsForSite(url, 'update-target-url');
console.error('DID FAIL LOAD', event);
const url = this.getUrl() || '';
const qjs = this.jsMutator.getMutatorJsForSite(url, 'update-target-url')
|| this.jsMutator.getMutatorJsForSite(url, 'dom-ready');
// tslint:disable-next-line
this.executeJavaScript(qjs, 'did-fail-load-but-still-loading', event);
@ -254,9 +261,45 @@
},
50
);
// this.initAdBlocker();
}
async initAdBlocker() {
const webview = this.getWebview();
const contents = remote.webContents.fromId(webview.getWebContentsId());
console.log('INITADBLOCKER');
const blocker = await ElectronBlocker.fromLists(
fetch,
[
'https://easylist.to/easylist/easylist.txt',
'https://easylist.to/easylist/easyprivacy.txt', // EasyPrivacy
'https://easylist.to/easylist/fanboy-social.txt', // Fanboy Social
'https://easylist.to/easylist/fanboy-annoyance.txt', // Fanboy Annoyances
'https://filters.adtidy.org/extension/chromium/filters/2.txt', // AdGuard Base
'https://filters.adtidy.org/extension/chromium/filters/11.txt', // AdGuard Mobile Ads
'https://filters.adtidy.org/extension/chromium/filters/4.txt', // AdGuard Social Media
'https://filters.adtidy.org/extension/chromium/filters/14.txt', // AdGuard Annoyances
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt', // uBlock Origin Filters
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt', // uBlock Origin Privacy
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt', // uBlock Origin Resource Abuse
],
{
enableCompression: true,
},
// {
// path: 'engine.bin',
// read: fs.readFile,
// write: fs.writeFile
// }
);
blocker.enableBlockingInSession(contents.session);
}
reRenderStyles(): void {
// tslint:disable-next-line:no-unsafe-any
this.externalPreviewStyle = this.externalPreviewHelper.renderStyle();
@ -476,13 +519,17 @@
return;
}
this.debugLog(`ImagePreview ${context}`, js, logDetails);
this.debugLog(`ImagePreview execute-${context}`, js, logDetails);
const result = await (webview.executeJavaScript(js) as unknown as Promise<any>);
try {
const result = await (webview.executeJavaScript(js) as unknown as Promise<any>);
this.debugLog(`ImagePreview result-${context}`, result);
this.debugLog(`ImagePreview result-${context}`, result);
return result;
return result;
} catch (err) {
this.debugLog(`ImagePreview error-${context}`, err);
}
}
debugLog(...args: any[]): void {
@ -515,6 +562,7 @@
return this.$refs.imagePreviewExt as WebviewTag;
}
reset(): void {
this.externalPreviewHelper = new ExternalImagePreviewHelper(this);
this.localPreviewHelper = new LocalImagePreviewHelper(this);

View File

@ -1,7 +1,7 @@
(() => {
try {
const clear = () => {
if (window.location.href.match(/https?:\/\/(www.)?pornhub.com/)) {
if (window.location.href.match(/^https?:\/\/(www.)?pornhub.com/)) {
if (!window.zest) {
window.zest = (q) => (document.querySelectorAll(q));
}
@ -37,39 +37,38 @@
}
const intervalCount = setInterval(() => {}, 10000);
for (let i = 0; i <= intervalCount; i++) {
try {
clearInterval(i);
} catch (e) {
console.error('Clear interval', i, e);
}
}
const timeoutCount = setTimeout(() => {}, 10000);
for (let i = 0; i <= timeoutCount; i++) {
try {
clearTimeout(i);
} catch (e) {
console.error('Clear timeout', i, e);
}
}
// const intervalCount = setInterval(() => {}, 10000);
//
// for (let i = 0; i <= intervalCount; i++) {
// try {
// clearInterval(i);
// } catch (e) {
// console.error('Clear interval', i, e);
// }
// }
//
//
// const timeoutCount = setTimeout(() => {}, 10000);
//
// for (let i = 0; i <= timeoutCount; i++) {
// try {
// clearTimeout(i);
// } catch (e) {
// console.error('Clear timeout', i, e);
// }
// }
};
console.log('Document loading', Date.now());
clear();
// window.stop();
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed', Date.now());
clear();
});
} catch(e) {
console.error(e);
console.error('browser.pre', e);
console.trace();
}
})();

View File

@ -123,8 +123,8 @@ export class ImagePreviewMutator {
this.add('gelbooru.com', this.getBaseJsMutatorScript(['video', '#image']));
this.add('chan.sankakucomplex.com', this.getBaseJsMutatorScript(['video', '#image']));
this.add('danbooru.donmai.us', this.getBaseJsMutatorScript(['video', '#image']));
this.add('gfycat.com', this.getBaseJsMutatorScript(['video']), undefined, 'dom-ready');
this.add('gfycatporn.com', this.getBaseJsMutatorScript(['video']), undefined, 'dom-ready');
this.add('gfycat.com', this.getBaseJsMutatorScript(['video']) /*, undefined, 'dom-ready' */);
this.add('gfycatporn.com', this.getBaseJsMutatorScript(['video']) /*, undefined, 'dom-ready'*/);
this.add('youtube.com', this.getBaseJsMutatorScript(['video']), undefined, 'dom-ready');
this.add('instantfap.com', this.getBaseJsMutatorScript(['#post video', '#post img']));
this.add('webmshare.com', this.getBaseJsMutatorScript(['video']));
@ -236,24 +236,27 @@ export class ImagePreviewMutator {
['width', 'height'],
];
const imSize = sizePairs.reduce(
(acc, val) => {
if ((acc.width) && (acc.height)) {
return acc;
}
if ((img[val[0]]) && (img[val[1]])) {
return {
width: img[val[0]],
height: img[val[1]]
const resolveImgSize = function() {
return sizePairs.reduce(
(acc, val) => {
if ((acc.width) && (acc.height)) {
return acc;
}
}
return acc;
},
{}
);
if ((img[val[0]]) && (img[val[1]])) {
return {
width: img[val[0]],
height: img[val[1]]
}
}
return acc;
},
{}
);
}
const imSize = resolveImgSize();
ipcRenderer.sendToHost('webview.img', imSize.width, imSize.height);
const el = document.createElement('div');
@ -285,14 +288,14 @@ export class ImagePreviewMutator {
body.style = 'border: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;'
+ 'width: 100% !important; height: 100% !important; opacity: 1 !important;'
+ 'top: 0 !important; left: 0 !important; position: absolute !important;'
+ 'min-width: unset !important; min-height: unset !important; max-width: unset !important; max-height: unset !important;'
+ 'min-width: initial !important; min-height: initial !important; max-width: initial !important; max-height: initial !important;'
+ 'display: block !important; visibility: visible !important';
img.style = 'object-position: top left !important; object-fit: contain !important;'
+ 'width: 100% !important; height: 100% !important; opacity: 1 !important;'
+ 'margin: 0 !imporant; border: 0 !important; padding: 0 !important;'
+ 'min-width: unset !important; min-height: unset !important; max-width: unset !important; max-height: unset !important;'
+ 'display: block !important; visibility: visible !important';
+ 'min-width: initial !important; min-height: initial !important; max-width: initial !important; max-height: initial !important;'
+ 'display: block !important; visibility: visible !important;';
img.class = '';
el.class = '';
@ -301,7 +304,7 @@ export class ImagePreviewMutator {
html.style = 'border: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;'
+ 'width: 100% !important; height: 100% !important; opacity: 1 !important;'
+ 'top: 0 !important; left: 0 !important; position: absolute !important;'
+ 'min-width: unset !important; min-height: unset !important; max-width: unset !important; max-height: unset !important;'
+ 'min-width: initial !important; min-height: initial !important; max-width: initial !important; max-height: initial !important;'
+ 'display: block !important; visibility: visible !important';
${this.debug ? "console.log('Wrapper', el);" : ''}
@ -327,7 +330,8 @@ export class ImagePreviewMutator {
document.addEventListener('DOMContentLoaded', (event) => {
${this.debug ? "console.log('on DOMContentLoaded');" : ''}
ipcRenderer.sendToHost('webview.img', img.width || img.naturalWidth, img.height || img.naturalHeight);
const imSize = resolveImgSize();
ipcRenderer.sendToHost('webview.img', imSize.width, imSize.height);
if (
(img.play)
@ -339,7 +343,8 @@ export class ImagePreviewMutator {
document.addEventListener('load', (event) => {
${this.debug ? "console.log('on load');" : ''}
ipcRenderer.sendToHost('webview.img', img.width || img.naturalWidth, img.height || img.naturalHeight);
const imSize = resolveImgSize();
ipcRenderer.sendToHost('webview.img', imSize.width, imSize.height);
if (
(img.play)
@ -369,8 +374,6 @@ export class ImagePreviewMutator {
${skipElementRemove ? '' : 'removeList.forEach((el) => el.remove());'}
removeList = [];
window.stop();
`;
}

View File

@ -37,6 +37,15 @@ export class ImageUrlMutator {
}
);
this.add(
/^https?:\/\/(www.)?gfycat.com\/([a-z0-9A-Z\-]+)\/?$/,
async(_url: string, match: RegExpMatchArray): Promise<string> => {
const gfyId = match[2];
return `https://gfycat.com/ifr/${gfyId}?controls=0&hd=1`;
}
);
this.add(
/^https?:\/\/imgur.com\/gallery\/([a-zA-Z0-9]+)/,
async(url: string, match: RegExpMatchArray): Promise<string> => {

View File

@ -85,7 +85,7 @@
@Hook('mounted')
async mounted(): Promise<void> {
// top bar devtools
// browserWindow.webContents.openDevTools( { mode: 'detach' } );
browserWindow.webContents.openDevTools( { mode: 'detach' } );
await this.addTab();
@ -196,10 +196,10 @@
const tray = new electron.remote.Tray(trayIcon);
tray.setToolTip(l('title'));
tray.on('click', (_) => this.trayClicked(tab));
const view = new electron.remote.BrowserView({webPreferences: {webviewTag: true, nodeIntegration: true}});
const view = new electron.remote.BrowserView({webPreferences: {webviewTag: true, nodeIntegration: true, spellcheck: true}});
// tab devtools
// view.webContents.openDevTools();
view.webContents.openDevTools();
view.setAutoResize({width: true, height: true});
electron.ipcRenderer.send('tab-added', view.webContents.id);

View File

@ -47,18 +47,19 @@ import {setupRaven} from '../chat/vue-raven';
import Socket from '../chat/WebSocket';
import Connection from '../fchat/connection';
import {Keys} from '../keys';
import {GeneralSettings, nativeRequire} from './common';
import {GeneralSettings /*, nativeRequire*/ } from './common';
import {Logs, SettingsStore} from './filesystem';
import Notifications from './notifications';
import * as SlimcatImporter from './importer';
import Index from './Index.vue';
document.addEventListener('keydown', (e: KeyboardEvent) => {
if(e.ctrlKey && e.shiftKey && getKey(e) === Keys.KeyI)
electron.remote.getCurrentWebContents().toggleDevTools();
});
process.env.SPELLCHECKER_PREFER_HUNSPELL = '1';
/* process.env.SPELLCHECKER_PREFER_HUNSPELL = '1';
const sc = nativeRequire<{
Spellchecker: new() => {
add(word: string): void
@ -68,7 +69,7 @@ const sc = nativeRequire<{
getCorrectionsForMisspelling(word: string): ReadonlyArray<string>
}
}>('spellchecker/build/Release/spellchecker.node');
const spellchecker = new sc.Spellchecker();
const spellchecker = new sc.Spellchecker();*/
Axios.defaults.params = {__fchat: `desktop/${electron.remote.app.getVersion()}`};
@ -160,17 +161,17 @@ webContents.on('context-menu', (_, props) => {
click: () => electron.clipboard.writeText(props.selectionText)
});
if(props.misspelledWord !== '') {
const corrections = spellchecker.getCorrectionsForMisspelling(props.misspelledWord);
menuTemplate.unshift({
label: l('spellchecker.add'),
click: () => electron.ipcRenderer.send('dictionary-add', props.misspelledWord)
}, {type: 'separator'});
if(corrections.length > 0)
menuTemplate.unshift(...corrections.map((correction: string) => ({
label: correction,
click: () => webContents.replaceMisspelling(correction)
})));
else menuTemplate.unshift({enabled: false, label: l('spellchecker.noCorrections')});
// const corrections = spellchecker.getCorrectionsForMisspelling(props.misspelledWord);
// menuTemplate.unshift({
// label: l('spellchecker.add'),
// click: () => electron.ipcRenderer.send('dictionary-add', props.misspelledWord)
// }, {type: 'separator'});
// if(corrections.length > 0)
// menuTemplate.unshift(...corrections.map((correction: string) => ({
// label: correction,
// click: () => webContents.replaceMisspelling(correction)
// })));
// else menuTemplate.unshift({enabled: false, label: l('spellchecker.noCorrections')});
} else if(settings.customDictionary.indexOf(props.selectionText) !== -1)
menuTemplate.unshift({
label: l('spellchecker.remove'),
@ -181,14 +182,17 @@ webContents.on('context-menu', (_, props) => {
});
let dictDir = path.join(electron.remote.app.getPath('userData'), 'spellchecker');
if(process.platform === 'win32') //get the path in DOS (8-character) format as special characters cause problems otherwise
exec(`for /d %I in ("${dictDir}") do @echo %~sI`, (_, stdout) => dictDir = stdout.trim());
electron.webFrame.setSpellCheckProvider('', {spellCheck: (words, callback) => callback(words.filter((x) => spellchecker.isMisspelled(x)))});
// electron.webFrame.setSpellCheckProvider('', {spellCheck: (words, callback) => callback(words.filter((x) => spellchecker.isMisspelled(x)))});
function onSettings(s: GeneralSettings): void {
settings = s;
spellchecker.setDictionary(s.spellcheckLang, dictDir);
for(const word of s.customDictionary) spellchecker.add(word);
// spellchecker.setDictionary(s.spellcheckLang, dictDir);
// for(const word of s.customDictionary) spellchecker.add(word);
}
electron.ipcRenderer.on('settings', (_: Event, s: GeneralSettings) => onSettings(s));

View File

@ -45,6 +45,8 @@ import {ensureDictionary, getAvailableDictionaries} from './dictionaries';
import * as windowState from './window_state';
import BrowserWindow = Electron.BrowserWindow;
import MenuItem = Electron.MenuItem;
import { ElectronBlocker } from '@cliqz/adblocker-electron';
import fetch from 'node-fetch';
// Module to control application life.
const app = electron.app;
@ -124,7 +126,7 @@ function createWindow(): Electron.BrowserWindow | undefined {
const lastState = windowState.getSavedWindowState();
const windowProperties: Electron.BrowserWindowConstructorOptions & {maximized: boolean} = {
...lastState, center: lastState.x === undefined, show: false,
webPreferences: { webviewTag: true, nodeIntegration: true }
webPreferences: { webviewTag: true, nodeIntegration: true, spellcheck: true }
};
if(process.platform === 'darwin') {
@ -137,6 +139,39 @@ function createWindow(): Electron.BrowserWindow | undefined {
const window = new electron.BrowserWindow(windowProperties);
windows.push(window);
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch)
.then(
(blocker) => {
blocker.enableBlockingInSession(electron.session.defaultSession);
console.log('Got this far!!!!');
blocker.on('request-blocked', (request: Request) => {
console.log('blocked', request.url);
});
blocker.on('request-redirected', (request: Request) => {
console.log('redirected', request.url);
});
blocker.on('request-whitelisted', (request: Request) => {
console.log('whitelisted', request.url);
});
blocker.on('csp-injected', (request: Request) => {
console.log('csp', request.url);
});
blocker.on('script-injected', (script: string, url: string) => {
console.log('script', script.length, url);
});
blocker.on('style-injected', (style: string, url: string) => {
console.log('style', style.length, url);
});
}
);
window.loadFile(
path.join(__dirname, 'window.html'),
{
@ -144,6 +179,7 @@ function createWindow(): Electron.BrowserWindow | undefined {
}
);
// window.loadURL(url.format({ //tslint:disable-line:no-floating-promises
// pathname: path.join(__dirname, 'window.html'),
// protocol: 'file:',

View File

@ -20,7 +20,7 @@ const modules = path.join(__dirname, 'app', 'node_modules');
// fs.copyFileSync(require.resolve(keytarPath), path.join(modules, keytarPath));
const includedPaths = [
'spellchecker/build/Release/spellchecker.node',
// 'spellchecker/build/Release/spellchecker.node',
'keytar/build/Release/keytar.node',
'throat'
];

View File

@ -9,15 +9,16 @@
"@f-list/vue-ts": "^1.0.3",
"@fortawesome/fontawesome-free": "^5.9.0",
"@types/lodash": "^4.14.134",
"@types/node-fetch": "^2.5.5",
"@types/qs": "^6.9.1",
"@types/sortablejs": "^1.7.2",
"@vue/devtools": "^5.1.0",
"axios": "^0.19.0",
"bootstrap": "^4.3.1",
"css-loader": "^3.0.0",
"copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.0.0",
"date-fns": "^1.30.1",
"electron": "^5.0.4",
"electron": "^8.2.0",
"electron-log": "^3.0.1",
"electron-packager": "^14.0.0",
"electron-rebuild": "^1.8.4",
@ -42,8 +43,9 @@
"webpack": "^4.35.0"
},
"dependencies": {
"@cliqz/adblocker-electron": "^1.13.0",
"keytar": "^4.10.0",
"spellchecker": "^3.6.0"
"node-fetch": "^2.6.0"
},
"optionalDependencies": {
"appdmg": "^0.6.0",
@ -51,6 +53,6 @@
"electron-winstaller": "^3.0.4"
},
"scripts": {
"postinstall": "electron-rebuild -fo spellchecker,keytar"
"postinstall": "electron-rebuild -fo keytar"
}
}

287
yarn.lock
View File

@ -25,6 +25,37 @@
dependencies:
regenerator-runtime "^0.13.4"
"@cliqz/adblocker-content@^1.13.0":
version "1.13.0"
resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.13.0.tgz#0301fd77b8b821893d53d0c6d02d3b26e028c4f7"
integrity sha512-2kStPzaON6qLe+/fY1mKnrRcmgnt2ZNJM6HJW+pcINquk6uEQ60R4kObbOJdVqtoKtGEH4OjyiOUUej2xxTxrg==
"@cliqz/adblocker-electron-preload@^1.13.0":
version "1.13.0"
resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.13.0.tgz#83e90d196244d5498789df4e3f780855cb056348"
integrity sha512-kUQm/s3R8WxYKsXFCN15GW1G4VWvXxMI+37KtY/9Chbi23GwgYe8T8J1Qx+GxLWiQU7X4xFgvkjySw5Le57VKA==
dependencies:
"@cliqz/adblocker-content" "^1.13.0"
"@cliqz/adblocker-electron@^1.13.0":
version "1.13.0"
resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.13.0.tgz#848244f7cdab7dbde2601b096664c9f57c817dc8"
integrity sha512-G6C88p0kDpucNx4lPSfv4HU96gT2XJifWajdND3oFX+zvhuq09eT3RHxzANLLAfKV2XnMZQ6OtfdmIzuZHZ3rQ==
dependencies:
"@cliqz/adblocker" "^1.13.0"
"@cliqz/adblocker-electron-preload" "^1.13.0"
tldts-experimental "^5.6.3"
"@cliqz/adblocker@^1.13.0":
version "1.13.0"
resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.13.0.tgz#e3b77c9226dc5906d100a7e60f5e4f1636dbe574"
integrity sha512-6QQmUqsHBUOtPT7xRkSAojiT/mrLYagfmdMudlOVskF/+Rm78zLJBg0HxRGl4rCZsxTaFVl8Wy87dz32Xa4mTA==
dependencies:
"@remusao/smaz" "^1.7.1"
"@types/chrome" "^0.0.103"
"@types/firefox-webext-browser" "^70.0.1"
tldts-experimental "^5.6.3"
"@electron/get@^1.0.1", "@electron/get@^1.6.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.9.0.tgz#7fa6e61d7ff50fb82a8a41f437af7de3b97aa9a5"
@ -68,6 +99,31 @@
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.1.tgz#2a98fea9fbb8a606ddc79a4680034e9d5591c550"
integrity sha512-ZtjIIFplxncqxvogq148C3hBLQE+W3iJ8E4UvJ09zIJUgzwLcROsWwFDErVSXY2Plzao5J9KUYNHKHMEUYDMKw==
"@remusao/smaz-compress@^1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.8.0.tgz#efdc3857cec1396349e52e44b89891e617448024"
integrity sha512-gDlnWyYmDppwdVZZkBuN8/gzpcqxFwEEev8QxyArWbOn/1rIXMfnm+bwY/N80rmakHTWaybL0yNxTMJSoVXrUw==
dependencies:
"@remusao/trie" "^1.3.0"
"@remusao/smaz-decompress@^1.8.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.8.0.tgz#32cea68586d6d67a4b30c561d1ccde527805e3d7"
integrity sha512-DDGL8wB2L1OUPbUEashqBQzuEVk1xmVOR+35lERkwl3Qg5UoiL//9GWSq38jq8XlTqUG5R+BY2dQa4XX2NDeeQ==
"@remusao/smaz@^1.7.1":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.8.0.tgz#6b03c39f99afaafa2113772cae900fad896061c0"
integrity sha512-tpyluMIHQSCOX1VHBBrn7KP+S1m/fovJg9Tizo06qR9OYopYehDqkuBJGLnUthE3uhm7tbxb1XI2IN4tUjOFhw==
dependencies:
"@remusao/smaz-compress" "^1.8.0"
"@remusao/smaz-decompress" "^1.8.0"
"@remusao/trie@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.3.0.tgz#146b6f7f223d29db7106c19b9f4d4fab2754986a"
integrity sha512-IykMLl0vr8L1sJzvtGR4izkNh1Ous2njaeC4NEvAcfALCdCo7Y4VpISU0I8DaZFU2lGAFKyeh2Jz4WaM/3hbEw==
"@sindresorhus/is@^0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@ -80,11 +136,36 @@
dependencies:
defer-to-connect "^1.0.1"
"@types/chrome@^0.0.103":
version "0.0.103"
resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.103.tgz#604f3d94ab4465cc8cde302c4916f4955eb7e8b6"
integrity sha512-s8So1IG1fIu2dg2MRV3k6W5OjlVaJriNXIxIWDHi+Rdz5dLeuzPKcWzkVlcaVL4gONfn44JKC0RhW+P0UohLfg==
dependencies:
"@types/filesystem" "*"
"@types/har-format" "*"
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
"@types/filesystem@*":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.29.tgz#ee3748eb5be140dcf980c3bd35f11aec5f7a3748"
integrity sha512-85/1KfRedmfPGsbK8YzeaQUyV1FQAvMPMTuWFQ5EkLd2w7szhNO96bk3Rh/SKmOfd9co2rCLf0Voy4o7ECBOvw==
dependencies:
"@types/filewriter" "*"
"@types/filewriter@*":
version "0.0.28"
resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.28.tgz#c054e8af4d9dd75db4e63abc76f885168714d4b3"
integrity sha1-wFTor02d11205jq8dviFFocU1LM=
"@types/firefox-webext-browser@^70.0.1":
version "70.0.1"
resolved "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-70.0.1.tgz#53a3915bfbe25e2c5ec439dbdbe6e303610012bb"
integrity sha512-hjHsTR9vKs+yikWbNS/s7TVCx15M/MEn+VYx47wtT/W/wORsIZDD75gfUfP7lkzi+IxRvKMQBB/5/wMFlfgvgQ==
"@types/glob@^7.1.1":
version "7.1.1"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
@ -94,6 +175,11 @@
"@types/minimatch" "*"
"@types/node" "*"
"@types/har-format@*":
version "1.2.4"
resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.4.tgz#3275842095abb60d14b47fa798cc9ff708dab6d4"
integrity sha512-iUxzm1meBm3stxUMzRqgOVHjj4Kgpgu5w9fm4X7kPRfSgVRzythsucEN7/jtOo8SQzm+HfcxWWzJS0mJDH/3DQ==
"@types/lodash@^4.14.134":
version "4.14.149"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440"
@ -104,16 +190,19 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node-fetch@^2.5.5":
version "2.5.5"
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.5.tgz#cd264e20a81f4600a6c52864d38e7fef72485e92"
integrity sha512-IWwjsyYjGw+em3xTvWVQi5MgYKbRs0du57klfTaZkv/B24AEQ/p/IopNeqIYNy3EsfHOpg8ieQSDomPcsYMHpA==
dependencies:
"@types/node" "*"
form-data "^3.0.0"
"@types/node@*":
version "13.9.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.1.tgz#96f606f8cd67fb018847d9b61e93997dabdefc72"
integrity sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ==
"@types/node@^10.12.18":
version "10.17.17"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.17.tgz#7a183163a9e6ff720d86502db23ba4aade5999b8"
integrity sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==
"@types/node@^12.0.12":
version "12.12.30"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.30.tgz#3501e6f09b954de9c404671cefdbcc5d9d7c45f6"
@ -401,11 +490,6 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
any-promise@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@ -1272,7 +1356,7 @@ colors@^1.3.3:
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
combined-stream@^1.0.6, combined-stream@~1.0.6:
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@ -1702,7 +1786,7 @@ de-indent@^1.0.2:
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.5.1, debug@^2.6.8:
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.5.1, debug@^2.6.8:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@ -1716,7 +1800,7 @@ debug@=3.1.0, debug@~3.1.0:
dependencies:
ms "2.0.0"
debug@^3.0.0, debug@^3.1.0:
debug@^3.1.0:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
@ -1927,21 +2011,6 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-download@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-4.1.1.tgz#02e69556705cc456e520f9e035556ed5a015ebe8"
integrity sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==
dependencies:
debug "^3.0.0"
env-paths "^1.0.0"
fs-extra "^4.0.1"
minimist "^1.2.0"
nugget "^2.0.1"
path-exists "^3.0.0"
rc "^1.2.1"
semver "^5.4.1"
sumchecker "^2.0.2"
electron-log@^3.0.1:
version "3.0.9"
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-3.0.9.tgz#53ff1fcdb2f3e4a73ea7096d2f7204121109ec6f"
@ -2030,15 +2099,6 @@ electron-winstaller@^3.0.4:
pify "^4.0.1"
temp "^0.9.0"
electron@^5.0.4:
version "5.0.13"
resolved "https://registry.yarnpkg.com/electron/-/electron-5.0.13.tgz#81d44f2078fb13d306279cf3854d3734f2c390b4"
integrity sha512-AM73AMZpb/5zm8eIXsIcp2eMdniD5WO+FqMtlIzhhtSjixflDm0pLtgudz0fHtiT/w6V+6YcpDVb4TtHtrJbHQ==
dependencies:
"@types/node" "^10.12.18"
electron-download "^4.1.0"
extract-zip "^1.0.3"
electron@^7.0.0:
version "7.1.14"
resolved "https://registry.yarnpkg.com/electron/-/electron-7.1.14.tgz#1a58aa5968677a4fe564442f3b72771166c8904c"
@ -2048,6 +2108,15 @@ electron@^7.0.0:
"@types/node" "^12.0.12"
extract-zip "^1.0.3"
electron@^8.2.0:
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"
extract-zip "^1.0.3"
elliptic@^6.0.0:
version "6.5.2"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
@ -2137,11 +2206,6 @@ entities@^2.0.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==
env-paths@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0"
integrity sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=
env-paths@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
@ -2522,6 +2586,15 @@ forever-agent@~0.6.1:
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@ -2561,7 +2634,7 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
fs-extra@^4.0.0, fs-extra@^4.0.1:
fs-extra@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
@ -3409,11 +3482,6 @@ is-wsl@^1.1.0:
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@ -3809,7 +3877,7 @@ memory-fs@^0.5.0:
errno "^0.1.3"
readable-stream "^2.0.1"
meow@^3.1.0, meow@^3.7.0:
meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
@ -3931,7 +3999,7 @@ minimist@0.0.8:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
minimist@^1.1.3, minimist@^1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@ -4018,7 +4086,7 @@ murmur-32@^0.1.0:
fmix "^0.1.0"
imul "^1.0.0"
nan@2.14.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.4.0:
nan@2.14.0, nan@^2.12.1, nan@^2.13.2, nan@^2.4.0:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
@ -4067,6 +4135,11 @@ node-abi@^2.11.0, node-abi@^2.7.0:
dependencies:
semver "^5.4.1"
node-fetch@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
node-gyp@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
@ -4245,19 +4318,6 @@ nth-check@^1.0.2:
dependencies:
boolbase "~1.0.0"
nugget@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0"
integrity sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=
dependencies:
debug "^2.1.3"
minimist "^1.1.0"
pretty-bytes "^1.0.2"
progress-stream "^1.1.0"
request "^2.45.0"
single-line-log "^1.1.2"
throttleit "0.0.2"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
@ -4297,11 +4357,6 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
object-keys@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@ -5035,14 +5090,6 @@ prettier@^1.18.2:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
pretty-bytes@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84"
integrity sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=
dependencies:
get-stdin "^4.0.1"
meow "^3.1.0"
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@ -5053,14 +5100,6 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
progress-stream@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77"
integrity sha1-LNPP6jO6OonJwSHsM0er6asSX3c=
dependencies:
speedometer "~0.1.2"
through2 "~0.2.3"
progress@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
@ -5232,7 +5271,7 @@ raw-body@2.4.0:
iconv-lite "0.4.24"
unpipe "1.0.0"
rc@^1.2.1, rc@^1.2.7:
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
@ -5294,16 +5333,6 @@ read-pkg@^2.0.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@ -5368,7 +5397,7 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
request@^2.45.0, request@^2.87.0, request@^2.88.0:
request@^2.87.0, request@^2.88.0:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@ -5735,13 +5764,6 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
single-line-log@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364"
integrity sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=
dependencies:
string-width "^1.0.1"
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@ -5918,19 +5940,6 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
speedometer@~0.1.2:
version "0.1.4"
resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d"
integrity sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=
spellchecker@^3.6.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/spellchecker/-/spellchecker-3.7.0.tgz#d63e6fd612352b0108e7bbf942f271665ff63c8b"
integrity sha512-saQT4BR9nivbK70s0YjyIlSbZzO6bfWRULcGL2JU7fi7wotOnWl70P0QoUwwLywNQJQ47osgCo6GmOlqzRTxbQ==
dependencies:
any-promise "^1.3.0"
nan "^2.14.0"
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@ -6081,11 +6090,6 @@ string_decoder@^1.0.0:
dependencies:
safe-buffer "~5.2.0"
string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@ -6160,13 +6164,6 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
sumchecker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e"
integrity sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=
dependencies:
debug "^2.2.0"
sumchecker@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
@ -6298,11 +6295,6 @@ throat@^5.0.0:
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
throttleit@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8=
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@ -6311,14 +6303,6 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
through2@~0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f"
integrity sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=
dependencies:
readable-stream "~1.1.9"
xtend "~2.1.1"
timers-browserify@^2.0.4:
version "2.0.11"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
@ -6331,6 +6315,18 @@ timsort@^0.3.0:
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
tldts-core@^5.6.17:
version "5.6.17"
resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.6.17.tgz#32ecfd710173a1841fe4e1447ff827b98cacfed1"
integrity sha512-34o7eZ1DR2OxotxKCtFYceTHJRwSnFzhIz3hL6Mbker0aPlVysy/nFxixC8LUREo8ytzPd6HbsR2Tm/WVgrcwA==
tldts-experimental@^5.6.3:
version "5.6.17"
resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.6.17.tgz#6c94e18fafb598784659d28e0127e99ee2dfbfb5"
integrity sha512-pdesifhl8cmjUFLrnVMG0YkO+VlJuKlfgmFUehBR20Ow1gPw/6oZAP0m2WVoejyCSWYC6TNjMSO720VuLNtEHg==
dependencies:
tldts-core "^5.6.17"
tmp-promise@^1.0.5:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-1.1.0.tgz#bb924d239029157b9bc1d506a6aa341f8b13e64c"
@ -6899,13 +6895,6 @@ xtend@^4.0.0, xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
xtend@~2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
dependencies:
object-keys "~0.4.0"
y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"