Added splash screen that shows recent files
Choosing open file will go to the last opened directory
This commit is contained in:
parent
5c6438764b
commit
606b358d5d
@ -46,6 +46,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"electron-squirrel-startup": "^1.0.0",
|
"electron-squirrel-startup": "^1.0.0",
|
||||||
|
"electron-store": "^6.0.1",
|
||||||
"jquery": "^3.5.1",
|
"jquery": "^3.5.1",
|
||||||
"jsdom": "^16.4.0"
|
"jsdom": "^16.4.0"
|
||||||
},
|
},
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
body {
|
body {
|
||||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||||
padding: 2rem;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
#editor {
|
|
||||||
|
.editor {
|
||||||
|
padding: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tables {
|
#tables {
|
||||||
@ -37,3 +38,16 @@ td > textarea {
|
|||||||
height: 5em;
|
height: 5em;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: #dedede;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: #888;
|
||||||
|
}
|
||||||
|
@ -2,15 +2,18 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Hello World!</title>
|
<title>Web Editor</title>
|
||||||
<link rel="stylesheet" href="css/w3.css">
|
<link rel="stylesheet" href="css/w3.css">
|
||||||
<link rel="stylesheet" href="css/index.css">
|
<link rel="stylesheet" href="css/index.css">
|
||||||
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
|
<script>if (typeof module === 'object') {
|
||||||
|
window.module = module;
|
||||||
|
module = undefined;
|
||||||
|
}</script>
|
||||||
<script src="js/jquery-3.5.1.min.js"></script>
|
<script src="js/jquery-3.5.1.min.js"></script>
|
||||||
<script src="js/w3.js"></script>
|
<script src="js/w3.js"></script>
|
||||||
<script>if (window.module) module = window.module;</script>
|
<script>if (window.module) module = window.module;</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="editor">
|
||||||
|
|
||||||
<nav id="nav" class="w3-bar"></nav>
|
<nav id="nav" class="w3-bar"></nav>
|
||||||
|
|
||||||
|
117
src/index.js
117
src/index.js
@ -1,16 +1,19 @@
|
|||||||
const { app, BrowserWindow, dialog, Menu } = require('electron');
|
const { app, BrowserWindow, dialog, Menu } = require('electron');
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const {ipcMain} = require("electron")
|
const {ipcMain} = require("electron");
|
||||||
|
const Store = require("electron-store");
|
||||||
|
|
||||||
var jsdom = require("jsdom");
|
var jsdom = require("jsdom");
|
||||||
const { JSDOM } = jsdom;
|
const { JSDOM } = jsdom;
|
||||||
const { window } = new JSDOM();
|
const { window } = new JSDOM();
|
||||||
const { document } = (new JSDOM('')).window;
|
const { document } = (new JSDOM('')).window;
|
||||||
|
const store = new Store();
|
||||||
global.document = document;
|
global.document = document;
|
||||||
|
|
||||||
var $ = jQuery = require('jquery')(window);
|
var $ = jQuery = require('jquery')(window);
|
||||||
|
|
||||||
let mainWindow = null;
|
let mainWindow = null;
|
||||||
|
let splash_screen = null;
|
||||||
let save_data = {
|
let save_data = {
|
||||||
file_path: null
|
file_path: null
|
||||||
}
|
}
|
||||||
@ -35,26 +38,7 @@ let menu_template = [
|
|||||||
{
|
{
|
||||||
label: "Open",
|
label: "Open",
|
||||||
accelerator: "Ctrl+O",
|
accelerator: "Ctrl+O",
|
||||||
click: function () {
|
click: openFile
|
||||||
let options = {
|
|
||||||
//Placeholder 1
|
|
||||||
title: "Open website data",
|
|
||||||
|
|
||||||
//Placeholder 2
|
|
||||||
defaultPath : app.getPath("documents"),
|
|
||||||
|
|
||||||
//Placeholder 3
|
|
||||||
filters :[
|
|
||||||
{name: 'json', extensions: ['json']},
|
|
||||||
{name: 'All Files', extensions: ['*']}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
let file = dialog.showOpenDialogSync(options);
|
|
||||||
if (file) {
|
|
||||||
save_data.file_path = file[0];
|
|
||||||
mainWindow.webContents.send("open", save_data.file_path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Exit",
|
label: "Exit",
|
||||||
@ -66,6 +50,40 @@ let menu_template = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
function openFile() {
|
||||||
|
let options = {
|
||||||
|
//Placeholder 1
|
||||||
|
title: "Open website data",
|
||||||
|
|
||||||
|
//Placeholder 2
|
||||||
|
defaultPath : store.get("default_dir", app.getPath("documents")),
|
||||||
|
|
||||||
|
//Placeholder 3
|
||||||
|
filters :[
|
||||||
|
{name: 'json', extensions: ['json']},
|
||||||
|
{name: 'All Files', extensions: ['*']}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
let file = dialog.showOpenDialogSync(options);
|
||||||
|
if (file) {
|
||||||
|
store.set("default_dir", file[0])
|
||||||
|
save_data.file_path = file[0];
|
||||||
|
if (mainWindow) {
|
||||||
|
mainWindow.webContents.send("open", save_data.file_path);
|
||||||
|
} else {
|
||||||
|
loadFile(file[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFile(file_name) {
|
||||||
|
createWindow();
|
||||||
|
mainWindow.webContents.once("dom-ready", () => {
|
||||||
|
mainWindow.webContents.send("open", file_name);
|
||||||
|
splash_screen.close();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function sanitizeName(table_name) {
|
function sanitizeName(table_name) {
|
||||||
let pattern = " !@#$%^&*()_+=/?.,<>;':\"[]{}\\`~|-"
|
let pattern = " !@#$%^&*()_+=/?.,<>;':\"[]{}\\`~|-"
|
||||||
let new_name = table_name.toLowerCase();
|
let new_name = table_name.toLowerCase();
|
||||||
@ -174,6 +192,29 @@ ipcMain.on("save", (event, data, new_file) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipcMain.on("loadFile", (event, file_name) => {
|
||||||
|
loadFile();
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.on("newFile", (event) => {
|
||||||
|
createWindow();
|
||||||
|
mainWindow.webContents.once("dom-ready", () => {
|
||||||
|
splash_screen.close();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.on("openFile", (event) => {
|
||||||
|
openFile();
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.handle("getStoreValue", (event, key) => {
|
||||||
|
return store.get(key);
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.handle("setStoreValue", (event, key, value) => {
|
||||||
|
store.set(key, value);
|
||||||
|
})
|
||||||
|
|
||||||
// Handle creating/removing shortcuts on Windows when installing/uninstalling.
|
// Handle creating/removing shortcuts on Windows when installing/uninstalling.
|
||||||
if (require('electron-squirrel-startup')) { // eslint-disable-line global-require
|
if (require('electron-squirrel-startup')) { // eslint-disable-line global-require
|
||||||
app.quit();
|
app.quit();
|
||||||
@ -182,8 +223,8 @@ if (require('electron-squirrel-startup')) { // eslint-disable-line global-requir
|
|||||||
const createWindow = () => {
|
const createWindow = () => {
|
||||||
// Create the browser window.
|
// Create the browser window.
|
||||||
mainWindow = new BrowserWindow({
|
mainWindow = new BrowserWindow({
|
||||||
width: 800,
|
width: 900,
|
||||||
height: 600,
|
height: 700,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
@ -199,10 +240,38 @@ const createWindow = () => {
|
|||||||
// mainWindow.webContents.openDevTools();
|
// mainWindow.webContents.openDevTools();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const splashScreen = () => {
|
||||||
|
// Create the browser window.
|
||||||
|
splash_screen = new BrowserWindow({
|
||||||
|
width: 806,
|
||||||
|
height: 529,
|
||||||
|
webPreferences: {
|
||||||
|
nodeIntegration: true
|
||||||
|
},
|
||||||
|
autoHideMenuBar: true,
|
||||||
|
resizable: false,
|
||||||
|
frame: true
|
||||||
|
});
|
||||||
|
|
||||||
|
let menu = Menu.buildFromTemplate(menu_template);
|
||||||
|
Menu.setApplicationMenu(menu);
|
||||||
|
|
||||||
|
if (!store.has("recent_files")) {
|
||||||
|
store.set("recent_files", []);
|
||||||
|
}
|
||||||
|
|
||||||
|
// and load the index.html of the app.
|
||||||
|
splash_screen.loadFile('src/splash.html');
|
||||||
|
|
||||||
|
// Open the DevTools.
|
||||||
|
// splash_screen.webContents.openDevTools();
|
||||||
|
// store.openInEditor();
|
||||||
|
};
|
||||||
|
|
||||||
// This method will be called when Electron has finished
|
// This method will be called when Electron has finished
|
||||||
// initialization and is ready to create browser windows.
|
// initialization and is ready to create browser windows.
|
||||||
// Some APIs can only be used after this event occurs.
|
// Some APIs can only be used after this event occurs.
|
||||||
app.on('ready', createWindow);
|
app.on('ready', splashScreen);
|
||||||
|
|
||||||
// Quit when all windows are closed, except on macOS. There, it's common
|
// Quit when all windows are closed, except on macOS. There, it's common
|
||||||
// for applications and their menu bar to stay active until the user quits
|
// for applications and their menu bar to stay active until the user quits
|
||||||
|
@ -614,10 +614,21 @@ function openFile(file_path) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function updateRecentFiles(new_file) {
|
||||||
|
let recent_files = await ipcRenderer.invoke("getStoreValue", "recent_files");
|
||||||
|
if (recent_files.includes(new_file)) {
|
||||||
|
recent_files.splice(recent_files.indexOf(new_file), 1);
|
||||||
|
// delete recent_files[recent_files.indexOf(new_file)];
|
||||||
|
}
|
||||||
|
recent_files.splice(0, 0, new_file);
|
||||||
|
ipcRenderer.invoke("setStoreValue", "recent_files", recent_files);
|
||||||
|
}
|
||||||
|
|
||||||
ipcRenderer.on("save", (event, new_file) => {
|
ipcRenderer.on("save", (event, new_file) => {
|
||||||
saveFile(new_file);
|
saveFile(new_file);
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcRenderer.on("open", (event, file_path) => {
|
ipcRenderer.on("open", (event, file_path) => {
|
||||||
|
updateRecentFiles(file_path);
|
||||||
openFile(file_path);
|
openFile(file_path);
|
||||||
})
|
})
|
53
src/splash.html
Normal file
53
src/splash.html
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Web Editor</title>
|
||||||
|
<link rel="stylesheet" href="css/w3.css">
|
||||||
|
<link rel="stylesheet" href="css/index.css">
|
||||||
|
<script>if (typeof module === 'object') {
|
||||||
|
window.module = module;
|
||||||
|
module = undefined;
|
||||||
|
}</script>
|
||||||
|
<script src="js/jquery-3.5.1.min.js"></script>
|
||||||
|
<script src="js/w3.js"></script>
|
||||||
|
<script>if (window.module) module = window.module;</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="recent-files" class="w3-light-gray w3-small" style="width: 300px; height: 500px; float: left; border-right: 1px solid gray; overflow-y: scroll">
|
||||||
|
</div>
|
||||||
|
<div class="w3-center" style="width: 500px; height: 500px; float: right; padding-top: 20px">
|
||||||
|
<h1 class="">Web Editor</h1>
|
||||||
|
<button class="w3-btn w3-green" onclick="newFile()">Create New!</button><br/>
|
||||||
|
<button class="w3-btn" onclick="openFile()">Open File</button>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
const {ipcRenderer} = require("electron");
|
||||||
|
let recent_files = null;
|
||||||
|
|
||||||
|
async function getRecentFiles() {
|
||||||
|
recent_files = await ipcRenderer.invoke("getStoreValue", "recent_files");
|
||||||
|
let recent_files_elm = $("#recent-files");
|
||||||
|
if (recent_files.length > 0) {
|
||||||
|
for (let file of recent_files) {
|
||||||
|
let match = RegExp(/[^\\]+.json/).exec(file);
|
||||||
|
recent_files_elm.append(`<div><button class="w3-btn w3-left-align" style="width: 100%" onclick="loadFile(recent_files[${recent_files.indexOf(file)}])">${match[0]}<br/>${file}</button></div>`)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
recent_files_elm.append("<div class='w3-container'><h3>No recent files</h3></div>")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getRecentFiles();
|
||||||
|
|
||||||
|
function loadFile(file_name) {
|
||||||
|
ipcRenderer.send("loadFile", file_name.toString());
|
||||||
|
}
|
||||||
|
function newFile(file_name) {
|
||||||
|
ipcRenderer.send("newFile");
|
||||||
|
}
|
||||||
|
function openFile() {
|
||||||
|
ipcRenderer.send("openFile");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</html>
|
92
yarn.lock
92
yarn.lock
@ -355,6 +355,16 @@ acorn@^7.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
||||||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||||
|
|
||||||
|
ajv@^6.12.2:
|
||||||
|
version "6.12.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
|
||||||
|
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
||||||
|
dependencies:
|
||||||
|
fast-deep-equal "^3.1.1"
|
||||||
|
fast-json-stable-stringify "^2.0.0"
|
||||||
|
json-schema-traverse "^0.4.1"
|
||||||
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
ajv@^6.12.3:
|
ajv@^6.12.3:
|
||||||
version "6.12.4"
|
version "6.12.4"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
|
||||||
@ -474,6 +484,11 @@ at-least-node@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||||
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
||||||
|
|
||||||
|
atomically@^1.3.1:
|
||||||
|
version "1.7.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
|
||||||
|
integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
|
||||||
|
|
||||||
author-regex@^1.0.0:
|
author-regex@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450"
|
resolved "https://registry.yarnpkg.com/author-regex/-/author-regex-1.0.0.tgz#d08885be6b9bbf9439fe087c76287245f0a81450"
|
||||||
@ -763,6 +778,22 @@ concat-stream@^1.6.2:
|
|||||||
readable-stream "^2.2.2"
|
readable-stream "^2.2.2"
|
||||||
typedarray "^0.0.6"
|
typedarray "^0.0.6"
|
||||||
|
|
||||||
|
conf@^7.1.2:
|
||||||
|
version "7.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/conf/-/conf-7.1.2.tgz#d9678a9d8f04de8bf5cd475105da8fdae49c2ec4"
|
||||||
|
integrity sha512-r8/HEoWPFn4CztjhMJaWNAe5n+gPUCSaJ0oufbqDLFKsA1V8JjAG7G+p0pgoDFAws9Bpk2VtVLLXqOBA7WxLeg==
|
||||||
|
dependencies:
|
||||||
|
ajv "^6.12.2"
|
||||||
|
atomically "^1.3.1"
|
||||||
|
debounce-fn "^4.0.0"
|
||||||
|
dot-prop "^5.2.0"
|
||||||
|
env-paths "^2.2.0"
|
||||||
|
json-schema-typed "^7.0.3"
|
||||||
|
make-dir "^3.1.0"
|
||||||
|
onetime "^5.1.0"
|
||||||
|
pkg-up "^3.1.0"
|
||||||
|
semver "^7.3.2"
|
||||||
|
|
||||||
config-chain@^1.1.11:
|
config-chain@^1.1.11:
|
||||||
version "1.1.12"
|
version "1.1.12"
|
||||||
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
|
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
|
||||||
@ -858,6 +889,13 @@ data-urls@^2.0.0:
|
|||||||
whatwg-mimetype "^2.3.0"
|
whatwg-mimetype "^2.3.0"
|
||||||
whatwg-url "^8.0.0"
|
whatwg-url "^8.0.0"
|
||||||
|
|
||||||
|
debounce-fn@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
|
||||||
|
integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
|
||||||
|
dependencies:
|
||||||
|
mimic-fn "^3.0.0"
|
||||||
|
|
||||||
debug@^2.1.3, debug@^2.2.0, debug@^2.5.1, debug@^2.6.8, debug@^2.6.9:
|
debug@^2.1.3, debug@^2.2.0, debug@^2.5.1, debug@^2.6.8, debug@^2.6.9:
|
||||||
version "2.6.9"
|
version "2.6.9"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||||
@ -947,6 +985,13 @@ domexception@^2.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
webidl-conversions "^5.0.0"
|
webidl-conversions "^5.0.0"
|
||||||
|
|
||||||
|
dot-prop@^5.2.0:
|
||||||
|
version "5.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
|
||||||
|
integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
|
||||||
|
dependencies:
|
||||||
|
is-obj "^2.0.0"
|
||||||
|
|
||||||
duplexer3@^0.1.4:
|
duplexer3@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||||
@ -1069,6 +1114,14 @@ electron-squirrel-startup@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
debug "^2.2.0"
|
debug "^2.2.0"
|
||||||
|
|
||||||
|
electron-store@^6.0.1:
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-6.0.1.tgz#2178b9dc37aeb749d99cf9d1d1bc090890b922dc"
|
||||||
|
integrity sha512-8rdM0XEmDGsLuZM2oRABzsLX+XmD5x3rwxPMEPv0MrN9/BWanyy3ilb2v+tCrKtIZVF3MxUiZ9Bfqe8e0popKQ==
|
||||||
|
dependencies:
|
||||||
|
conf "^7.1.2"
|
||||||
|
type-fest "^0.16.0"
|
||||||
|
|
||||||
electron-winstaller@^4.0.0:
|
electron-winstaller@^4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/electron-winstaller/-/electron-winstaller-4.0.1.tgz#69da2a439a6986210c3106305f921a522369207d"
|
resolved "https://registry.yarnpkg.com/electron-winstaller/-/electron-winstaller-4.0.1.tgz#69da2a439a6986210c3106305f921a522369207d"
|
||||||
@ -1696,6 +1749,11 @@ is-interactive@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
|
resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
|
||||||
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
|
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
|
||||||
|
|
||||||
|
is-obj@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
|
||||||
|
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
|
||||||
|
|
||||||
is-potential-custom-element-name@^1.0.0:
|
is-potential-custom-element-name@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
|
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
|
||||||
@ -1807,6 +1865,11 @@ json-schema-traverse@^0.4.1:
|
|||||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
||||||
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
||||||
|
|
||||||
|
json-schema-typed@^7.0.3:
|
||||||
|
version "7.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
|
||||||
|
integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
|
||||||
|
|
||||||
json-schema@0.2.3:
|
json-schema@0.2.3:
|
||||||
version "0.2.3"
|
version "0.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
|
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
|
||||||
@ -1986,6 +2049,13 @@ lowercase-keys@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
||||||
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
||||||
|
|
||||||
|
make-dir@^3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
|
||||||
|
integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
|
||||||
|
dependencies:
|
||||||
|
semver "^6.0.0"
|
||||||
|
|
||||||
map-age-cleaner@^0.1.1:
|
map-age-cleaner@^0.1.1:
|
||||||
version "0.1.3"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
|
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
|
||||||
@ -2052,6 +2122,11 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||||
|
|
||||||
|
mimic-fn@^3.0.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
|
||||||
|
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
|
||||||
|
|
||||||
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||||
@ -2502,6 +2577,13 @@ pkg-dir@^4.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
find-up "^4.0.0"
|
find-up "^4.0.0"
|
||||||
|
|
||||||
|
pkg-up@^3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
|
||||||
|
integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
|
||||||
|
dependencies:
|
||||||
|
find-up "^3.0.0"
|
||||||
|
|
||||||
plist@^3.0.0, plist@^3.0.1:
|
plist@^3.0.0, plist@^3.0.1:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
|
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
|
||||||
@ -2840,6 +2922,11 @@ semver-compare@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||||
|
|
||||||
|
semver@^6.0.0:
|
||||||
|
version "6.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||||
|
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||||
|
|
||||||
semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
|
semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
|
||||||
version "7.3.2"
|
version "7.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||||
@ -3274,6 +3361,11 @@ type-fest@^0.13.1:
|
|||||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
||||||
integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
|
integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
|
||||||
|
|
||||||
|
type-fest@^0.16.0:
|
||||||
|
version "0.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
|
||||||
|
integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
|
||||||
|
|
||||||
typedarray@^0.0.6:
|
typedarray@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
|
Loading…
Reference in New Issue
Block a user