增加用户体系

This commit is contained in:
muwoo 2023-07-19 09:43:48 +08:00
parent ca6629988a
commit 47bada5c01
24 changed files with 716 additions and 176 deletions

1
feature/.env.development Normal file
View File

@ -0,0 +1 @@
VUE_APP_API_BASE=http://localhost:7001/

1
feature/.env.production Normal file
View File

@ -0,0 +1 @@
VUE_APP_API_BASE=https://rubick.vip/api/

View File

@ -8,14 +8,15 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@vue/cli-service": "~4.5.0",
"@ant-design/icons-vue": "^6.0.1", "@ant-design/icons-vue": "^6.0.1",
"@vue/cli-service": "~4.5.0",
"ant-design-vue": "3.2.14", "ant-design-vue": "3.2.14",
"axios": "^0.24.0", "axios": "^0.24.0",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"lodash.throttle": "^4.1.1", "lodash.throttle": "^4.1.1",
"markdown-it": "^12.2.0", "markdown-it": "^12.2.0",
"nanoid": "^4.0.2",
"vue": "3.2.45", "vue": "3.2.45",
"vue-router": "^4.0.0-0", "vue-router": "^4.0.0-0",
"vuex": "^4.0.0-0" "vuex": "^4.0.0-0"

View File

@ -22,13 +22,7 @@
<template #icon> <template #icon>
<SettingOutlined /> <SettingOutlined />
</template> </template>
设置 账户与设置
</a-menu-item>
<a-menu-item key="account">
<template #icon>
<UserOutlined />
</template>
账户
</a-menu-item> </a-menu-item>
<a-menu-item key="dev"> <a-menu-item key="dev">
<template #icon> <template #icon>

View File

@ -1,7 +1,6 @@
@import "~ant-design-vue/dist/antd.less"; // 引入官方提供的 less 样式入口文件 @import "~ant-design-vue/dist/antd.less"; // 引入官方提供的 less 样式入口文件
@primary-color: #ff4ea4; // 全局主色 @primary-color: #ff4ea4; // 全局主色
@link-color: #ff4ea4; // 链接色
@error-color: #ff4ea4; // 错误色 @error-color: #ff4ea4; // 错误色
:root { :root {

View File

@ -0,0 +1,30 @@
import axios from 'axios';
const instance = axios.create({
baseURL: process.env.VUE_APP_API_BASE,
});
export default {
async getScanCode({ scene }: { scene: string }) {
const res = await instance.get('/users/getScanCode', {
params: {
scene,
},
});
return res.data;
},
async checkLoginStatus({ scene }: { scene: string }) {
const res = await instance.post('/users/checkLoginStatus', {
scene,
});
return res.data;
},
async getUserInfo({ openId }: { openId: string }) {
const res = await instance.post('/users/getUserInfo', {
openId,
});
return res.data;
},
};

View File

@ -1,8 +1,17 @@
import { createApp } from "vue"; import { createApp } from 'vue';
import Antd from "ant-design-vue"; import Antd, { ConfigProvider } from 'ant-design-vue';
import App from "./App.vue"; import App from './App.vue';
import router from "./router"; import router from './router';
import store from "./store"; import store from './store';
import "./assets/ant-reset.less"; import './assets/ant-reset.less';
import 'ant-design-vue/dist/antd.variable.min.css';
createApp(App).use(store).use(Antd).use(router).mount("#app"); const { remote } = window.require('electron');
const { perf } = remote.getGlobal('OP_CONFIG').get();
ConfigProvider.config({
theme: perf.custom || {},
});
createApp(App).use(store).use(Antd).use(router).mount('#app');

View File

@ -1,39 +1,39 @@
import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router"; import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';
import Market from "../views/market/index.vue"; import Market from '../views/market/index.vue';
import Installed from "../views/installed/index.vue"; import Installed from '../views/installed/index.vue';
import Account from "../views/account/index.vue"; import Account from '../views/account/index.vue';
import Settings from "../views/settings/index.vue"; import Settings from '../views/settings/user.vue';
import Dev from "../views/dev/index.vue"; import Dev from '../views/dev/index.vue';
const routes: Array<RouteRecordRaw> = [ const routes: Array<RouteRecordRaw> = [
{ {
path: "/market", path: '/market',
name: "market", name: 'market',
component: Market, component: Market,
}, },
{ {
path: "/installed", path: '/installed',
name: "installed", name: 'installed',
component: Installed, component: Installed,
}, },
{ {
path: "/account", path: '/account',
name: "account", name: 'account',
component: Account, component: Account,
}, },
{ {
path: "/settings", path: '/settings',
name: "settings", name: 'settings',
component: Settings, component: Settings,
}, },
{ {
path: "/dev", path: '/dev',
name: "dev", name: 'dev',
component: Dev, component: Dev,
}, },
{ {
path: "/:catchAll(.*)", path: '/:catchAll(.*)',
name: "market", name: 'market',
component: Market, component: Market,
}, },
]; ];

View File

@ -1,13 +1,72 @@
<template> <template>
<div class="account"> <div class="account">
<a-result status="404" title="玩命开发中" sub-title="个人中心正在开发中敬请期待..."> <a-result
v-if="!userInfo"
title="请先登录"
sub-title="用户暂未登录,无法体验更多设置"
>
<template #extra>
<a-button @click="showModal" type="primary">
使用微信小程序登录
</a-button>
</template>
</a-result> </a-result>
<a-modal :footer="null" v-model:visible="visible">
<a-result
title="请使用微信扫码登录!"
sub-title="使用微信扫描上面的 rubick 小程序二维码进行授权登录"
>
<template #icon>
<img width="200" :src="imgCode" />
</template>
</a-result>
</a-modal>
</div> </div>
</template> </template>
<script> <script setup>
export default { import { nanoid } from 'nanoid';
import { ref, watch } from 'vue';
import { message } from 'ant-design-vue';
import service from '../../assets/service';
const userInfo = ref(window.rubick.dbStorage.getItem('rubick-user-info'));
const imgCode = ref('');
const scene = nanoid();
const visible = ref(false);
const showModal = () => {
visible.value = true;
if (!imgCode.value && !userInfo.value) {
service.getScanCode({ scene }).then(res => {
imgCode.value = `data:image/png;base64,${res.dataUrl}`;
});
}
}; };
let timer = null;
watch([visible], () => {
if (visible.value) {
timer = setInterval(() => {
service.checkLoginStatus({ scene }).then((res) => {
console.log(res);
if (res.openId) {
window.rubick.dbStorage.setItem('rubick-user-info', res);
userInfo.value = res;
message.success('登录成功!');
visible.value = false;
clearInterval(timer);
timer = null;
}
});
}, 2000);
} else {
clearInterval(timer);
timer = null;
}
});
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>

View File

@ -64,7 +64,6 @@
:key="cmd" :key="cmd"
v-for="cmd in item.cmds" v-for="cmd in item.cmds"
:class="{ executable: !cmd.label }" :class="{ executable: !cmd.label }"
:color="!cmd.label && '#87d068'"
> >
<span <span
@click=" @click="
@ -329,7 +328,7 @@ const deletePlugin = async (plugin) => {
&.executable { &.executable {
cursor: pointer; cursor: pointer;
color: var(--ant-info-color);
&:hover { &:hover {
transform: translateY(-2px); transform: translateY(-2px);
} }

View File

@ -7,7 +7,7 @@
<a-list-item v-if="item" @click="showDetail(item)"> <a-list-item v-if="item" @click="showDetail(item)">
<template #actions> <template #actions>
<a-button <a-button
style="color: #ff4ea4" class="download-plugin-btn"
type="text" type="text"
:loading="item.isloading" :loading="item.isloading"
> >
@ -134,6 +134,9 @@ const showDetail = async item => {
} }
.panel-item { .panel-item {
margin: 20px 0; margin: 20px 0;
.download-plugin-btn {
color: var(--ant-primary-color);
}
.title { .title {
margin-bottom: 30px; margin-bottom: 30px;
color: var(--color-text-primary); color: var(--color-text-primary);

View File

@ -2,6 +2,12 @@
<div class="settings"> <div class="settings">
<div class="left-menu"> <div class="left-menu">
<a-menu v-model:selectedKeys="currentSelect" mode="inline"> <a-menu v-model:selectedKeys="currentSelect" mode="inline">
<a-menu-item key="userInfo">
<template #icon>
<UserOutlined/>
</template>
账户信息
</a-menu-item>
<a-menu-item key="normal"> <a-menu-item key="normal">
<template #icon> <template #icon>
<ToolOutlined/> <ToolOutlined/>
@ -183,6 +189,7 @@
</div> </div>
<Localhost v-if="currentSelect[0] === 'localhost'"/> <Localhost v-if="currentSelect[0] === 'localhost'"/>
<SuperPanel v-if="currentSelect[0] === 'superpanel'"/> <SuperPanel v-if="currentSelect[0] === 'superpanel'"/>
<UserInfo v-if="currentSelect[0] === 'userInfo'"/>
</div> </div>
</div> </div>
</template> </template>
@ -195,12 +202,14 @@ import {
MinusCircleOutlined, MinusCircleOutlined,
PlusCircleOutlined, PlusCircleOutlined,
FileAddOutlined, FileAddOutlined,
UserOutlined,
} from '@ant-design/icons-vue'; } from '@ant-design/icons-vue';
import debounce from 'lodash.debounce'; import debounce from 'lodash.debounce';
import {ref, reactive, watch, toRefs, computed, toRaw} from 'vue'; import {ref, reactive, watch, toRefs, computed, toRaw} from 'vue';
import keycodes from './keycode'; import keycodes from './keycode';
import Localhost from './localhost.vue'; import Localhost from './localhost.vue';
import SuperPanel from './super-panel.vue'; import SuperPanel from './super-panel.vue';
import UserInfo from './user-info';
const {remote, ipcRenderer} = window.require('electron'); const {remote, ipcRenderer} = window.require('electron');
@ -224,6 +233,7 @@ const state = reactive({
common: {}, common: {},
local: {}, local: {},
global: [], global: [],
custom: {},
}); });
const isWindows = window?.rubick?.isWindows(); const isWindows = window?.rubick?.isWindows();
@ -232,11 +242,12 @@ const tipText = computed(() => {
return `先按功能键Ctrl、Shift、${optionKeyName}),再按其他普通键。`; return `先按功能键Ctrl、Shift、${optionKeyName}),再按其他普通键。`;
}); });
const currentSelect = ref(['normal']); const currentSelect = ref(['userInfo']);
const {perf, global: defaultGlobal} = remote.getGlobal('OP_CONFIG').get(); const {perf, global: defaultGlobal} = remote.getGlobal('OP_CONFIG').get();
state.shortCut = perf.shortCut; state.shortCut = perf.shortCut;
state.custom = perf.custom;
state.common = perf.common; state.common = perf.common;
state.local = perf.local; state.local = perf.local;
state.global = defaultGlobal; state.global = defaultGlobal;
@ -249,6 +260,7 @@ const setConfig = debounce(() => {
shortCut: state.shortCut, shortCut: state.shortCut,
common: state.common, common: state.common,
local: state.local, local: state.local,
custom: state.custom,
}, },
global: state.global, global: state.global,
}) })
@ -357,8 +369,9 @@ const addConfig = () => {
const {shortCut, common, local, global} = toRefs(state); const {shortCut, common, local, global} = toRefs(state);
</script> </script>
<style lang="less" scoped> <style lang="less">
@import '~@/assets/common.less'; @import '~@/assets/common.less';
.settings { .settings {
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
@ -366,6 +379,12 @@ const { shortCut, common, local, global } = toRefs(state);
background: var(--color-body-bg); background: var(--color-body-bg);
height: calc(~'100vh - 46px'); height: calc(~'100vh - 46px');
display: flex; display: flex;
.ant-menu {
background: var(--color-body-bg) !important;
color: var(--color-text-content) !important;
}
.settings-detail { .settings-detail {
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
@ -373,16 +392,20 @@ const { shortCut, common, local, global } = toRefs(state);
overflow: auto; overflow: auto;
height: 100%; height: 100%;
background: var(--color-body-bg); background: var(--color-body-bg);
.setting-item { .setting-item {
margin-bottom: 20px; margin-bottom: 20px;
.ant-form-item { .ant-form-item {
margin-bottom: 0; margin-bottom: 0;
} }
.title { .title {
color: #6c9fe2; color: var(--ant-primary-color);
font-size: 15px; font-size: 15px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.settings-item-li { .settings-item-li {
padding-left: 20px; padding-left: 20px;
display: flex; display: flex;
@ -390,20 +413,30 @@ const { shortCut, common, local, global } = toRefs(state);
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: 10px; margin-bottom: 10px;
.label { .label {
color: var(--color-text-content); color: var(--color-text-content);
} }
.value { .value {
width: 300px; width: 300px;
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
border: 1px solid var(--color-border-light); border: 1px solid var(--color-border-light);
color: #6c9fe2; color: var(--ant-primary-color);
font-size: 14px; font-size: 14px;
height: 24px; height: 24px;
font-weight: lighter; font-weight: lighter;
.ant-input {
text-align: center;
color: var(--ant-primary-color);
font-size: 14px;
font-weight: lighter;
} }
:deep(.ant-switch) { }
.ant-switch {
&:not(.ant-switch-checked) { &:not(.ant-switch-checked) {
background: var(--color-list-hover); background: var(--color-list-hover);
} }
@ -411,48 +444,56 @@ const { shortCut, common, local, global } = toRefs(state);
} }
} }
} }
.feature-container { .feature-container {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-top: 10px; margin-top: 10px;
font-size: 14px; font-size: 14px;
.item { .item {
flex: 1; flex: 1;
color: var(--color-text-content); color: var(--color-text-content);
} }
.short-cut { .short-cut {
margin-left: 20px; margin-left: 20px;
} }
.value { .value {
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
border: 1px solid var(--color-border-light); border: 1px solid var(--color-border-light);
color: #6c9fe2; color: var(--ant-primary-color);
font-size: 14px; font-size: 14px;
height: 24px; height: 24px;
font-weight: lighter; font-weight: lighter;
margin-top: 10px; margin-top: 10px;
position: relative; position: relative;
background: var(--color-input-hover); background: var(--color-input-hover);
:deep(.ant-input) {
color: #6c9fe2; .ant-input {
color: var(--ant-primary-color);
font-weight: lighter; font-weight: lighter;
background: none; background: none;
} }
:deep(.anticon) {
.anticon {
color: var(--color-text-desc); color: var(--color-text-desc);
} }
&.ant-input-affix-wrapper { &.ant-input-affix-wrapper {
display: flex; display: flex;
} }
&:hover { &:hover {
.anticon { .anticon {
display: block; display: block;
color: var(--color-text-content); color: var(--color-text-content);
} }
} }
.anticon { .anticon {
position: absolute; position: absolute;
display: none; display: none;
@ -462,24 +503,29 @@ const { shortCut, common, local, global } = toRefs(state);
} }
} }
} }
.add-global { .add-global {
color: #6c9fe2; color: var(--ant-primary-color);
margin-top: 20px; margin-top: 20px;
width: 100%; width: 100%;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
} }
:deep(.ant-collapse) {
.ant-collapse {
background: var(--color-input-hover); background: var(--color-input-hover);
.ant-collapse-content { .ant-collapse-content {
background: var(--color-input-hover); background: var(--color-input-hover);
color: var(--color-text-content); color: var(--color-text-content);
} }
h3, h3,
.ant-collapse-header, .ant-collapse-header,
.ant-list-item-meta-title { .ant-list-item-meta-title {
color: var(--color-text-primary); color: var(--color-text-primary);
} }
.ant-list-item-meta-description { .ant-list-item-meta-description {
color: var(--color-text-desc); color: var(--color-text-desc);
} }

View File

@ -0,0 +1,178 @@
<template>
<div class="user-info">
<div class="info-container">
<a-result
class="user-info-result"
:title="userInfo.name || 'rubick 用户'"
sub-title="软件偏好设置完成后需重启软件,头像和昵称请前往小程序设置"
>
<template #icon>
<a-avatar :size="64" v-if="!userInfo.avatar">
<template #icon><UserOutlined /></template>
</a-avatar>
<a-avatar :src="userInfo.avatar" :size="64" v-else />
</template>
</a-result>
</div>
<div class="settings-container">
<div class="setting-item">
<div class="title">主题色设置</div>
<div class="settings-item-li">
<div class="label">主色调</div>
<a-input v-model:value="custom.primaryColor" class="value">
<template #prefix>
<div :style="{ background: custom.primaryColor, width: '10px', height: '10px' }"></div>
</template>
</a-input>
</div>
<div class="settings-item-li">
<div class="label">错误色</div>
<a-input v-model:value="custom.errorColor" class="value">
<template #prefix>
<div :style="{ background: custom.errorColor, width: '10px', height: '10px' }"></div>
</template>
</a-input>
</div>
<div class="settings-item-li">
<div class="label">警告色</div>
<a-input v-model:value="custom.warningColor" class="value">
<template #prefix>
<div :style="{ background: custom.warningColor, width: '10px', height: '10px' }"></div>
</template>
</a-input>
</div>
<div class="settings-item-li">
<div class="label">成功色</div>
<a-input v-model:value="custom.successColor" class="value">
<template #prefix>
<div :style="{ background: custom.successColor, width: '10px', height: '10px' }"></div>
</template>
</a-input>
</div>
<div class="settings-item-li">
<div class="label">提醒色</div>
<a-input v-model:value="custom.infoColor" class="value">
<template #prefix>
<div :style="{ background: custom.infoColor, width: '10px', height: '10px' }"></div>
</template>
</a-input>
</div>
</div>
<div class="setting-item">
<div class="title">用户个性化设置</div>
<div class="settings-item-li">
<div class="label">主搜索框欢迎语</div>
<a-input v-model:value="custom.placeholder" class="value"></a-input>
</div>
<div class="settings-item-li">
<div class="label">界面 logo</div>
<div class="img-container">
<img
class="custom-img"
:src="custom.logo"
/>
<a-button @click="changeLogo" size="small" type="link">点我替换</a-button>
</div>
</div>
</div>
<div class="footer-btn">
<a-button @click="reset" type="danger">恢复默认设置</a-button>
</div>
</div>
</div>
</template>
<script setup>
import {reactive, ref, toRefs, watch} from 'vue';
import { Modal } from 'ant-design-vue';
import { UserOutlined } from '@ant-design/icons-vue';
import debounce from 'lodash.debounce';
import service from '../../assets/service';
const { remote, ipcRenderer } = window.require('electron');
const state = reactive({
custom: {},
});
const { perf } = remote.getGlobal('OP_CONFIG').get();
state.custom = perf.custom || {};
const userInfo = ref(window.rubick.dbStorage.getItem('rubick-user-info'));
service.getUserInfo({ openId: userInfo.value.openId }).then((res) => {
userInfo.value = res;
});
const setConfig = debounce(() => {
remote.getGlobal('OP_CONFIG').set(
JSON.parse(
JSON.stringify({
perf: {
...perf,
custom: state.custom,
},
})
)
);
ipcRenderer.send('re-register');
}, 500);
watch(state, setConfig);
const { custom } = toRefs(state);
const changeLogo = () => {
const [logoPath] = window.rubick.showOpenDialog({
title: '请选择 logo 路径',
filters: [{ name: 'images', extensions: ['png'] }],
properties: ['openFile'],
});
state.custom.logo = `file://${logoPath}`;
};
const reset = () => {
Modal.warning({
title: '确定恢复默认设置吗?',
content: '回复后之前的设置将会被清空',
onOk() {
const defaultcustom = remote.getGlobal('OP_CONFIG').getDefaultConfig().perf.custom;
state.custom = JSON.parse(JSON.stringify(defaultcustom));
},
});
};
</script>
<style lang="less">
.settings-container {
margin-top: 18px;
}
.user-info-result {
padding: 0;
&.ant-result {
padding: 24px;
}
.icon {
font-size: 48px;
}
.ant-result-icon {
margin-bottom: 12px;
}
.ant-result-title {
font-size: 18px;
}
}
.img-container {
width: 300px;
}
.custom-img {
width: 60px;
height: 60px;
}
.footer-btn {
text-align: right;
border-top: 1px dashed #ddd;
padding-top: 12px;
}
</style>

View File

@ -0,0 +1,88 @@
<template>
<div class="account">
<a-result
v-if="!userInfo"
title="请先登录"
sub-title="登录后可开启用户个性化设置"
>
<template #extra>
<a-button @click="showModal" type="primary">
使用微信小程序登录
</a-button>
</template>
</a-result>
<Index v-else />
<a-modal :footer="null" v-model:visible="visible">
<a-result
title="请使用微信扫码登录!"
sub-title="使用微信扫描上面的 rubick 小程序二维码进行授权登录"
>
<template #icon>
<img width="200" :src="imgCode" />
</template>
</a-result>
</a-modal>
</div>
</template>
<script setup>
import { nanoid } from 'nanoid';
import { ref, watch } from 'vue';
import { message } from 'ant-design-vue';
import Index from './index';
import service from '../../assets/service';
const userInfo = ref(window.rubick.dbStorage.getItem('rubick-user-info'));
const imgCode = ref('');
const scene = nanoid();
const visible = ref(false);
const showModal = () => {
visible.value = true;
if (!imgCode.value && !userInfo.value) {
service.getScanCode({ scene }).then(res => {
imgCode.value = `data:image/png;base64,${res.dataUrl}`;
});
}
};
let timer = null;
watch([visible], () => {
if (visible.value) {
timer = setInterval(() => {
service.checkLoginStatus({ scene }).then((res) => {
console.log(res);
if (res.openId) {
window.rubick.dbStorage.setItem('rubick-user-info', res);
userInfo.value = res;
message.success('登录成功!');
visible.value = false;
clearInterval(timer);
timer = null;
}
});
}, 2000);
} else {
clearInterval(timer);
timer = null;
}
});
</script>
<style lang="less" scoped>
.account {
box-sizing: border-box;
width: 100%;
overflow-x: hidden;
background: var(--color-body-bg);
height: calc(~"100vh - 46px");
:deep(.ant-result-title) {
color: var(--color-text-primary);
}
:deep(.ant-result-subtitle) {
color: var(--color-text-desc);
}
}
</style>

View File

@ -6408,6 +6408,11 @@ nanoid@^3.3.4:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanoid@^4.0.2:
version "4.0.2"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-4.0.2.tgz#140b3c5003959adbebf521c170f282c5e7f9fb9e"
integrity sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==
nanomatch@^1.2.9: nanomatch@^1.2.9:
version "1.2.13" version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@ -9112,6 +9117,11 @@ uuid@^8.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
uuid@^9.0.0:
version "9.0.0"
resolved "https://registry.npmmirror.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
v8-compile-cache@^2.0.3: v8-compile-cache@^2.0.3:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"

View File

@ -1,6 +1,6 @@
{ {
"name": "rubick", "name": "rubick",
"version": "2.2.13", "version": "2.3.0",
"author": "muwoo <2424880409@qq.com>", "author": "muwoo <2424880409@qq.com>",
"private": true, "private": true,
"scripts": { "scripts": {
@ -20,13 +20,13 @@
}, },
"dependencies": { "dependencies": {
"@better-scroll/core": "^2.4.2", "@better-scroll/core": "^2.4.2",
"ant-design-vue": "^2.2.8", "ant-design-vue": "3.2.14",
"axios": "^1.3.4", "axios": "^1.3.4",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.3",
"electron-updater": "^4.6.5",
"extract-file-icon": "^0.3.2", "extract-file-icon": "^0.3.2",
"fix-path": "^3.0.0", "fix-path": "^3.0.0",
"electron-updater": "^4.6.5",
"get-mac-apps": "^1.0.2", "get-mac-apps": "^1.0.2",
"got": "^11.8.3", "got": "^11.8.3",
"lodash.throttle": "^4.1.1", "lodash.throttle": "^4.1.1",

View File

@ -24,7 +24,7 @@
<div class="rubick-select"> <div class="rubick-select">
<div class="select-tag" style="display: none;"></div> <div class="select-tag" style="display: none;"></div>
<span class="main-input ant-input-affix-wrapper"> <span class="main-input ant-input-affix-wrapper">
<input placeholder="Hi, Rubick2" type="text" id="search" class="ant-input"> <input placeholder="你好 rubick" type="text" id="search" class="ant-input">
<span class="ant-input-suffix"> <span class="ant-input-suffix">
<div class="suffix-tool"> <div class="suffix-tool">
<span tabindex="-1" role="img" aria-label="more" class="anticon anticon-more icon-more"> <span tabindex="-1" role="img" aria-label="more" class="anticon anticon-more icon-more">

View File

@ -1,8 +1,15 @@
import commonConst from '@/common/utils/commonConst';
export default { export default {
version: 5, version: 9,
perf: { perf: {
custom: {
primaryColor: '#106898',
errorColor: '#ed6d46',
warningColor: '#e5a84b',
successColor: '#c0d695',
infoColor: '#007175',
logo: `file://${__static}/logo.png`,
placeholder: '你好 rubick',
},
shortCut: { shortCut: {
showAndHidden: 'Option+R', showAndHidden: 'Option+R',
separate: 'Ctrl+D', separate: 'Ctrl+D',
@ -12,8 +19,7 @@ export default {
common: { common: {
start: true, start: true,
space: true, space: true,
// 是否失焦隐藏。默认在dev环境不隐藏在打包后隐藏。 hideOnBlur: true,
hideOnBlur: commonConst.production(),
autoPast: false, autoPast: false,
darkMode: false, darkMode: false,
}, },

View File

@ -1,17 +1,20 @@
import path from "path"; import path from 'path';
import fs from "fs"; import fs from 'fs';
import getLocalDataFile from "./getLocalDataFile"; import getLocalDataFile from './getLocalDataFile';
import defaultConfigForAnyPlatform from "../constans/defaultConfig"; import defaultConfigForAnyPlatform from '../constans/defaultConfig';
const configPath = path.join(getLocalDataFile(), "./rubick-config.json"); const configPath = path.join(getLocalDataFile(), './rubick-config.json');
global.OP_CONFIG = { global.OP_CONFIG = {
config: null, config: null,
getDefaultConfig() {
return defaultConfigForAnyPlatform;
},
get() { get() {
try { try {
if (!global.OP_CONFIG.config) { if (!global.OP_CONFIG.config) {
global.OP_CONFIG.config = JSON.parse( global.OP_CONFIG.config = JSON.parse(
fs.readFileSync(configPath, "utf8") || fs.readFileSync(configPath, 'utf8') ||
JSON.stringify(defaultConfigForAnyPlatform) JSON.stringify(defaultConfigForAnyPlatform)
); );
} }

View File

@ -46,7 +46,7 @@ class VersionHandler {
if (releaseName === 'major') { if (releaseName === 'major') {
autoUpdater.quitAndInstall(true, true); autoUpdater.quitAndInstall(true, true);
} }
const mainWindow = main().getWindow() const mainWindow = main().getWindow();
dialog dialog
.showMessageBox(mainWindow, { .showMessageBox(mainWindow, {
title: '版本更新', title: '版本更新',

View File

@ -60,7 +60,7 @@ const renderTitle = (title) => {
if (!props.searchValue) return title; if (!props.searchValue) return title;
const result = title.toLowerCase().split(props.searchValue.toLowerCase()); const result = title.toLowerCase().split(props.searchValue.toLowerCase());
if (result && result.length > 1) { if (result && result.length > 1) {
return `<div>${result[0]}<span style='color: red'>${props.searchValue}</span>${result[1]}</div>`; return `<div>${result[0]}<span style='color: var(--ant-error-color)'>${props.searchValue}</span>${result[1]}</div>`;
} else { } else {
return `<div>${result[0]}</div>`; return `<div>${result[0]}</div>`;
} }

View File

@ -22,7 +22,7 @@
@keydown.up="e => keydownEvent(e, 'up')" @keydown.up="e => keydownEvent(e, 'up')"
@keydown="e => checkNeedInit(e)" @keydown="e => checkNeedInit(e)"
:value="searchValue" :value="searchValue"
:placeholder="placeholder || 'Hi, Rubick2'" :placeholder="placeholder || config.perf.custom.placeholder"
@keypress.enter="e => keydownEvent(e, 'enter')" @keypress.enter="e => keydownEvent(e, 'enter')"
@keypress.space="e => keydownEvent(e, 'space')" @keypress.space="e => keydownEvent(e, 'space')"
@focus="emit('focus')" @focus="emit('focus')"
@ -43,7 +43,7 @@
<img class="icon-tool" :src="currentPlugin.logo" /> <img class="icon-tool" :src="currentPlugin.logo" />
</div> </div>
<div @click="() => emit('openMenu')" v-else class="rubick-logo"> <div @click="() => emit('openMenu')" v-else class="rubick-logo">
<img src="../assets/logo.png" /> <img :src="config.perf.custom.logo" />
</div> </div>
</div> </div>
</template> </template>
@ -249,7 +249,7 @@ window.rubick.hooks.onHide = () => {
height: 32px; height: 32px;
position: relative; position: relative;
color: #fff; color: #fff;
background-color: rgba(255, 78, 164, 0.8); background-color: var(--ant-primary-color);
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
margin-right: 1px; margin-right: 1px;
@ -305,7 +305,7 @@ window.rubick.hooks.onHide = () => {
color: var(--color-text-content); color: var(--color-text-content);
} }
.loading { .loading {
color: #ff4ea4; color: var(--ant-primary-color);
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;

View File

@ -1,7 +1,25 @@
import { createApp } from 'vue'; import { createApp } from 'vue';
import { Button, List, Spin, Input, Avatar, Tag } from 'ant-design-vue'; import {
Button,
List,
Spin,
Input,
Avatar,
Tag,
ConfigProvider,
} from 'ant-design-vue';
import App from './App.vue'; import App from './App.vue';
import 'ant-design-vue/dist/antd.variable.min.css';
const { remote } = window.require('electron');
const { perf } = remote.getGlobal('OP_CONFIG').get();
ConfigProvider.config({
theme: perf.custom || {},
});
createApp(App) createApp(App)
.use(Button) .use(Button)
.use(List) .use(List)

267
yarn.lock
View File

@ -36,9 +36,9 @@
resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a"
integrity sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw== integrity sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==
"@ant-design/icons-vue@^6.0.0": "@ant-design/icons-vue@^6.1.0":
version "6.1.0" version "6.1.0"
resolved "https://registry.yarnpkg.com/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz#f9324fdc0eb4cea943cf626d2bf3db9a4ff4c074" resolved "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz#f9324fdc0eb4cea943cf626d2bf3db9a4ff4c074"
integrity sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA== integrity sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==
dependencies: dependencies:
"@ant-design/colors" "^6.0.0" "@ant-design/colors" "^6.0.0"
@ -1025,6 +1025,19 @@
dir-compare "^2.4.0" dir-compare "^2.4.0"
fs-extra "^9.0.1" fs-extra "^9.0.1"
"@electron/universal@1.2.1":
version "1.2.1"
resolved "https://registry.npmmirror.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339"
integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==
dependencies:
"@malept/cross-spawn-promise" "^1.1.0"
asar "^3.1.0"
debug "^4.3.1"
dir-compare "^2.4.0"
fs-extra "^9.0.1"
minimatch "^3.0.4"
plist "^3.0.4"
"@gar/promisify@^1.0.1": "@gar/promisify@^1.0.1":
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
@ -2300,22 +2313,23 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies: dependencies:
color-convert "^2.0.1" color-convert "^2.0.1"
ant-design-vue@^2.2.8: ant-design-vue@3.2.14:
version "2.2.8" version "3.2.14"
resolved "https://registry.yarnpkg.com/ant-design-vue/-/ant-design-vue-2.2.8.tgz#fa87cf6842d8ee9a0d8af393ff4099ecc4072f2b" resolved "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-3.2.14.tgz#04684ef9b855380059582a76bc9dd3c937f0fcc3"
integrity sha512-3graq9/gCfJQs6hznrHV6sa9oDmk/D1H3Oo0vLdVpPS/I61fZPk8NEyNKCHpNA6fT2cx6xx9U3QS63uuyikg/Q== integrity sha512-v4qeZGpmONUOvz6lyp/fJVoVthqV16CiG1rGrUZVB2IgRjCy59y2/F+RA67ZSJmjGIvqsE+tLoPmjJ0HVXg9XA==
dependencies: dependencies:
"@ant-design/icons-vue" "^6.0.0" "@ant-design/colors" "^6.0.0"
"@ant-design/icons-vue" "^6.1.0"
"@babel/runtime" "^7.10.5" "@babel/runtime" "^7.10.5"
"@ctrl/tinycolor" "^3.4.0"
"@simonwep/pickr" "~1.8.0" "@simonwep/pickr" "~1.8.0"
array-tree-filter "^2.1.0" array-tree-filter "^2.1.0"
async-validator "^3.3.0" async-validator "^4.0.0"
dayjs "^1.10.5"
dom-align "^1.12.1" dom-align "^1.12.1"
dom-scroll-into-view "^2.0.0" dom-scroll-into-view "^2.0.0"
lodash "^4.17.21" lodash "^4.17.21"
lodash-es "^4.17.15" lodash-es "^4.17.15"
moment "^2.27.0"
omit.js "^2.0.0"
resize-observer-polyfill "^1.5.1" resize-observer-polyfill "^1.5.1"
scroll-into-view-if-needed "^2.2.25" scroll-into-view-if-needed "^2.2.25"
shallow-equal "^1.0.0" shallow-equal "^1.0.0"
@ -2348,6 +2362,11 @@ app-builder-bin@3.7.1:
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e"
integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==
app-builder-bin@4.0.0:
version "4.0.0"
resolved "https://registry.npmmirror.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
app-builder-lib@22.13.1: app-builder-lib@22.13.1:
version "22.13.1" version "22.13.1"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.13.1.tgz#9beee0dd3df32fcce303b933d187bf986efe3381" resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.13.1.tgz#9beee0dd3df32fcce303b933d187bf986efe3381"
@ -2378,35 +2397,36 @@ app-builder-lib@22.13.1:
semver "^7.3.5" semver "^7.3.5"
temp-file "^3.4.0" temp-file "^3.4.0"
app-builder-lib@22.14.13: app-builder-lib@23.6.0:
version "22.14.13" version "23.6.0"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz#c1f5b6afc86596357598bb90b69eef06c7c2eeb3" resolved "https://registry.npmmirror.com/app-builder-lib/-/app-builder-lib-23.6.0.tgz#03cade02838c077db99d86212d61c5fc1d6da1a8"
integrity sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg== integrity sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==
dependencies: dependencies:
"7zip-bin" "~5.1.1" "7zip-bin" "~5.1.1"
"@develar/schema-utils" "~2.6.5" "@develar/schema-utils" "~2.6.5"
"@electron/universal" "1.0.5" "@electron/universal" "1.2.1"
"@malept/flatpak-bundler" "^0.4.0" "@malept/flatpak-bundler" "^0.4.0"
async-exit-hook "^2.0.1" async-exit-hook "^2.0.1"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util "22.14.13" builder-util "23.6.0"
builder-util-runtime "8.9.2" builder-util-runtime "9.1.1"
chromium-pickle-js "^0.2.0" chromium-pickle-js "^0.2.0"
debug "^4.3.2" debug "^4.3.4"
ejs "^3.1.6" ejs "^3.1.7"
electron-osx-sign "^0.5.0" electron-osx-sign "^0.6.0"
electron-publish "22.14.13" electron-publish "23.6.0"
form-data "^4.0.0" form-data "^4.0.0"
fs-extra "^10.0.0" fs-extra "^10.1.0"
hosted-git-info "^4.0.2" hosted-git-info "^4.1.0"
is-ci "^3.0.0" is-ci "^3.0.0"
isbinaryfile "^4.0.8" isbinaryfile "^4.0.10"
js-yaml "^4.1.0" js-yaml "^4.1.0"
lazy-val "^1.0.5" lazy-val "^1.0.5"
minimatch "^3.0.4" minimatch "^3.1.2"
read-config-file "6.2.0" read-config-file "6.2.0"
sanitize-filename "^1.6.3" sanitize-filename "^1.6.3"
semver "^7.3.5" semver "^7.3.7"
tar "^6.1.11"
temp-file "^3.4.0" temp-file "^3.4.0"
aproba@^1.1.1: aproba@^1.1.1:
@ -2499,9 +2519,9 @@ array.prototype.reduce@^1.0.4:
es-array-method-boxes-properly "^1.0.0" es-array-method-boxes-properly "^1.0.0"
is-string "^1.0.7" is-string "^1.0.7"
asar@^3.0.3: asar@^3.0.3, asar@^3.1.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221" resolved "https://registry.npmmirror.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221"
integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg== integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==
dependencies: dependencies:
chromium-pickle-js "^0.2.0" chromium-pickle-js "^0.2.0"
@ -2571,10 +2591,10 @@ async-limiter@~1.0.0:
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
async-validator@^3.3.0: async-validator@^4.0.0:
version "3.5.2" version "4.2.5"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339"
integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==
async@^2.6.4: async@^2.6.4:
version "2.6.4" version "2.6.4"
@ -3035,6 +3055,14 @@ builder-util-runtime@8.9.2:
debug "^4.3.2" debug "^4.3.2"
sax "^1.2.4" sax "^1.2.4"
builder-util-runtime@9.1.1:
version "9.1.1"
resolved "https://registry.npmmirror.com/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz#2da7b34e78a64ad14ccd070d6eed4662d893bd60"
integrity sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==
dependencies:
debug "^4.3.4"
sax "^1.2.4"
builder-util@22.13.1: builder-util@22.13.1:
version "22.13.1" version "22.13.1"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.13.1.tgz#fb2165c725b9405f0605a765cf91ec1870995ada" resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.13.1.tgz#fb2165c725b9405f0605a765cf91ec1870995ada"
@ -3056,20 +3084,20 @@ builder-util@22.13.1:
stat-mode "^1.0.0" stat-mode "^1.0.0"
temp-file "^3.4.0" temp-file "^3.4.0"
builder-util@22.14.13: builder-util@23.6.0:
version "22.14.13" version "23.6.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz#41b5b7b4ee53aff4e09cc007fb144522598f3ce6" resolved "https://registry.npmmirror.com/builder-util/-/builder-util-23.6.0.tgz#1880ec6da7da3fd6fa19b8bd71df7f39e8d17dd9"
integrity sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA== integrity sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==
dependencies: dependencies:
"7zip-bin" "~5.1.1" "7zip-bin" "~5.1.1"
"@types/debug" "^4.1.6" "@types/debug" "^4.1.6"
"@types/fs-extra" "^9.0.11" "@types/fs-extra" "^9.0.11"
app-builder-bin "3.7.1" app-builder-bin "4.0.0"
bluebird-lst "^1.0.9" bluebird-lst "^1.0.9"
builder-util-runtime "8.9.2" builder-util-runtime "9.1.1"
chalk "^4.1.1" chalk "^4.1.1"
cross-spawn "^7.0.3" cross-spawn "^7.0.3"
debug "^4.3.2" debug "^4.3.4"
fs-extra "^10.0.0" fs-extra "^10.0.0"
http-proxy-agent "^5.0.0" http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0"
@ -3512,6 +3540,15 @@ cliui@^7.0.2:
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
wrap-ansi "^7.0.0" wrap-ansi "^7.0.0"
cliui@^8.0.1:
version "8.0.1"
resolved "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
dependencies:
string-width "^4.2.0"
strip-ansi "^6.0.1"
wrap-ansi "^7.0.0"
clone-buffer@1.0.0: clone-buffer@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
@ -4128,6 +4165,11 @@ dashdash@^1.12.0:
dependencies: dependencies:
assert-plus "^1.0.0" assert-plus "^1.0.0"
dayjs@^1.10.5:
version "1.11.9"
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a"
integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: debug@2.6.9, debug@^2.2.0, debug@^2.3.3, 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"
@ -4135,7 +4177,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4" version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@ -4378,23 +4420,23 @@ dmg-builder@22.13.1:
optionalDependencies: optionalDependencies:
dmg-license "^1.0.9" dmg-license "^1.0.9"
dmg-builder@22.14.13: dmg-builder@23.6.0:
version "22.14.13" version "23.6.0"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz#cc613f3c18e889b8777d525991fd52f50a564f8c" resolved "https://registry.npmmirror.com/dmg-builder/-/dmg-builder-23.6.0.tgz#d39d3871bce996f16c07d2cafe922d6ecbb2a948"
integrity sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg== integrity sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==
dependencies: dependencies:
app-builder-lib "22.14.13" app-builder-lib "23.6.0"
builder-util "22.14.13" builder-util "23.6.0"
builder-util-runtime "8.9.2" builder-util-runtime "9.1.1"
fs-extra "^10.0.0" fs-extra "^10.0.0"
iconv-lite "^0.6.2" iconv-lite "^0.6.2"
js-yaml "^4.1.0" js-yaml "^4.1.0"
optionalDependencies: optionalDependencies:
dmg-license "^1.0.9" dmg-license "^1.0.11"
dmg-license@^1.0.9: dmg-license@^1.0.11, dmg-license@^1.0.9:
version "1.0.11" version "1.0.11"
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a" resolved "https://registry.npmmirror.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a"
integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q== integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==
dependencies: dependencies:
"@types/plist" "^3.0.1" "@types/plist" "^3.0.1"
@ -4593,6 +4635,13 @@ ejs@^3.1.6:
dependencies: dependencies:
jake "^10.8.5" jake "^10.8.5"
ejs@^3.1.7:
version "3.1.9"
resolved "https://registry.npmmirror.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
dependencies:
jake "^10.8.5"
electron-builder@22.13.1: electron-builder@22.13.1:
version "22.13.1" version "22.13.1"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.13.1.tgz#419b2736c0b08f54cb024bc02cfae6b878b34fc3" resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.13.1.tgz#419b2736c0b08f54cb024bc02cfae6b878b34fc3"
@ -4611,23 +4660,23 @@ electron-builder@22.13.1:
update-notifier "^5.1.0" update-notifier "^5.1.0"
yargs "^17.0.1" yargs "^17.0.1"
electron-builder@^22.2.0: electron-builder@^22.2.0, electron-builder@^23.0.3:
version "22.14.13" version "23.6.0"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz#fd40564685cf5422a8f8d667940af3d3776f4fb8" resolved "https://registry.npmmirror.com/electron-builder/-/electron-builder-23.6.0.tgz#c79050cbdce90ed96c5feb67c34e9e0a21b5331b"
integrity sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw== integrity sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==
dependencies: dependencies:
"@types/yargs" "^17.0.1" "@types/yargs" "^17.0.1"
app-builder-lib "22.14.13" app-builder-lib "23.6.0"
builder-util "22.14.13" builder-util "23.6.0"
builder-util-runtime "8.9.2" builder-util-runtime "9.1.1"
chalk "^4.1.1" chalk "^4.1.1"
dmg-builder "22.14.13" dmg-builder "23.6.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
is-ci "^3.0.0" is-ci "^3.0.0"
lazy-val "^1.0.5" lazy-val "^1.0.5"
read-config-file "6.2.0" read-config-file "6.2.0"
update-notifier "^5.1.0" simple-update-notifier "^1.0.7"
yargs "^17.0.1" yargs "^17.5.1"
electron-clipboard-ex@^1.3.3: electron-clipboard-ex@^1.3.3:
version "1.3.3" version "1.3.3"
@ -4659,6 +4708,18 @@ electron-osx-sign@^0.5.0:
minimist "^1.2.0" minimist "^1.2.0"
plist "^3.0.1" plist "^3.0.1"
electron-osx-sign@^0.6.0:
version "0.6.0"
resolved "https://registry.npmmirror.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8"
integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==
dependencies:
bluebird "^3.5.0"
compare-version "^0.1.2"
debug "^2.6.8"
isbinaryfile "^3.0.2"
minimist "^1.2.0"
plist "^3.0.1"
electron-publish@22.13.1: electron-publish@22.13.1:
version "22.13.1" version "22.13.1"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.13.1.tgz#7d3aedf988f995c149cc620aef0772559342ea03" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.13.1.tgz#7d3aedf988f995c149cc620aef0772559342ea03"
@ -4672,14 +4733,14 @@ electron-publish@22.13.1:
lazy-val "^1.0.5" lazy-val "^1.0.5"
mime "^2.5.2" mime "^2.5.2"
electron-publish@22.14.13: electron-publish@23.6.0:
version "22.14.13" version "23.6.0"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz#8b71e6975af8cc6ac5b21f293ade23f8704047c7" resolved "https://registry.npmmirror.com/electron-publish/-/electron-publish-23.6.0.tgz#ac9b469e0b07752eb89357dd660e5fb10b3d1ce9"
integrity sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ== integrity sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==
dependencies: dependencies:
"@types/fs-extra" "^9.0.11" "@types/fs-extra" "^9.0.11"
builder-util "22.14.13" builder-util "23.6.0"
builder-util-runtime "8.9.2" builder-util-runtime "9.1.1"
chalk "^4.1.1" chalk "^4.1.1"
fs-extra "^10.0.0" fs-extra "^10.0.0"
lazy-val "^1.0.5" lazy-val "^1.0.5"
@ -5616,7 +5677,7 @@ from2@^2.1.0:
inherits "^2.0.1" inherits "^2.0.1"
readable-stream "^2.0.0" readable-stream "^2.0.0"
fs-extra@^10.0.0: fs-extra@^10.0.0, fs-extra@^10.1.0:
version "10.1.0" version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
@ -6145,9 +6206,9 @@ hosted-git-info@^2.1.4:
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
hosted-git-info@^4.0.2: hosted-git-info@^4.0.2, hosted-git-info@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
@ -6953,9 +7014,9 @@ isbinaryfile@^3.0.2:
dependencies: dependencies:
buffer-alloc "^1.2.0" buffer-alloc "^1.2.0"
isbinaryfile@^4.0.8: isbinaryfile@^4.0.10, isbinaryfile@^4.0.8:
version "4.0.10" version "4.0.10"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" resolved "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
isexe@^2.0.0: isexe@^2.0.0:
@ -7753,7 +7814,7 @@ minimatch@3.0.4:
dependencies: dependencies:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
minimatch@^3.0.4, minimatch@^3.1.1: minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@ -7800,6 +7861,11 @@ minipass@^3.0.0, minipass@^3.1.1:
dependencies: dependencies:
yallist "^4.0.0" yallist "^4.0.0"
minipass@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
minizlib@^2.1.1: minizlib@^2.1.1:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
@ -7844,11 +7910,6 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
moment@^2.27.0:
version "2.29.4"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
move-concurrently@^1.0.1: move-concurrently@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@ -8231,11 +8292,6 @@ obuf@^1.0.0, obuf@^1.1.2:
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
omit.js@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-2.0.2.tgz#dd9b8436fab947a5f3ff214cb2538631e313ec2f"
integrity sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==
on-finished@2.4.1: on-finished@2.4.1:
version "2.4.1" version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
@ -9792,9 +9848,9 @@ semver-diff@^3.1.1:
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@7.0.0: semver@7.0.0, semver@~7.0.0:
version "7.0.0" version "7.0.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" resolved "https://registry.npmmirror.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
@ -9809,6 +9865,13 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
semver@^7.3.7:
version "7.5.3"
resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e"
integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
send@0.18.0: send@0.18.0:
version "0.18.0" version "0.18.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
@ -9979,6 +10042,13 @@ simple-swizzle@^0.2.2:
dependencies: dependencies:
is-arrayish "^0.3.1" is-arrayish "^0.3.1"
simple-update-notifier@^1.0.7:
version "1.1.0"
resolved "https://registry.npmmirror.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
dependencies:
semver "~7.0.0"
slash@^1.0.0: slash@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@ -10519,6 +10589,18 @@ tar@^6.0.2:
mkdirp "^1.0.3" mkdirp "^1.0.3"
yallist "^4.0.0" yallist "^4.0.0"
tar@^6.1.11:
version "6.1.15"
resolved "https://registry.npmmirror.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69"
integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
minipass "^5.0.0"
minizlib "^2.1.1"
mkdirp "^1.0.3"
yallist "^4.0.0"
temp-file@^3.4.0: temp-file@^3.4.0:
version "3.4.0" version "3.4.0"
resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7"
@ -11748,9 +11830,9 @@ yargs-parser@^20.2.2:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
yargs-parser@^21.0.0: yargs-parser@^21.0.0, yargs-parser@^21.1.1:
version "21.1.1" version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs@^13.3.2: yargs@^13.3.2:
@ -11812,6 +11894,19 @@ yargs@^17.0.1:
y18n "^5.0.5" y18n "^5.0.5"
yargs-parser "^21.0.0" yargs-parser "^21.0.0"
yargs@^17.5.1:
version "17.7.2"
resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
dependencies:
cliui "^8.0.1"
escalade "^3.1.1"
get-caller-file "^2.0.5"
require-directory "^2.1.1"
string-width "^4.2.3"
y18n "^5.0.5"
yargs-parser "^21.1.1"
yauzl@^2.10.0: yauzl@^2.10.0:
version "2.10.0" version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"