smart login form, embedded fonts, other improvments
This commit is contained in:
parent
ead81883b2
commit
cf38b3dd15
21 changed files with 6105 additions and 2442 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
|
@ -1,7 +1,5 @@
|
|||
.DS_Store
|
||||
/node_modules
|
||||
/dist
|
||||
/crate/target/*
|
||||
/.log
|
||||
|
||||
crash.log
|
||||
|
|
@ -13,8 +11,6 @@ crash.log
|
|||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
|
|
@ -26,5 +22,5 @@ pnpm-debug.log*
|
|||
*.sln
|
||||
*.sw?
|
||||
|
||||
#Electron-builder output
|
||||
/dist_electron
|
||||
# Dist
|
||||
*.app
|
||||
|
|
|
|||
9
electron.sublime-project
Normal file
9
electron.sublime-project
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"folders":
|
||||
[
|
||||
{
|
||||
"name": "electron",
|
||||
"path": "."
|
||||
}
|
||||
]
|
||||
}
|
||||
4112
electron.sublime-workspace
Normal file
4112
electron.sublime-workspace
Normal file
File diff suppressed because it is too large
Load diff
1545
package-lock.json
generated
1545
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -3,7 +3,7 @@
|
|||
"productName": "crimata-messenger",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"description": "Cross-platform messenger app (Electron, Vue3, and TS)",
|
||||
"description": "Cross-platform messenger app (Electron, Vue3)",
|
||||
"author": {
|
||||
"name": "Andrew Gundersen"
|
||||
},
|
||||
|
|
@ -17,8 +17,5 @@
|
|||
"base64-arraybuffer": "^1.0.1",
|
||||
"electron-store": "^8.0.0",
|
||||
"ws": "^7.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^13.2.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,25 @@
|
|||
const { ipcMain } = require("electron");
|
||||
|
||||
const { post } = require("./api");
|
||||
const store = require("./utils/store");
|
||||
const { postLogin } = require("./api");
|
||||
const { launchSession, endSession } = require("./session");
|
||||
const { backgroundMitt, ipcEmit } = require("./utils/emitter");
|
||||
|
||||
store.set("account", "0000");
|
||||
|
||||
async function login(_e, email, password)
|
||||
async function login(_e, creds)
|
||||
{
|
||||
const res = await postLogin(email, password);
|
||||
if (res)
|
||||
{
|
||||
const account = res.token;
|
||||
store.set("account", account);
|
||||
ipcEmit("set-account", account);
|
||||
const { error, data } = await post("/auth", creds);
|
||||
|
||||
launchSession(account);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
if (error)
|
||||
{
|
||||
return false;
|
||||
return data;
|
||||
}
|
||||
|
||||
store.set("account", data);
|
||||
ipcEmit("set-account", data);
|
||||
launchSession(data);
|
||||
};
|
||||
|
||||
function logout(reason)
|
||||
function logout(_e, reason)
|
||||
{
|
||||
store.delete("account");
|
||||
ipcEmit("set-account", false, reason);
|
||||
|
|
@ -42,6 +35,6 @@ function initAccount()
|
|||
if (account) launchSession(account);
|
||||
}
|
||||
|
||||
backgroundMitt.on("logout", (reason) => logout(reason));
|
||||
backgroundMitt.on("logout", (reason) => logout(null, reason));
|
||||
|
||||
exports.initAccount = initAccount;
|
||||
|
|
|
|||
39
src/api.js
39
src/api.js
|
|
@ -2,16 +2,37 @@ const axios = require('axios').default;
|
|||
|
||||
const config = require("./config");
|
||||
|
||||
async function postLogin(email, password)
|
||||
|
||||
async function post(route, body)
|
||||
{
|
||||
try {
|
||||
const res = await axios.post(config.API + "/login", {
|
||||
email: email, password: password
|
||||
});
|
||||
return res.data;
|
||||
} catch (e) {
|
||||
return false;
|
||||
let error;
|
||||
let data;
|
||||
|
||||
try
|
||||
{
|
||||
const res = await axios.post(config.API + route, body);
|
||||
data = res.data;
|
||||
error = false;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
if (e.response)
|
||||
{
|
||||
data = e.response.data;
|
||||
}
|
||||
else if (e.request)
|
||||
{
|
||||
data = "Can't connect to the server."
|
||||
}
|
||||
else
|
||||
{
|
||||
data = "Unknown error occured."
|
||||
}
|
||||
|
||||
error = true;
|
||||
}
|
||||
|
||||
return { error, data };
|
||||
}
|
||||
|
||||
exports.postLogin = postLogin;
|
||||
exports.post = post;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
const { app } = require("electron");
|
||||
|
||||
const DOMAIN = "crimata.com";
|
||||
const PORT = 8760;
|
||||
|
||||
module.exports = {
|
||||
|
||||
PLATFORM: app.isPackaged ? `http://app.${DOMAIN}` : `http://localhost:${PORT}`,
|
||||
API: `https://${DOMAIN}/api`
|
||||
PLATFORM: app.isPackaged ? `http://app.${DOMAIN}` : `http://localhost:8760`,
|
||||
API: app.isPackaged ? `https://${DOMAIN}/api` : `http://localhost:8761`
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ const { app, protocol, ipcMain, nativeTheme } = require("electron");
|
|||
const store = require("./utils/store");
|
||||
|
||||
const { initTray } = require("./tray");
|
||||
const { postLogin } = require("./api");
|
||||
const { createWin } = require("./window");
|
||||
const { initAccount } = require("./account");
|
||||
const { terminateAudio } = require("./audio");
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: "SF Pro Text";
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#titlebar {
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: 54px;
|
||||
opacity: 0;
|
||||
-webkit-app-region: drag;
|
||||
border: none;
|
||||
outline: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.building {
|
||||
width: 250px;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.email {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.email-subject {
|
||||
font-size: 16px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<button id="titlebar"></button>
|
||||
|
||||
<div id="content"></div>
|
||||
|
||||
<script>
|
||||
window.mainApi.on("preview-init", (content) => {
|
||||
document.getElementById("content").innerHTML = content;
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
src/render/assets/fonts/SF-Compact-Rounded-Bold.otf
Executable file
BIN
src/render/assets/fonts/SF-Compact-Rounded-Bold.otf
Executable file
Binary file not shown.
|
|
@ -58,15 +58,15 @@ function draggify(elementId, parentId, margin) {
|
|||
// Move element to target smoothly.
|
||||
const repositionAnime = (xChange, yChange) => {
|
||||
|
||||
const xStep = xChange / 6000;
|
||||
const yStep = yChange / 6000;
|
||||
const xStep = xChange / 1000;
|
||||
const yStep = yChange / 1000;
|
||||
|
||||
for (let i = 1; i <= 6000; i++) {
|
||||
for (let i = 1; i <= 1000; i++) {
|
||||
|
||||
setTimeout(() => {
|
||||
elementX.value += xStep;
|
||||
elementY.value += yStep;
|
||||
}, 16) // 60fps
|
||||
}, 30) // 60fps
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,21 +17,23 @@ const metaKeys = [
|
|||
"Escape"
|
||||
];
|
||||
|
||||
function useText(elementId, left, typing)
|
||||
function useText(elementId, parentId, left)
|
||||
{
|
||||
let el;
|
||||
let parent;
|
||||
|
||||
const show = Vue.ref(false);
|
||||
const leftSide = Vue.ref(false);
|
||||
|
||||
const calcSide = () => {
|
||||
window.innerWidth - left.value < inputLength ? leftSide.value = true : leftSide.value = false;
|
||||
parent.clientWidth - left.value < inputLength ? leftSide.value = true : leftSide.value = false;
|
||||
}
|
||||
|
||||
/* handle user typing */
|
||||
Vue.onMounted(() => {
|
||||
|
||||
el = document.getElementById(elementId);
|
||||
parent = document.getElementById(parentId);
|
||||
|
||||
window.addEventListener("keydown", (e) => {
|
||||
|
||||
|
|
@ -61,6 +63,8 @@ function useText(elementId, left, typing)
|
|||
}
|
||||
});
|
||||
|
||||
calcSide();
|
||||
|
||||
});
|
||||
|
||||
Vue.watch(left, calcSide);
|
||||
|
|
@ -74,8 +78,6 @@ function useText(elementId, left, typing)
|
|||
}
|
||||
});
|
||||
|
||||
calcSide();
|
||||
|
||||
return { leftSide, show };
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,18 +29,23 @@ const SmartForm =
|
|||
|
||||
const submit = debounce(async (data) => {
|
||||
|
||||
const err = await fetch(props.channel, data);
|
||||
let object = {};
|
||||
data.forEach(function(value, key){
|
||||
object[key] = value;
|
||||
});
|
||||
|
||||
const err = await window.mainApi.invoke("login", object)
|
||||
|
||||
if (err) {
|
||||
logsEl.style.color == "red";
|
||||
logsEl.innerText = err;
|
||||
logsEl.style.color = "red";
|
||||
return;
|
||||
}
|
||||
|
||||
logsEl.style.color = "green";
|
||||
logsEl.innerText = props.modifier;
|
||||
|
||||
}, 2000);
|
||||
}, 1000);
|
||||
|
||||
Vue.onMounted(() => {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ const Input =
|
|||
|
||||
const { elementX, elementY } = draggify("input", "app", 15);
|
||||
|
||||
const { leftSide, show } = useText("input-text", elementX);
|
||||
const { leftSide, show } = useText("input-text", "app", elementX);
|
||||
|
||||
window.mainApi.on("record", (status) => recording.value = status);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ const Login =
|
|||
template: `
|
||||
<div id="login">
|
||||
|
||||
<!-- <SmartForm
|
||||
<SmartForm
|
||||
:fields="[{
|
||||
name: 'email',
|
||||
value: null,
|
||||
|
|
@ -32,7 +32,7 @@ const Login =
|
|||
}]"
|
||||
:channel="'auth'"
|
||||
:modifier="'Login or re-enter password to register.'"
|
||||
/> -->
|
||||
/>
|
||||
|
||||
</div>`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ const Messenger = {
|
|||
}
|
||||
else if (update.name)
|
||||
{
|
||||
person.value = update;
|
||||
person.value = update.name;
|
||||
}
|
||||
else if (update.modifier)
|
||||
{
|
||||
|
|
|
|||
8
src/render/components/website.sublime-project
Normal file
8
src/render/components/website.sublime-project
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"folders":
|
||||
[
|
||||
{
|
||||
"path": "/Users/adgundersen/Documents/crimata/website"
|
||||
}
|
||||
]
|
||||
}
|
||||
1896
src/render/components/website.sublime-workspace
Normal file
1896
src/render/components/website.sublime-workspace
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
@font-face {
|
||||
font-family: "Default";
|
||||
src: url("assets/fonts/SF-Pro-Text-Regular.otf");
|
||||
|
|
@ -8,6 +9,11 @@
|
|||
src: url("assets/fonts/SF-Compact-Display-Bold.otf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Rounded";
|
||||
src: url("assets/fonts/SF-Compact-Rounded-Bold.otf");
|
||||
}
|
||||
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
|
@ -233,6 +239,7 @@ html, body {
|
|||
padding: 10px;
|
||||
outline: none;
|
||||
border: none;
|
||||
font-size: 14px;
|
||||
pointer-events: none;
|
||||
background-color: white;
|
||||
z-index: -1;
|
||||
|
|
@ -372,7 +379,7 @@ html, body {
|
|||
|
||||
.bubble {
|
||||
position: relative;
|
||||
max-width: 66vw;
|
||||
max-width: 66%;
|
||||
font-size: 14px;
|
||||
border-radius: 18px;
|
||||
margin-bottom: 4px;
|
||||
|
|
@ -451,15 +458,15 @@ html, body {
|
|||
.bubble > img {
|
||||
border-radius: inherit;
|
||||
display: block;
|
||||
max-width: inherit;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.bubble a {
|
||||
display:inline-block;
|
||||
display: inline-block;
|
||||
font-family: "Rounded";
|
||||
text-decoration: none;
|
||||
border-radius: inherit;
|
||||
background-color: #D9D9D9;
|
||||
font-weight: bold;
|
||||
padding: 10px;
|
||||
color: #727272;
|
||||
}
|
||||
|
|
@ -564,6 +571,7 @@ html, body {
|
|||
font-size: 14px;
|
||||
border-radius: 10px;
|
||||
background-color: #d1d1d1;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.smart-form-logs {
|
||||
|
|
|
|||
785
yarn.lock
785
yarn.lock
|
|
@ -1,785 +0,0 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@crimata/nodeaudio@^0.0.0":
|
||||
"integrity" "sha1-KTpDGuL8j3x72BLNb4Iyg8zgARo="
|
||||
"resolved" "https://gitlab.com/api/v4/projects/28849281/packages/npm/@crimata/nodeaudio/-/@crimata/nodeaudio-0.0.0.tgz"
|
||||
"version" "0.0.0"
|
||||
dependencies:
|
||||
"bindings" "~1.2.1"
|
||||
"sleep" "^6.3.0"
|
||||
|
||||
"@electron/get@^1.0.1":
|
||||
"integrity" "sha512-+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ=="
|
||||
"resolved" "https://registry.npmjs.org/@electron/get/-/get-1.13.0.tgz"
|
||||
"version" "1.13.0"
|
||||
dependencies:
|
||||
"debug" "^4.1.1"
|
||||
"env-paths" "^2.2.0"
|
||||
"fs-extra" "^8.1.0"
|
||||
"got" "^9.6.0"
|
||||
"progress" "^2.0.3"
|
||||
"semver" "^6.2.0"
|
||||
"sumchecker" "^3.0.1"
|
||||
optionalDependencies:
|
||||
"global-agent" "^2.0.2"
|
||||
"global-tunnel-ng" "^2.7.1"
|
||||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
"integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
|
||||
"resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz"
|
||||
"version" "0.14.0"
|
||||
|
||||
"@szmarczak/http-timer@^1.1.2":
|
||||
"integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA=="
|
||||
"resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz"
|
||||
"version" "1.1.2"
|
||||
dependencies:
|
||||
"defer-to-connect" "^1.0.1"
|
||||
|
||||
"@types/node@^14.6.2":
|
||||
"integrity" "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw=="
|
||||
"resolved" "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz"
|
||||
"version" "14.17.12"
|
||||
|
||||
"ajv-formats@^2.0.2":
|
||||
"integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA=="
|
||||
"resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz"
|
||||
"version" "2.1.1"
|
||||
dependencies:
|
||||
"ajv" "^8.0.0"
|
||||
|
||||
"ajv@^8.0.0", "ajv@^8.1.0":
|
||||
"integrity" "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w=="
|
||||
"resolved" "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz"
|
||||
"version" "8.6.2"
|
||||
dependencies:
|
||||
"fast-deep-equal" "^3.1.1"
|
||||
"json-schema-traverse" "^1.0.0"
|
||||
"require-from-string" "^2.0.2"
|
||||
"uri-js" "^4.2.2"
|
||||
|
||||
"atomically@^1.7.0":
|
||||
"integrity" "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w=="
|
||||
"resolved" "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz"
|
||||
"version" "1.7.0"
|
||||
|
||||
"axios@^0.21.1":
|
||||
"integrity" "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA=="
|
||||
"resolved" "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz"
|
||||
"version" "0.21.1"
|
||||
dependencies:
|
||||
"follow-redirects" "^1.10.0"
|
||||
|
||||
"base64-arraybuffer@^1.0.1":
|
||||
"integrity" "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA=="
|
||||
"resolved" "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz"
|
||||
"version" "1.0.1"
|
||||
|
||||
"bindings@~1.2.1":
|
||||
"integrity" "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
|
||||
"resolved" "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"
|
||||
"version" "1.2.1"
|
||||
|
||||
"boolean@^3.0.1":
|
||||
"integrity" "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w=="
|
||||
"resolved" "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz"
|
||||
"version" "3.1.4"
|
||||
|
||||
"buffer-crc32@~0.2.3":
|
||||
"integrity" "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
|
||||
"resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
|
||||
"version" "0.2.13"
|
||||
|
||||
"buffer-from@^1.0.0":
|
||||
"integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
||||
"resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
|
||||
"version" "1.1.2"
|
||||
|
||||
"cacheable-request@^6.0.0":
|
||||
"integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg=="
|
||||
"resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz"
|
||||
"version" "6.1.0"
|
||||
dependencies:
|
||||
"clone-response" "^1.0.2"
|
||||
"get-stream" "^5.1.0"
|
||||
"http-cache-semantics" "^4.0.0"
|
||||
"keyv" "^3.0.0"
|
||||
"lowercase-keys" "^2.0.0"
|
||||
"normalize-url" "^4.1.0"
|
||||
"responselike" "^1.0.2"
|
||||
|
||||
"clone-response@^1.0.2":
|
||||
"integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws="
|
||||
"resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
dependencies:
|
||||
"mimic-response" "^1.0.0"
|
||||
|
||||
"concat-stream@^1.6.2":
|
||||
"integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="
|
||||
"resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"
|
||||
"version" "1.6.2"
|
||||
dependencies:
|
||||
"buffer-from" "^1.0.0"
|
||||
"inherits" "^2.0.3"
|
||||
"readable-stream" "^2.2.2"
|
||||
"typedarray" "^0.0.6"
|
||||
|
||||
"conf@^10.0.0":
|
||||
"integrity" "sha512-iyy4ArqyQ/yrzNASNBN+jaylu53JRuq0ztvL6KAWYHj4iN56BVuhy2SrzEEHBodNbacZr2Pd/4nWhoAwc66T1g=="
|
||||
"resolved" "https://registry.npmjs.org/conf/-/conf-10.0.2.tgz"
|
||||
"version" "10.0.2"
|
||||
dependencies:
|
||||
"ajv" "^8.1.0"
|
||||
"ajv-formats" "^2.0.2"
|
||||
"atomically" "^1.7.0"
|
||||
"debounce-fn" "^4.0.0"
|
||||
"dot-prop" "^6.0.1"
|
||||
"env-paths" "^2.2.1"
|
||||
"json-schema-typed" "^7.0.3"
|
||||
"onetime" "^5.1.2"
|
||||
"pkg-up" "^3.1.0"
|
||||
"semver" "^7.3.5"
|
||||
|
||||
"config-chain@^1.1.11":
|
||||
"integrity" "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ=="
|
||||
"resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz"
|
||||
"version" "1.1.13"
|
||||
dependencies:
|
||||
"ini" "^1.3.4"
|
||||
"proto-list" "~1.2.1"
|
||||
|
||||
"core-js@^3.6.5":
|
||||
"integrity" "sha512-lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA=="
|
||||
"resolved" "https://registry.npmjs.org/core-js/-/core-js-3.16.3.tgz"
|
||||
"version" "3.16.3"
|
||||
|
||||
"core-util-is@~1.0.0":
|
||||
"integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
"resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"debounce-fn@^4.0.0":
|
||||
"integrity" "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ=="
|
||||
"resolved" "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz"
|
||||
"version" "4.0.0"
|
||||
dependencies:
|
||||
"mimic-fn" "^3.0.0"
|
||||
|
||||
"debug@^2.6.9":
|
||||
"integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
"version" "2.6.9"
|
||||
dependencies:
|
||||
"ms" "2.0.0"
|
||||
|
||||
"debug@^4.1.0", "debug@^4.1.1":
|
||||
"integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw=="
|
||||
"resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
|
||||
"version" "4.3.2"
|
||||
dependencies:
|
||||
"ms" "2.1.2"
|
||||
|
||||
"decompress-response@^3.3.0":
|
||||
"integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M="
|
||||
"resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"
|
||||
"version" "3.3.0"
|
||||
dependencies:
|
||||
"mimic-response" "^1.0.0"
|
||||
|
||||
"defer-to-connect@^1.0.1":
|
||||
"integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
|
||||
"resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz"
|
||||
"version" "1.1.3"
|
||||
|
||||
"define-properties@^1.1.3":
|
||||
"integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="
|
||||
"resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"
|
||||
"version" "1.1.3"
|
||||
dependencies:
|
||||
"object-keys" "^1.0.12"
|
||||
|
||||
"detect-node@^2.0.4":
|
||||
"integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
|
||||
"resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
|
||||
"version" "2.1.0"
|
||||
|
||||
"dot-prop@^6.0.1":
|
||||
"integrity" "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA=="
|
||||
"resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz"
|
||||
"version" "6.0.1"
|
||||
dependencies:
|
||||
"is-obj" "^2.0.0"
|
||||
|
||||
"duplexer3@^0.1.4":
|
||||
"integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
|
||||
"resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz"
|
||||
"version" "0.1.4"
|
||||
|
||||
"electron-store@^8.0.0":
|
||||
"integrity" "sha512-ZgRPUZkfrrjWSqxZeaxu7lEvmYf6tgl49dLMqxXGnEmliSiwv3u4rJPG+mH3fBQP9PBqgSh4TCuxHZImMMUgWg=="
|
||||
"resolved" "https://registry.npmjs.org/electron-store/-/electron-store-8.0.0.tgz"
|
||||
"version" "8.0.0"
|
||||
dependencies:
|
||||
"conf" "^10.0.0"
|
||||
"type-fest" "^1.0.2"
|
||||
|
||||
"electron@^13.2.3":
|
||||
"integrity" "sha512-FzWhbKHjq7ZTpPQFaYiLPL64erC8/BOsu5NlNN9nQ6f7rIP8ygKlNAlQit3vbOcksQAwItDUCIw4sW0mcaRpCA=="
|
||||
"resolved" "https://registry.npmjs.org/electron/-/electron-13.2.3.tgz"
|
||||
"version" "13.2.3"
|
||||
dependencies:
|
||||
"@electron/get" "^1.0.1"
|
||||
"@types/node" "^14.6.2"
|
||||
"extract-zip" "^1.0.3"
|
||||
|
||||
"encodeurl@^1.0.2":
|
||||
"integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||
"resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"end-of-stream@^1.1.0":
|
||||
"integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
|
||||
"resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
|
||||
"version" "1.4.4"
|
||||
dependencies:
|
||||
"once" "^1.4.0"
|
||||
|
||||
"env-paths@^2.2.0", "env-paths@^2.2.1":
|
||||
"integrity" "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
|
||||
"resolved" "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
|
||||
"version" "2.2.1"
|
||||
|
||||
"es6-error@^4.1.1":
|
||||
"integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
|
||||
"resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz"
|
||||
"version" "4.1.1"
|
||||
|
||||
"escape-string-regexp@^4.0.0":
|
||||
"integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
|
||||
"resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
|
||||
"version" "4.0.0"
|
||||
|
||||
"extract-zip@^1.0.3":
|
||||
"integrity" "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA=="
|
||||
"resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz"
|
||||
"version" "1.7.0"
|
||||
dependencies:
|
||||
"concat-stream" "^1.6.2"
|
||||
"debug" "^2.6.9"
|
||||
"mkdirp" "^0.5.4"
|
||||
"yauzl" "^2.10.0"
|
||||
|
||||
"fast-deep-equal@^3.1.1":
|
||||
"integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||
"resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
|
||||
"version" "3.1.3"
|
||||
|
||||
"fd-slicer@~1.1.0":
|
||||
"integrity" "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4="
|
||||
"resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz"
|
||||
"version" "1.1.0"
|
||||
dependencies:
|
||||
"pend" "~1.2.0"
|
||||
|
||||
"find-up@^3.0.0":
|
||||
"integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="
|
||||
"resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"locate-path" "^3.0.0"
|
||||
|
||||
"follow-redirects@^1.10.0":
|
||||
"integrity" "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA=="
|
||||
"resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz"
|
||||
"version" "1.14.2"
|
||||
|
||||
"fs-extra@^8.1.0":
|
||||
"integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="
|
||||
"resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
|
||||
"version" "8.1.0"
|
||||
dependencies:
|
||||
"graceful-fs" "^4.2.0"
|
||||
"jsonfile" "^4.0.0"
|
||||
"universalify" "^0.1.0"
|
||||
|
||||
"get-stream@^4.1.0":
|
||||
"integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="
|
||||
"resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"
|
||||
"version" "4.1.0"
|
||||
dependencies:
|
||||
"pump" "^3.0.0"
|
||||
|
||||
"get-stream@^5.1.0":
|
||||
"integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="
|
||||
"resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
|
||||
"version" "5.2.0"
|
||||
dependencies:
|
||||
"pump" "^3.0.0"
|
||||
|
||||
"global-agent@^2.0.2":
|
||||
"integrity" "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg=="
|
||||
"resolved" "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz"
|
||||
"version" "2.2.0"
|
||||
dependencies:
|
||||
"boolean" "^3.0.1"
|
||||
"core-js" "^3.6.5"
|
||||
"es6-error" "^4.1.1"
|
||||
"matcher" "^3.0.0"
|
||||
"roarr" "^2.15.3"
|
||||
"semver" "^7.3.2"
|
||||
"serialize-error" "^7.0.1"
|
||||
|
||||
"global-tunnel-ng@^2.7.1":
|
||||
"integrity" "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg=="
|
||||
"resolved" "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz"
|
||||
"version" "2.7.1"
|
||||
dependencies:
|
||||
"encodeurl" "^1.0.2"
|
||||
"lodash" "^4.17.10"
|
||||
"npm-conf" "^1.1.3"
|
||||
"tunnel" "^0.0.6"
|
||||
|
||||
"globalthis@^1.0.1":
|
||||
"integrity" "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ=="
|
||||
"resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
dependencies:
|
||||
"define-properties" "^1.1.3"
|
||||
|
||||
"got@^9.6.0":
|
||||
"integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q=="
|
||||
"resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz"
|
||||
"version" "9.6.0"
|
||||
dependencies:
|
||||
"@sindresorhus/is" "^0.14.0"
|
||||
"@szmarczak/http-timer" "^1.1.2"
|
||||
"cacheable-request" "^6.0.0"
|
||||
"decompress-response" "^3.3.0"
|
||||
"duplexer3" "^0.1.4"
|
||||
"get-stream" "^4.1.0"
|
||||
"lowercase-keys" "^1.0.1"
|
||||
"mimic-response" "^1.0.1"
|
||||
"p-cancelable" "^1.0.0"
|
||||
"to-readable-stream" "^1.0.0"
|
||||
"url-parse-lax" "^3.0.0"
|
||||
|
||||
"graceful-fs@^4.1.6", "graceful-fs@^4.2.0":
|
||||
"integrity" "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
|
||||
"resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz"
|
||||
"version" "4.2.8"
|
||||
|
||||
"http-cache-semantics@^4.0.0":
|
||||
"integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
|
||||
"resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz"
|
||||
"version" "4.1.0"
|
||||
|
||||
"inherits@^2.0.3", "inherits@~2.0.3":
|
||||
"integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
"resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||
"version" "2.0.4"
|
||||
|
||||
"ini@^1.3.4":
|
||||
"integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
|
||||
"resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
|
||||
"version" "1.3.8"
|
||||
|
||||
"is-obj@^2.0.0":
|
||||
"integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
|
||||
"resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
|
||||
"version" "2.0.0"
|
||||
|
||||
"isarray@~1.0.0":
|
||||
"integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
"resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"json-buffer@3.0.0":
|
||||
"integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
|
||||
"resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
|
||||
"json-schema-traverse@^1.0.0":
|
||||
"integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
|
||||
"resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"json-schema-typed@^7.0.3":
|
||||
"integrity" "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A=="
|
||||
"resolved" "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz"
|
||||
"version" "7.0.3"
|
||||
|
||||
"json-stringify-safe@^5.0.1":
|
||||
"integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
"resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
|
||||
"version" "5.0.1"
|
||||
|
||||
"jsonfile@^4.0.0":
|
||||
"integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss="
|
||||
"resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
|
||||
"version" "4.0.0"
|
||||
optionalDependencies:
|
||||
"graceful-fs" "^4.1.6"
|
||||
|
||||
"keyv@^3.0.0":
|
||||
"integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA=="
|
||||
"resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz"
|
||||
"version" "3.1.0"
|
||||
dependencies:
|
||||
"json-buffer" "3.0.0"
|
||||
|
||||
"locate-path@^3.0.0":
|
||||
"integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="
|
||||
"resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"p-locate" "^3.0.0"
|
||||
"path-exists" "^3.0.0"
|
||||
|
||||
"lodash@^4.17.10":
|
||||
"integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
"resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
|
||||
"version" "4.17.21"
|
||||
|
||||
"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1":
|
||||
"integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
|
||||
"resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"
|
||||
"version" "1.0.1"
|
||||
|
||||
"lowercase-keys@^2.0.0":
|
||||
"integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
|
||||
"resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
|
||||
"version" "2.0.0"
|
||||
|
||||
"lru-cache@^6.0.0":
|
||||
"integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
|
||||
"resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
|
||||
"version" "6.0.0"
|
||||
dependencies:
|
||||
"yallist" "^4.0.0"
|
||||
|
||||
"matcher@^3.0.0":
|
||||
"integrity" "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="
|
||||
"resolved" "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"escape-string-regexp" "^4.0.0"
|
||||
|
||||
"mimic-fn@^2.1.0":
|
||||
"integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
|
||||
"resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
|
||||
"version" "2.1.0"
|
||||
|
||||
"mimic-fn@^3.0.0":
|
||||
"integrity" "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ=="
|
||||
"resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz"
|
||||
"version" "3.1.0"
|
||||
|
||||
"mimic-response@^1.0.0", "mimic-response@^1.0.1":
|
||||
"integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
|
||||
"resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
|
||||
"version" "1.0.1"
|
||||
|
||||
"minimist@^1.2.5":
|
||||
"integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
"resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
|
||||
"version" "1.2.5"
|
||||
|
||||
"mkdirp@^0.5.4":
|
||||
"integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="
|
||||
"resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"
|
||||
"version" "0.5.5"
|
||||
dependencies:
|
||||
"minimist" "^1.2.5"
|
||||
|
||||
"ms@2.0.0":
|
||||
"integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
"resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
|
||||
"version" "2.0.0"
|
||||
|
||||
"ms@2.1.2":
|
||||
"integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
"resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
|
||||
"version" "2.1.2"
|
||||
|
||||
"nan@^2.14.1":
|
||||
"integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ=="
|
||||
"resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz"
|
||||
"version" "2.15.0"
|
||||
|
||||
"normalize-url@^4.1.0":
|
||||
"integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
|
||||
"resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz"
|
||||
"version" "4.5.1"
|
||||
|
||||
"npm-conf@^1.1.3":
|
||||
"integrity" "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw=="
|
||||
"resolved" "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz"
|
||||
"version" "1.1.3"
|
||||
dependencies:
|
||||
"config-chain" "^1.1.11"
|
||||
"pify" "^3.0.0"
|
||||
|
||||
"object-keys@^1.0.12":
|
||||
"integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
|
||||
"resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
|
||||
"version" "1.1.1"
|
||||
|
||||
"once@^1.3.1", "once@^1.4.0":
|
||||
"integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
|
||||
"resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
|
||||
"version" "1.4.0"
|
||||
dependencies:
|
||||
"wrappy" "1"
|
||||
|
||||
"onetime@^5.1.2":
|
||||
"integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
|
||||
"resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
|
||||
"version" "5.1.2"
|
||||
dependencies:
|
||||
"mimic-fn" "^2.1.0"
|
||||
|
||||
"p-cancelable@^1.0.0":
|
||||
"integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
|
||||
"resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz"
|
||||
"version" "1.1.0"
|
||||
|
||||
"p-limit@^2.0.0":
|
||||
"integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="
|
||||
"resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
|
||||
"version" "2.3.0"
|
||||
dependencies:
|
||||
"p-try" "^2.0.0"
|
||||
|
||||
"p-locate@^3.0.0":
|
||||
"integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="
|
||||
"resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"p-limit" "^2.0.0"
|
||||
|
||||
"p-try@^2.0.0":
|
||||
"integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
|
||||
"resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
|
||||
"version" "2.2.0"
|
||||
|
||||
"path-exists@^3.0.0":
|
||||
"integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
|
||||
"resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
|
||||
"pend@~1.2.0":
|
||||
"integrity" "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
|
||||
"resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
|
||||
"version" "1.2.0"
|
||||
|
||||
"pify@^3.0.0":
|
||||
"integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
|
||||
"resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
|
||||
"pkg-up@^3.1.0":
|
||||
"integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="
|
||||
"resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz"
|
||||
"version" "3.1.0"
|
||||
dependencies:
|
||||
"find-up" "^3.0.0"
|
||||
|
||||
"prepend-http@^2.0.0":
|
||||
"integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
|
||||
"resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz"
|
||||
"version" "2.0.0"
|
||||
|
||||
"process-nextick-args@~2.0.0":
|
||||
"integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||
"resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
|
||||
"version" "2.0.1"
|
||||
|
||||
"progress@^2.0.3":
|
||||
"integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
|
||||
"resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
|
||||
"version" "2.0.3"
|
||||
|
||||
"proto-list@~1.2.1":
|
||||
"integrity" "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk="
|
||||
"resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
|
||||
"version" "1.2.4"
|
||||
|
||||
"pump@^3.0.0":
|
||||
"integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
|
||||
"resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"end-of-stream" "^1.1.0"
|
||||
"once" "^1.3.1"
|
||||
|
||||
"punycode@^2.1.0":
|
||||
"integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||
"resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
|
||||
"version" "2.1.1"
|
||||
|
||||
"readable-stream@^2.2.2":
|
||||
"integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="
|
||||
"resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
|
||||
"version" "2.3.7"
|
||||
dependencies:
|
||||
"core-util-is" "~1.0.0"
|
||||
"inherits" "~2.0.3"
|
||||
"isarray" "~1.0.0"
|
||||
"process-nextick-args" "~2.0.0"
|
||||
"safe-buffer" "~5.1.1"
|
||||
"string_decoder" "~1.1.1"
|
||||
"util-deprecate" "~1.0.1"
|
||||
|
||||
"require-from-string@^2.0.2":
|
||||
"integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
|
||||
"resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
|
||||
"version" "2.0.2"
|
||||
|
||||
"responselike@^1.0.2":
|
||||
"integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec="
|
||||
"resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
dependencies:
|
||||
"lowercase-keys" "^1.0.0"
|
||||
|
||||
"roarr@^2.15.3":
|
||||
"integrity" "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="
|
||||
"resolved" "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz"
|
||||
"version" "2.15.4"
|
||||
dependencies:
|
||||
"boolean" "^3.0.1"
|
||||
"detect-node" "^2.0.4"
|
||||
"globalthis" "^1.0.1"
|
||||
"json-stringify-safe" "^5.0.1"
|
||||
"semver-compare" "^1.0.0"
|
||||
"sprintf-js" "^1.1.2"
|
||||
|
||||
"safe-buffer@~5.1.0", "safe-buffer@~5.1.1":
|
||||
"integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
"resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
"version" "5.1.2"
|
||||
|
||||
"semver-compare@^1.0.0":
|
||||
"integrity" "sha1-De4hahyUGrN+nvsXiPavxf9VN/w="
|
||||
"resolved" "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"semver@^6.2.0":
|
||||
"integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
|
||||
"resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
|
||||
"version" "6.3.0"
|
||||
|
||||
"semver@^7.3.2", "semver@^7.3.5":
|
||||
"integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ=="
|
||||
"resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
|
||||
"version" "7.3.5"
|
||||
dependencies:
|
||||
"lru-cache" "^6.0.0"
|
||||
|
||||
"serialize-error@^7.0.1":
|
||||
"integrity" "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="
|
||||
"resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz"
|
||||
"version" "7.0.1"
|
||||
dependencies:
|
||||
"type-fest" "^0.13.1"
|
||||
|
||||
"sleep@^6.3.0":
|
||||
"integrity" "sha512-+WgYl951qdUlb1iS97UvQ01pkauoBK9ML9I/CMPg41v0Ze4EyMlTgFTDDo32iYj98IYqxIjDMRd+L71lawFfpQ=="
|
||||
"resolved" "https://registry.npmjs.org/sleep/-/sleep-6.3.0.tgz"
|
||||
"version" "6.3.0"
|
||||
dependencies:
|
||||
"nan" "^2.14.1"
|
||||
|
||||
"sprintf-js@^1.1.2":
|
||||
"integrity" "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
|
||||
"resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz"
|
||||
"version" "1.1.2"
|
||||
|
||||
"string_decoder@~1.1.1":
|
||||
"integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
|
||||
"resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||
"version" "1.1.1"
|
||||
dependencies:
|
||||
"safe-buffer" "~5.1.0"
|
||||
|
||||
"sumchecker@^3.0.1":
|
||||
"integrity" "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg=="
|
||||
"resolved" "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz"
|
||||
"version" "3.0.1"
|
||||
dependencies:
|
||||
"debug" "^4.1.0"
|
||||
|
||||
"to-readable-stream@^1.0.0":
|
||||
"integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
|
||||
"resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz"
|
||||
"version" "1.0.0"
|
||||
|
||||
"tunnel@^0.0.6":
|
||||
"integrity" "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
|
||||
"resolved" "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz"
|
||||
"version" "0.0.6"
|
||||
|
||||
"type-fest@^0.13.1":
|
||||
"integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
|
||||
"resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz"
|
||||
"version" "0.13.1"
|
||||
|
||||
"type-fest@^1.0.2":
|
||||
"integrity" "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="
|
||||
"resolved" "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz"
|
||||
"version" "1.4.0"
|
||||
|
||||
"typedarray@^0.0.6":
|
||||
"integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
"resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
|
||||
"version" "0.0.6"
|
||||
|
||||
"universalify@^0.1.0":
|
||||
"integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
|
||||
"resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
|
||||
"version" "0.1.2"
|
||||
|
||||
"uri-js@^4.2.2":
|
||||
"integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
|
||||
"resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
|
||||
"version" "4.4.1"
|
||||
dependencies:
|
||||
"punycode" "^2.1.0"
|
||||
|
||||
"url-parse-lax@^3.0.0":
|
||||
"integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww="
|
||||
"resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz"
|
||||
"version" "3.0.0"
|
||||
dependencies:
|
||||
"prepend-http" "^2.0.0"
|
||||
|
||||
"util-deprecate@~1.0.1":
|
||||
"integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
"resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"wrappy@1":
|
||||
"integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
"resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
|
||||
"version" "1.0.2"
|
||||
|
||||
"ws@^7.3.1":
|
||||
"integrity" "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg=="
|
||||
"resolved" "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz"
|
||||
"version" "7.5.4"
|
||||
|
||||
"yallist@^4.0.0":
|
||||
"integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||
"resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
|
||||
"version" "4.0.0"
|
||||
|
||||
"yauzl@^2.10.0":
|
||||
"integrity" "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk="
|
||||
"resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz"
|
||||
"version" "2.10.0"
|
||||
dependencies:
|
||||
"buffer-crc32" "~0.2.3"
|
||||
"fd-slicer" "~1.1.0"
|
||||
Loading…
Reference in a new issue