generated from maochaoying/dreamworks-frontend-template
commit
88caed256c
28 changed files with 2602 additions and 0 deletions
-
4.env
-
24.gitignore
-
9.prettierrc
-
3.vscode/extensions.json
-
66README.md
-
12index.html
-
1345package-lock.json
-
22package.json
-
7src/App.vue
-
9src/api/index.js
-
129src/assets/css/reset.css
-
0src/assets/scss/globalMixin.scss
-
1src/assets/scss/globalVar.scss
-
33src/components/Count.vue
-
8src/main.js
-
4src/mock/command.js
-
7src/pages/Home.vue
-
18src/router/index.js
-
38src/service/index.js
-
145src/service/request.js
-
63src/socket/index.js
-
6src/store/index.js
-
27src/store/modules/count.js
-
40src/store/modules/websocket.js
-
0src/style.scss
-
0src/utils/index.js
-
24vite.config.js
-
558yarn.lock
@ -0,0 +1,4 @@ |
|||
VITE_BASE_URL=http://127.0.0.1:8080/ |
|||
|
|||
VITE_BASE_WS1_URL=ws://127.0.0.1:19001/ |
|||
VITE_BASE_WS2_URL=ws://127.0.0.1:19002/ |
@ -0,0 +1,24 @@ |
|||
# Logs |
|||
logs |
|||
*.log |
|||
npm-debug.log* |
|||
yarn-debug.log* |
|||
yarn-error.log* |
|||
pnpm-debug.log* |
|||
lerna-debug.log* |
|||
|
|||
node_modules |
|||
dist |
|||
dist-ssr |
|||
*.local |
|||
|
|||
# Editor directories and files |
|||
.vscode/* |
|||
!.vscode/extensions.json |
|||
.idea |
|||
.DS_Store |
|||
*.suo |
|||
*.ntvs* |
|||
*.njsproj |
|||
*.sln |
|||
*.sw? |
@ -0,0 +1,9 @@ |
|||
{ |
|||
"semi": false, |
|||
"singleQuote": true, |
|||
"printWidth": 80, |
|||
"trailingComma": "all", |
|||
"arrowParens": "avoid", |
|||
"tabWidth": 2, |
|||
"endOfLine": "lf" |
|||
} |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] |
|||
} |
@ -0,0 +1,66 @@ |
|||
# 技术选型 |
|||
|
|||
- 本项目采用的 vue3 + vite + js 脚手架搭建 |
|||
- 包管理工具为 Yarn |
|||
|
|||
# 代码规范 |
|||
|
|||
> 随着团队的不断扩大,每个人都有自己的 coding 风格,但是如果一个项目中的代码存在多种风格,那对于代码的可维护性和可读性都大大减少,所以说一个项目规范对于前端团队来说很重要。 |
|||
|
|||
## Prettier |
|||
|
|||
1、vscode插件 --- Prettier - Code formatter |
|||
2、.prettierrc文件 |
|||
|
|||
# 全局状态管理 |
|||
|
|||
> 使用 pinia |
|||
|
|||
# UI 框架 |
|||
|
|||
https://tdesign.tencent.com/ |
|||
|
|||
- 桌面端 |
|||
- Vue Next for Web |
|||
- https://tdesign.tencent.com/vue-next/getting-started |
|||
- 移动端 |
|||
- Vue3 for Mobile |
|||
- https://tdesign.tencent.com/mobile-vue/getting-started |
|||
|
|||
# axios 封装 |
|||
|
|||
> src/service |
|||
|
|||
- 灵活的拦截器; |
|||
- 可以创建多个实例,灵活根据项目进行调整; |
|||
- 每个实例,或者说每个接口都可以灵活配置请求头、超时时间等; |
|||
- 取消请求(可以根据 url 取消单个请求也可以取消全部请求)。 |
|||
|
|||
# 项目结构 |
|||
|
|||
```javascript |
|||
├─node_modules // 依赖包 |
|||
├─public |
|||
└─src |
|||
├─api // 请求方法 |
|||
├─assets // 静态资源 |
|||
│ └─scss // scss文件 |
|||
| └─globalMixin.scss // 全局mixin |
|||
| └─globalVar.scss // 全局样式变量 |
|||
├─components // 组件 |
|||
├─router // 路由 |
|||
├─service // 封装的工具类 |
|||
├─store // 全局状态管理 |
|||
│ └─modules // 分modules |
|||
├─views // 视图 |
|||
├─App.vue // 项目根组件 |
|||
├─main.js // 项目入口 |
|||
└─style.scss // 全局样式 |
|||
``` |
|||
|
|||
# 启动方式 |
|||
|
|||
```bash |
|||
yarn |
|||
yarn dev |
|||
``` |
@ -0,0 +1,12 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8" /> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|||
<title>Vite + Vue</title> |
|||
</head> |
|||
<body> |
|||
<div id="app"></div> |
|||
<script type="module" src="/src/main.js"></script> |
|||
</body> |
|||
</html> |
1345
package-lock.json
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,22 @@ |
|||
{ |
|||
"name": "dreamworks-frontend-template", |
|||
"private": true, |
|||
"version": "0.0.0", |
|||
"type": "module", |
|||
"scripts": { |
|||
"dev": "vite", |
|||
"build": "vite build", |
|||
"preview": "vite preview" |
|||
}, |
|||
"dependencies": { |
|||
"axios": "^1.3.4", |
|||
"pinia": "^2.0.32", |
|||
"vue": "^3.2.45", |
|||
"vue-router": "^4.0.13" |
|||
}, |
|||
"devDependencies": { |
|||
"@vitejs/plugin-vue": "^4.0.0", |
|||
"sass": "^1.58.3", |
|||
"vite": "^4.1.0" |
|||
} |
|||
} |
@ -0,0 +1,7 @@ |
|||
<script setup></script> |
|||
|
|||
<template> |
|||
<router-view></router-view> |
|||
</template> |
|||
|
|||
<style scoped></style> |
@ -0,0 +1,9 @@ |
|||
import request from '@/service' |
|||
|
|||
export const addCameraConfig = data => { |
|||
return request({ |
|||
url: `/camera/add`, |
|||
method: 'POST', |
|||
data, |
|||
}) |
|||
} |
@ -0,0 +1,129 @@ |
|||
/* http://meyerweb.com/eric/tools/css/reset/ |
|||
v2.0 | 20110126 |
|||
License: none (public domain) |
|||
*/ |
|||
|
|||
html, |
|||
body, |
|||
div, |
|||
span, |
|||
applet, |
|||
object, |
|||
iframe, |
|||
h1, |
|||
h2, |
|||
h3, |
|||
h4, |
|||
h5, |
|||
h6, |
|||
p, |
|||
blockquote, |
|||
pre, |
|||
a, |
|||
abbr, |
|||
acronym, |
|||
address, |
|||
big, |
|||
cite, |
|||
code, |
|||
del, |
|||
dfn, |
|||
em, |
|||
img, |
|||
ins, |
|||
kbd, |
|||
q, |
|||
s, |
|||
samp, |
|||
small, |
|||
strike, |
|||
strong, |
|||
sub, |
|||
sup, |
|||
tt, |
|||
var, |
|||
b, |
|||
u, |
|||
i, |
|||
center, |
|||
dl, |
|||
dt, |
|||
dd, |
|||
ol, |
|||
ul, |
|||
li, |
|||
fieldset, |
|||
form, |
|||
label, |
|||
legend, |
|||
table, |
|||
caption, |
|||
tbody, |
|||
tfoot, |
|||
thead, |
|||
tr, |
|||
th, |
|||
td, |
|||
article, |
|||
aside, |
|||
canvas, |
|||
details, |
|||
embed, |
|||
figure, |
|||
figcaption, |
|||
footer, |
|||
header, |
|||
hgroup, |
|||
menu, |
|||
nav, |
|||
output, |
|||
ruby, |
|||
section, |
|||
summary, |
|||
time, |
|||
mark, |
|||
audio, |
|||
video { |
|||
margin: 0; |
|||
padding: 0; |
|||
border: 0; |
|||
font-size: 100%; |
|||
font: inherit; |
|||
vertical-align: baseline; |
|||
} |
|||
/* HTML5 display-role reset for older browsers */ |
|||
article, |
|||
aside, |
|||
details, |
|||
figcaption, |
|||
figure, |
|||
footer, |
|||
header, |
|||
hgroup, |
|||
menu, |
|||
nav, |
|||
section { |
|||
display: block; |
|||
} |
|||
body { |
|||
line-height: 1; |
|||
} |
|||
ol, |
|||
ul { |
|||
list-style: none; |
|||
} |
|||
blockquote, |
|||
q { |
|||
quotes: none; |
|||
} |
|||
blockquote:before, |
|||
blockquote:after, |
|||
q:before, |
|||
q:after { |
|||
content: ''; |
|||
content: none; |
|||
} |
|||
table { |
|||
border-collapse: collapse; |
|||
border-spacing: 0; |
|||
} |
@ -0,0 +1 @@ |
|||
$bg-color: #1989fa; |
@ -0,0 +1,33 @@ |
|||
<template> |
|||
<div class="bg"> |
|||
<span>当前数值{{ countComputed }}</span> |
|||
<br /> |
|||
<span>双倍数值{{ doubleCount }}</span> |
|||
<br /> |
|||
<button type="primary" size="default" @click="countStore.countAdd"> |
|||
+1 |
|||
</button> |
|||
<button type="primary" size="default" @click="countStore.countReduce"> |
|||
-1 |
|||
</button> |
|||
</div> |
|||
</template> |
|||
<script setup> |
|||
import { computed, onMounted } from 'vue' |
|||
import { get15DaysWeatherByArea } from '@/api' |
|||
import { useCountStore } from '@/store' |
|||
import { storeToRefs } from 'pinia' |
|||
const countStore = useCountStore() |
|||
// 通过计算属性 |
|||
const countComputed = computed(() => countStore.count) |
|||
// 通过 storeToRefs api 结构 |
|||
const { doubleCount } = storeToRefs(countStore) |
|||
onMounted(() => { |
|||
get15DaysWeatherByArea() |
|||
}) |
|||
</script> |
|||
<style scoped lang="scss"> |
|||
.bg { |
|||
background: $bg-color; |
|||
} |
|||
</style> |
@ -0,0 +1,8 @@ |
|||
import { createApp } from 'vue' |
|||
import router from './router' |
|||
import store from './store' |
|||
import App from './App.vue' |
|||
import './style.scss' |
|||
import '@/assets/css/reset.css' |
|||
|
|||
createApp(App).use(router).use(store).mount('#app') |
@ -0,0 +1,4 @@ |
|||
export const logoutJSON = { |
|||
command: 'unlogin', |
|||
messageId: 'unlogin', |
|||
} |
@ -0,0 +1,7 @@ |
|||
<template> |
|||
<div>home</div> |
|||
</template> |
|||
|
|||
<script setup></script> |
|||
|
|||
<style lang="scss" scoped></style> |
@ -0,0 +1,18 @@ |
|||
import { createRouter, createWebHashHistory } from 'vue-router' |
|||
|
|||
const Home = () => import('@/pages/Home') |
|||
|
|||
// 配置路由信息
|
|||
const routes = [ |
|||
{ |
|||
path: '/', |
|||
component: Home, |
|||
}, |
|||
] |
|||
|
|||
const router = createRouter({ |
|||
routes, |
|||
history: createWebHashHistory(), |
|||
}) |
|||
|
|||
export default router |
@ -0,0 +1,38 @@ |
|||
import Request from './request' |
|||
/** |
|||
* 后续封装get post delete等方法的简单调用。 |
|||
*/ |
|||
|
|||
const request = new Request({ |
|||
baseURL: import.meta.env.VITE_BASE_URL, |
|||
timeout: 10000 * 60 * 5, |
|||
interceptors: { |
|||
// 请求拦截器
|
|||
requestInterceptors: config => config, |
|||
// 响应拦截器
|
|||
responseInterceptors: result => result, |
|||
}, |
|||
}) |
|||
|
|||
/** |
|||
* @description: 函数的描述 |
|||
* @param config 不管是GET还是POST请求都使用data |
|||
* @returns {Promise} |
|||
*/ |
|||
const dreamworkRequest = config => { |
|||
const { method = 'GET' } = config |
|||
if (method === 'get' || method === 'GET') { |
|||
config.params = config.data |
|||
} |
|||
return request.request(config) |
|||
} |
|||
// 取消请求
|
|||
export const cancelRequest = url => { |
|||
return request.cancelRequest(url) |
|||
} |
|||
// 取消全部请求
|
|||
export const cancelAllRequest = () => { |
|||
return request.cancelAllRequest() |
|||
} |
|||
|
|||
export default dreamworkRequest |
@ -0,0 +1,145 @@ |
|||
import axios from 'axios' |
|||
import Cookie from '@/utils/cookie' |
|||
class Request { |
|||
// axios 实例
|
|||
instance |
|||
// 拦截器对象
|
|||
interceptorsObj |
|||
|
|||
/* |
|||
存放取消方法的集合 |
|||
* 在创建请求后将取消请求方法 push 到该集合中 |
|||
* 封装一个方法,可以取消请求,传入 url: string|string[] |
|||
* 在请求之前判断同一URL是否存在,如果存在就取消请求 |
|||
*/ |
|||
cancelRequestSourceList |
|||
/* |
|||
存放所有请求URL的集合 |
|||
* 请求之前需要将url push到该集合中 |
|||
* 请求完毕后将url从集合中删除 |
|||
* 添加在发送请求之前完成,删除在响应之后删除 |
|||
*/ |
|||
requestUrlList |
|||
|
|||
constructor(config) { |
|||
this.requestUrlList = [] |
|||
this.cancelRequestSourceList = [] |
|||
this.instance = axios.create(config) |
|||
this.interceptorsObj = config.interceptors |
|||
// 拦截器执行顺序 接口请求 -> 实例请求 -> 全局请求 -> 实例响应 -> 全局响应 -> 接口响应
|
|||
this.instance.interceptors.request.use( |
|||
config => { |
|||
const token = Cookie.getCookie('t') || null |
|||
config.headers['Content-Type'] = 'application/json;charset=utf-8' |
|||
if (token) { |
|||
config.headers['Authorization'] = token |
|||
} |
|||
return config |
|||
}, |
|||
err => err, |
|||
) |
|||
|
|||
// 使用实例拦截器
|
|||
this.instance.interceptors.request.use( |
|||
this.interceptorsObj?.requestInterceptors, |
|||
this.interceptorsObj?.requestInterceptorsCatch, |
|||
) |
|||
this.instance.interceptors.response.use( |
|||
this.interceptorsObj?.responseInterceptors, |
|||
this.interceptorsObj?.responseInterceptorsCatch, |
|||
) |
|||
// 全局响应拦截器保证最后执行
|
|||
this.instance.interceptors.response.use( |
|||
// 因为我们接口的数据都在res.data下,所以我们直接返回res.data
|
|||
res => { |
|||
return res.data |
|||
}, |
|||
err => { |
|||
if (err.response?.status == 403) { |
|||
// token超时
|
|||
Cookie.clearAllCookie() |
|||
window.location.href = '/' |
|||
} |
|||
return err |
|||
}, |
|||
) |
|||
} |
|||
/** |
|||
* @description: 获取指定 url 在 cancelRequestSourceList 中的索引 |
|||
* @param {string} url |
|||
* @returns {number} 索引位置 |
|||
*/ |
|||
getSourceIndex(url) { |
|||
return this.cancelRequestSourceList?.findIndex(item => { |
|||
return Object.keys(item)[0] === url |
|||
}) |
|||
} |
|||
/** |
|||
* @description: 删除 requestUrlList 和 cancelRequestSourceList |
|||
* @param {string} url |
|||
* @returns {*} |
|||
*/ |
|||
delUrl(url) { |
|||
const urlIndex = this.requestUrlList?.findIndex(u => u === url) |
|||
const sourceIndex = this.getSourceIndex(url) |
|||
// 删除url和cancel方法
|
|||
urlIndex !== -1 && this.requestUrlList?.splice(urlIndex, 1) |
|||
sourceIndex !== -1 && this.cancelRequestSourceList?.splice(sourceIndex, 1) |
|||
} |
|||
request(config) { |
|||
return new Promise((resolve, reject) => { |
|||
// 如果我们为单个请求设置拦截器,这里使用单个请求的拦截器
|
|||
if (config.interceptors?.requestInterceptors) { |
|||
config = config.interceptors.requestInterceptors(config) |
|||
} |
|||
const url = config.url |
|||
// url存在保存取消请求方法和当前请求url
|
|||
if (url) { |
|||
this.requestUrlList?.push(url) |
|||
config.cancelToken = new axios.CancelToken(c => { |
|||
this.cancelRequestSourceList?.push({ |
|||
[url]: c, |
|||
}) |
|||
}) |
|||
} |
|||
this.instance |
|||
.request(config) |
|||
.then(res => { |
|||
// 如果我们为单个响应设置拦截器,这里使用单个响应的拦截器
|
|||
if (config.interceptors?.responseInterceptors) { |
|||
res = config.interceptors.responseInterceptors.res |
|||
} |
|||
resolve(res) |
|||
}) |
|||
.catch(err => { |
|||
reject(err) |
|||
}) |
|||
.finally(() => { |
|||
url && this.delUrl(url) |
|||
}) |
|||
}) |
|||
} |
|||
// 取消请求
|
|||
cancelRequest(url) { |
|||
if (typeof url === 'string') { |
|||
// 取消单个请求
|
|||
const sourceIndex = this.getSourceIndex(url) |
|||
sourceIndex >= 0 && this.cancelRequestSourceList?.[sourceIndex][url]() |
|||
} else { |
|||
// 存在多个需要取消请求的地址
|
|||
url.forEach(u => { |
|||
const sourceIndex = this.getSourceIndex(u) |
|||
sourceIndex >= 0 && this.cancelRequestSourceList?.[sourceIndex][u]() |
|||
}) |
|||
} |
|||
} |
|||
// 取消全部请求
|
|||
cancelAllRequest() { |
|||
this.cancelRequestSourceList?.forEach(source => { |
|||
const key = Object.keys(source)[0] |
|||
source[key]() |
|||
}) |
|||
} |
|||
} |
|||
|
|||
export default Request |
@ -0,0 +1,63 @@ |
|||
export default class Socket { |
|||
constructor(url, protocols) { |
|||
this.url = url |
|||
this.protocols = protocols |
|||
this.ws = null |
|||
this.reconnectTimeout = 2000 |
|||
this.maxReconnectTimes = 10000000 |
|||
this.reconnectTimes = 0 |
|||
} |
|||
|
|||
connect() { |
|||
console.log(this.url) |
|||
this.ws = new WebSocket(this.url, this.protocols) |
|||
this.ws.onopen = () => { |
|||
console.log('WebSocket连接成功') |
|||
this.reconnectTimes = 0 |
|||
} |
|||
this.ws.onclose = () => { |
|||
console.log('WebSocket断开连接') |
|||
this.reconnect() |
|||
} |
|||
this.ws.onerror = err => { |
|||
console.log('WebSocket连接出错', err) |
|||
} |
|||
} |
|||
|
|||
reconnect() { |
|||
if (this.reconnectTimes < this.maxReconnectTimes) { |
|||
setTimeout(() => { |
|||
this.connect() |
|||
this.reconnectTimes++ |
|||
}, this.reconnectTimeout) |
|||
} else { |
|||
console.log('WebSocket重连超过最大次数,放弃重连') |
|||
} |
|||
} |
|||
|
|||
// 消息发送
|
|||
msg(param) { |
|||
if (param === 'heartbeat') { |
|||
this.ws.send(param) |
|||
} else { |
|||
this.ws.send(JSON.stringify(param)) |
|||
} |
|||
} |
|||
|
|||
// 延迟发送
|
|||
timeout(param) { |
|||
setTimeout(() => { |
|||
this.msg(param) |
|||
}, 2000) |
|||
} |
|||
|
|||
send(param) { |
|||
if (this.ws.readyState === this.ws.OPEN) { |
|||
this.msg(param) |
|||
} else if (this.ws.readyState === this.ws.CONNECTING) { |
|||
this.timeout(param) |
|||
} else { |
|||
this.timeout(param) |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,6 @@ |
|||
import { createPinia } from 'pinia' |
|||
import { useCountStore } from './modules/count' |
|||
const store = createPinia() |
|||
|
|||
export default store |
|||
export { useCountStore } |
@ -0,0 +1,27 @@ |
|||
import { defineStore } from 'pinia' |
|||
export const useCountStore = defineStore({ |
|||
id: 'count', // id必填,且需要唯一
|
|||
// state
|
|||
state: () => { |
|||
return { |
|||
count: 0, |
|||
} |
|||
}, |
|||
// getters
|
|||
getters: { |
|||
doubleCount: state => { |
|||
return state.count * 2 |
|||
}, |
|||
}, |
|||
// actions
|
|||
actions: { |
|||
// actions 同样支持异步写法
|
|||
countAdd() { |
|||
// 可以通过 this 访问 state 中的内容
|
|||
this.count++ |
|||
}, |
|||
countReduce() { |
|||
this.count-- |
|||
}, |
|||
}, |
|||
}) |
@ -0,0 +1,40 @@ |
|||
import { defineStore } from 'pinia' |
|||
import Socket from '@/socket' |
|||
|
|||
export const useWebSocketStore = defineStore({ |
|||
id: 'websocket', // id必填,且需要唯一
|
|||
// state
|
|||
state: () => { |
|||
return { |
|||
// 命令websocket 实例
|
|||
socketCommandInstance: null, |
|||
// 事件上报websocket 实例
|
|||
socketEventInstance: null, |
|||
} |
|||
}, |
|||
// actions
|
|||
actions: { |
|||
initCommandSocket() { |
|||
const url = import.meta.env.VITE_BASE_WS1_URL |
|||
const init = new Socket(url) |
|||
init.connect() |
|||
init.ws.onmessage = function (ev) {} |
|||
this.socketCommandInstance = init |
|||
}, |
|||
sendCommandMsg(message) { |
|||
this.socketCommandInstance?.msg(message) |
|||
}, |
|||
initEventSocket() { |
|||
const url = import.meta.env.VITE_BASE_WS2_URL |
|||
const init = new Socket(url) |
|||
init.connect() |
|||
init.ws.onmessage = function (ev) { |
|||
// console.log(JSON.parse(ev.data))
|
|||
} |
|||
this.socketEventInstance = init |
|||
}, |
|||
sendEventMsg(message) { |
|||
this.socketEventInstance?.msg(message) |
|||
}, |
|||
}, |
|||
}) |
@ -0,0 +1,24 @@ |
|||
import { defineConfig } from 'vite' |
|||
import { resolve } from 'path' |
|||
import vue from '@vitejs/plugin-vue' |
|||
|
|||
// https://vitejs.dev/config/
|
|||
export default defineConfig({ |
|||
resolve: { |
|||
alias: { |
|||
'@': resolve(__dirname, 'src'), |
|||
cpns: resolve(__dirname, 'src/components'), |
|||
}, |
|||
extensions: ['.js', '.json', '.vue'], |
|||
}, |
|||
plugins: [vue()], |
|||
//配置sass
|
|||
css: { |
|||
preprocessorOptions: { |
|||
scss: { |
|||
additionalData: |
|||
'@import "./src/assets/scss/globalVar.scss";@import "./src/assets/scss/globalMixin.scss";', |
|||
}, |
|||
}, |
|||
}, |
|||
}) |
@ -0,0 +1,558 @@ |
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |
|||
# yarn lockfile v1 |
|||
|
|||
|
|||
"@babel/parser@^7.16.4": |
|||
version "7.21.2" |
|||
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz" |
|||
integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== |
|||
|
|||
"@esbuild/android-arm64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" |
|||
integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== |
|||
|
|||
"@esbuild/android-arm@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" |
|||
integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== |
|||
|
|||
"@esbuild/android-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" |
|||
integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== |
|||
|
|||
"@esbuild/darwin-arm64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" |
|||
integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== |
|||
|
|||
"@esbuild/darwin-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" |
|||
integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== |
|||
|
|||
"@esbuild/freebsd-arm64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" |
|||
integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== |
|||
|
|||
"@esbuild/freebsd-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" |
|||
integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== |
|||
|
|||
"@esbuild/linux-arm64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" |
|||
integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== |
|||
|
|||
"@esbuild/linux-arm@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" |
|||
integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== |
|||
|
|||
"@esbuild/linux-ia32@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" |
|||
integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== |
|||
|
|||
"@esbuild/linux-loong64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" |
|||
integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== |
|||
|
|||
"@esbuild/linux-mips64el@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" |
|||
integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== |
|||
|
|||
"@esbuild/linux-ppc64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" |
|||
integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== |
|||
|
|||
"@esbuild/linux-riscv64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" |
|||
integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== |
|||
|
|||
"@esbuild/linux-s390x@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" |
|||
integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== |
|||
|
|||
"@esbuild/linux-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" |
|||
integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== |
|||
|
|||
"@esbuild/netbsd-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" |
|||
integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== |
|||
|
|||
"@esbuild/openbsd-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" |
|||
integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== |
|||
|
|||
"@esbuild/sunos-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" |
|||
integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== |
|||
|
|||
"@esbuild/win32-arm64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" |
|||
integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== |
|||
|
|||
"@esbuild/win32-ia32@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" |
|||
integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== |
|||
|
|||
"@esbuild/win32-x64@0.16.17": |
|||
version "0.16.17" |
|||
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz" |
|||
integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== |
|||
|
|||
"@vitejs/plugin-vue@^4.0.0": |
|||
version "4.0.0" |
|||
resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz" |
|||
integrity sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA== |
|||
|
|||
"@vue/compiler-core@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz" |
|||
integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig== |
|||
dependencies: |
|||
"@babel/parser" "^7.16.4" |
|||
"@vue/shared" "3.2.47" |
|||
estree-walker "^2.0.2" |
|||
source-map "^0.6.1" |
|||
|
|||
"@vue/compiler-dom@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz" |
|||
integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ== |
|||
dependencies: |
|||
"@vue/compiler-core" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
|
|||
"@vue/compiler-sfc@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz" |
|||
integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== |
|||
dependencies: |
|||
"@babel/parser" "^7.16.4" |
|||
"@vue/compiler-core" "3.2.47" |
|||
"@vue/compiler-dom" "3.2.47" |
|||
"@vue/compiler-ssr" "3.2.47" |
|||
"@vue/reactivity-transform" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
estree-walker "^2.0.2" |
|||
magic-string "^0.25.7" |
|||
postcss "^8.1.10" |
|||
source-map "^0.6.1" |
|||
|
|||
"@vue/compiler-ssr@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz" |
|||
integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw== |
|||
dependencies: |
|||
"@vue/compiler-dom" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
|
|||
"@vue/devtools-api@^6.0.0", "@vue/devtools-api@^6.5.0": |
|||
version "6.5.0" |
|||
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz" |
|||
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== |
|||
|
|||
"@vue/reactivity-transform@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz" |
|||
integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA== |
|||
dependencies: |
|||
"@babel/parser" "^7.16.4" |
|||
"@vue/compiler-core" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
estree-walker "^2.0.2" |
|||
magic-string "^0.25.7" |
|||
|
|||
"@vue/reactivity@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz" |
|||
integrity sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ== |
|||
dependencies: |
|||
"@vue/shared" "3.2.47" |
|||
|
|||
"@vue/runtime-core@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz" |
|||
integrity sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA== |
|||
dependencies: |
|||
"@vue/reactivity" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
|
|||
"@vue/runtime-dom@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz" |
|||
integrity sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA== |
|||
dependencies: |
|||
"@vue/runtime-core" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
csstype "^2.6.8" |
|||
|
|||
"@vue/server-renderer@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz" |
|||
integrity sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA== |
|||
dependencies: |
|||
"@vue/compiler-ssr" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
|||
|
|||
"@vue/shared@3.2.47": |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz" |
|||
integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ== |
|||
|
|||
anymatch@~3.1.2: |
|||
version "3.1.3" |
|||
resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" |
|||
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== |
|||
dependencies: |
|||
normalize-path "^3.0.0" |
|||
picomatch "^2.0.4" |
|||
|
|||
asynckit@^0.4.0: |
|||
version "0.4.0" |
|||
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" |
|||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== |
|||
|
|||
axios@^1.3.4: |
|||
version "1.3.4" |
|||
resolved "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz" |
|||
integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== |
|||
dependencies: |
|||
follow-redirects "^1.15.0" |
|||
form-data "^4.0.0" |
|||
proxy-from-env "^1.1.0" |
|||
|
|||
binary-extensions@^2.0.0: |
|||
version "2.2.0" |
|||
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" |
|||
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== |
|||
|
|||
braces@~3.0.2: |
|||
version "3.0.2" |
|||
resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" |
|||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== |
|||
dependencies: |
|||
fill-range "^7.0.1" |
|||
|
|||
"chokidar@>=3.0.0 <4.0.0": |
|||
version "3.5.3" |
|||
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" |
|||
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== |
|||
dependencies: |
|||
anymatch "~3.1.2" |
|||
braces "~3.0.2" |
|||
glob-parent "~5.1.2" |
|||
is-binary-path "~2.1.0" |
|||
is-glob "~4.0.1" |
|||
normalize-path "~3.0.0" |
|||
readdirp "~3.6.0" |
|||
optionalDependencies: |
|||
fsevents "~2.3.2" |
|||
|
|||
combined-stream@^1.0.8: |
|||
version "1.0.8" |
|||
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" |
|||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== |
|||
dependencies: |
|||
delayed-stream "~1.0.0" |
|||
|
|||
csstype@^2.6.8: |
|||
version "2.6.21" |
|||
resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz" |
|||
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== |
|||
|
|||
delayed-stream@~1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" |
|||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== |
|||
|
|||
esbuild@^0.16.14: |
|||
version "0.16.17" |
|||
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz" |
|||
integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== |
|||
optionalDependencies: |
|||
"@esbuild/android-arm" "0.16.17" |
|||
"@esbuild/android-arm64" "0.16.17" |
|||
"@esbuild/android-x64" "0.16.17" |
|||
"@esbuild/darwin-arm64" "0.16.17" |
|||
"@esbuild/darwin-x64" "0.16.17" |
|||
"@esbuild/freebsd-arm64" "0.16.17" |
|||
"@esbuild/freebsd-x64" "0.16.17" |
|||
"@esbuild/linux-arm" "0.16.17" |
|||
"@esbuild/linux-arm64" "0.16.17" |
|||
"@esbuild/linux-ia32" "0.16.17" |
|||
"@esbuild/linux-loong64" "0.16.17" |
|||
"@esbuild/linux-mips64el" "0.16.17" |
|||
"@esbuild/linux-ppc64" "0.16.17" |
|||
"@esbuild/linux-riscv64" "0.16.17" |
|||
"@esbuild/linux-s390x" "0.16.17" |
|||
"@esbuild/linux-x64" "0.16.17" |
|||
"@esbuild/netbsd-x64" "0.16.17" |
|||
"@esbuild/openbsd-x64" "0.16.17" |
|||
"@esbuild/sunos-x64" "0.16.17" |
|||
"@esbuild/win32-arm64" "0.16.17" |
|||
"@esbuild/win32-ia32" "0.16.17" |
|||
"@esbuild/win32-x64" "0.16.17" |
|||
|
|||
estree-walker@^2.0.2: |
|||
version "2.0.2" |
|||
resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" |
|||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== |
|||
|
|||
fill-range@^7.0.1: |
|||
version "7.0.1" |
|||
resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" |
|||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== |
|||
dependencies: |
|||
to-regex-range "^5.0.1" |
|||
|
|||
follow-redirects@^1.15.0: |
|||
version "1.15.2" |
|||
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" |
|||
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== |
|||
|
|||
form-data@^4.0.0: |
|||
version "4.0.0" |
|||
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" |
|||
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== |
|||
dependencies: |
|||
asynckit "^0.4.0" |
|||
combined-stream "^1.0.8" |
|||
mime-types "^2.1.12" |
|||
|
|||
fsevents@~2.3.2: |
|||
version "2.3.3" |
|||
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" |
|||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== |
|||
|
|||
function-bind@^1.1.1: |
|||
version "1.1.1" |
|||
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" |
|||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== |
|||
|
|||
glob-parent@~5.1.2: |
|||
version "5.1.2" |
|||
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" |
|||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== |
|||
dependencies: |
|||
is-glob "^4.0.1" |
|||
|
|||
has@^1.0.3: |
|||
version "1.0.3" |
|||
resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" |
|||
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== |
|||
dependencies: |
|||
function-bind "^1.1.1" |
|||
|
|||
immutable@^4.0.0: |
|||
version "4.2.4" |
|||
resolved "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz" |
|||
integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== |
|||
|
|||
is-binary-path@~2.1.0: |
|||
version "2.1.0" |
|||
resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" |
|||
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== |
|||
dependencies: |
|||
binary-extensions "^2.0.0" |
|||
|
|||
is-core-module@^2.9.0: |
|||
version "2.11.0" |
|||
resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" |
|||
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== |
|||
dependencies: |
|||
has "^1.0.3" |
|||
|
|||
is-extglob@^2.1.1: |
|||
version "2.1.1" |
|||
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" |
|||
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== |
|||
|
|||
is-glob@^4.0.1, is-glob@~4.0.1: |
|||
version "4.0.3" |
|||
resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" |
|||
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== |
|||
dependencies: |
|||
is-extglob "^2.1.1" |
|||
|
|||
is-number@^7.0.0: |
|||
version "7.0.0" |
|||
resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" |
|||
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== |
|||
|
|||
magic-string@^0.25.7: |
|||
version "0.25.9" |
|||
resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" |
|||
integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== |
|||
dependencies: |
|||
sourcemap-codec "^1.4.8" |
|||
|
|||
mime-db@1.52.0: |
|||
version "1.52.0" |
|||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" |
|||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== |
|||
|
|||
mime-types@^2.1.12: |
|||
version "2.1.35" |
|||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" |
|||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== |
|||
dependencies: |
|||
mime-db "1.52.0" |
|||
|
|||
nanoid@^3.3.4: |
|||
version "3.3.4" |
|||
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" |
|||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== |
|||
|
|||
normalize-path@^3.0.0, normalize-path@~3.0.0: |
|||
version "3.0.0" |
|||
resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" |
|||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== |
|||
|
|||
path-parse@^1.0.7: |
|||
version "1.0.7" |
|||
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" |
|||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== |
|||
|
|||
picocolors@^1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" |
|||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== |
|||
|
|||
picomatch@^2.0.4, picomatch@^2.2.1: |
|||
version "2.3.1" |
|||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" |
|||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== |
|||
|
|||
pinia@^2.0.32: |
|||
version "2.0.32" |
|||
resolved "https://registry.npmjs.org/pinia/-/pinia-2.0.32.tgz" |
|||
integrity sha512-8Tw4OrpCSJ028UUyp0gYPP/wyjigLoEceuO/x1G+FlHVf73337e5vLm4uDmrRIoBG1hvaed/eSHnrCFjOc4nkA== |
|||
dependencies: |
|||
"@vue/devtools-api" "^6.5.0" |
|||
vue-demi "*" |
|||
|
|||
postcss@^8.1.10, postcss@^8.4.21: |
|||
version "8.4.21" |
|||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" |
|||
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== |
|||
dependencies: |
|||
nanoid "^3.3.4" |
|||
picocolors "^1.0.0" |
|||
source-map-js "^1.0.2" |
|||
|
|||
proxy-from-env@^1.1.0: |
|||
version "1.1.0" |
|||
resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" |
|||
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== |
|||
|
|||
readdirp@~3.6.0: |
|||
version "3.6.0" |
|||
resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" |
|||
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== |
|||
dependencies: |
|||
picomatch "^2.2.1" |
|||
|
|||
resolve@^1.22.1: |
|||
version "1.22.1" |
|||
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" |
|||
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== |
|||
dependencies: |
|||
is-core-module "^2.9.0" |
|||
path-parse "^1.0.7" |
|||
supports-preserve-symlinks-flag "^1.0.0" |
|||
|
|||
rollup@^3.10.0: |
|||
version "3.18.0" |
|||
resolved "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz" |
|||
integrity sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg== |
|||
optionalDependencies: |
|||
fsevents "~2.3.2" |
|||
|
|||
sass@^1.58.3: |
|||
version "1.58.3" |
|||
resolved "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz" |
|||
integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A== |
|||
dependencies: |
|||
chokidar ">=3.0.0 <4.0.0" |
|||
immutable "^4.0.0" |
|||
source-map-js ">=0.6.2 <2.0.0" |
|||
|
|||
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: |
|||
version "1.0.2" |
|||
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" |
|||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== |
|||
|
|||
source-map@^0.6.1: |
|||
version "0.6.1" |
|||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" |
|||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== |
|||
|
|||
sourcemap-codec@^1.4.8: |
|||
version "1.4.8" |
|||
resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" |
|||
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== |
|||
|
|||
supports-preserve-symlinks-flag@^1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" |
|||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== |
|||
|
|||
to-regex-range@^5.0.1: |
|||
version "5.0.1" |
|||
resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" |
|||
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== |
|||
dependencies: |
|||
is-number "^7.0.0" |
|||
|
|||
vite@^4.1.0: |
|||
version "4.1.4" |
|||
resolved "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz" |
|||
integrity sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg== |
|||
dependencies: |
|||
esbuild "^0.16.14" |
|||
postcss "^8.4.21" |
|||
resolve "^1.22.1" |
|||
rollup "^3.10.0" |
|||
optionalDependencies: |
|||
fsevents "~2.3.2" |
|||
|
|||
vue-demi@*: |
|||
version "0.13.11" |
|||
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz" |
|||
integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== |
|||
|
|||
vue-router@^4.0.13: |
|||
version "4.0.13" |
|||
resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.0.13.tgz" |
|||
integrity sha512-LmXrC+BkDRLak+d5xTMgUYraT3Nj0H/vCbP+7usGvIl9Viqd1UP6AsP0i69pSbn9O0dXK/xCdp4yPw21HqV9Jw== |
|||
dependencies: |
|||
"@vue/devtools-api" "^6.0.0" |
|||
|
|||
vue@^3.2.45: |
|||
version "3.2.47" |
|||
resolved "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz" |
|||
integrity sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ== |
|||
dependencies: |
|||
"@vue/compiler-dom" "3.2.47" |
|||
"@vue/compiler-sfc" "3.2.47" |
|||
"@vue/runtime-dom" "3.2.47" |
|||
"@vue/server-renderer" "3.2.47" |
|||
"@vue/shared" "3.2.47" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue