Merge pull request 'feat(mock): 重构 mock 数据处理并添加用户相关 API' (#7) from develop into master

Reviewed-on: #7
This commit is contained in:
jianguo 2025-04-29 14:02:50 +08:00
commit 953038723d
16 changed files with 714 additions and 479 deletions

View File

@ -1,87 +0,0 @@
---
description:
globs:
alwaysApply: true
---
---
description:
globs:
alwaysApply: true
---
### 技术栈
- Javascript
- Vue3
- vite
- axios
- element
- pinia
- mockjs
- sass
### 包管理器
- yarn
### 文件目录
- src/
- assets/ # 静态资源文件
- components/ # 公共组件
- views/ # 页面视图组件
- router/ # 路由配置
- store/ # Pinia状态管理
- api/ # API接口封装
- utils/ # 工具函数
- styles/ # 全局样式
- mocks/ # Mock数据
- App.vue # 根组件
- main.js # 入口文件
### 开发规范
1. 命名规范
- 组件名:大驼峰命名法,如 `UserProfile.vue`
- 变量名:小驼峰命名法,如 `userInfo`
- 常量名:全大写,下划线分隔,如 `API_BASE_URL`
- 文件夹名:小写,中划线分隔,如 `user-center`
2. 代码风格
- 使用 ESLint + Prettier 进行代码格式化
- 组件内使用 `<script setup>` 语法
- 使用 TypeScript 进行类型检查
- 遵循 Vue3 组合式 API 规范
3. 组件开发
- 组件必须包含 name 属性
- Props 必须定义类型和默认值
- 使用 defineEmits 定义事件
- 复杂组件需要添加注释说明
- 高度组件化开发,细致到功能模块
4. 状态管理
- 使用 Pinia 进行状态管理
- Store 按功能模块划分
- 避免在组件中直接修改 store 状态
5. 路由规范
- 路由配置统一在 router 目录下管理
- 使用路由懒加载
- 路由命名遵循小驼峰命名法
6. API 规范
- API 请求统一在 api 目录下管理
- 使用 axios 进行请求封装
- 统一错误处理
- 请求参数和响应数据需要定义类型
7. 样式规范
- 使用 SCSS 预处理器
- 遵循 BEM 命名规范
- 全局样式统一在 styles 目录下管理
- 组件样式使用 scoped
8. 提交规范
- 遵循 Conventional Commits 规范
- 提交信息必须清晰描述改动内容
- 禁止提交大文件

View File

@ -1,16 +1,16 @@
--- ---
description: description:
globs: globs:
alwaysApply: false alwaysApply: true
--- ---
### 技术栈 ### 技术栈
- Javascript - Javascript
- Vue3 - Vue3
- vite - vite
- axios - axios
- element - element-plus
- pinia - pinia
- mockjs - mockjs(vite-plugin-mock)
- sass - sass
### 包管理器 ### 包管理器
@ -27,7 +27,7 @@ alwaysApply: false
- api/ # API接口封装 - api/ # API接口封装
- utils/ # 工具函数 - utils/ # 工具函数
- styles/ # 全局样式 - styles/ # 全局样式
- mock/ # Mock数据 - mocks/ # Mock数据
- App.vue # 根组件 - App.vue # 根组件
- main.js # 入口文件 - main.js # 入口文件
@ -42,8 +42,8 @@ alwaysApply: false
2. 代码风格 2. 代码风格
- 使用 ESLint + Prettier 进行代码格式化 - 使用 ESLint + Prettier 进行代码格式化
- 组件内使用 `<script setup>` 语法 - 组件内使用 `<script setup>` 语法
- 使用 TypeScript 进行类型检查
- 遵循 Vue3 组合式 API 规范 - 遵循 Vue3 组合式 API 规范
- 使用 JavaScript 进行类型检查
3. 组件开发 3. 组件开发
- 组件必须包含 name 属性 - 组件必须包含 name 属性
@ -64,18 +64,21 @@ alwaysApply: false
6. API 规范 6. API 规范
- API 请求统一在 api 目录下管理 - API 请求统一在 api 目录下管理
- 使用 axios 进行请求封装 - 新建请求需要引用utils/request.js
- 统一错误处理 - 统一错误处理
- 请求参数和响应数据需要定义类型 - 请求参数和响应数据需要定义类型
7. 样式规范 7. mock 规范
- 生产环境允许mock数据
8. 样式规范
- 使用 SCSS 预处理器 - 使用 SCSS 预处理器
- 遵循 BEM 命名规范 - 遵循 BEM 命名规范
- 全局样式统一在 styles 目录下管理 - 全局样式统一在 styles 目录下管理
- 组件样式使用 scoped - 组件样式使用 scoped
8. 提交规范 9. 提交规范
- 遵循 Conventional Commits 规范 - 遵循 Conventional Commits 规范
- 提交信息必须清晰描述改动内容 - 提交信息必须清晰描述改动内容
- 禁止提交大文件 - 禁止提交大文件

View File

@ -63,6 +63,7 @@
"typescript": "^5.3.3", "typescript": "^5.3.3",
"vite": "^5.1.4", "vite": "^5.1.4",
"vite-plugin-mkcert": "^1.17.8", "vite-plugin-mkcert": "^1.17.8",
"vite-plugin-mock": "^3.0.2",
"vite-plugin-vue-devtools": "^7.0.19", "vite-plugin-vue-devtools": "^7.0.19",
"vue-tsc": "^1.8.27" "vue-tsc": "^1.8.27"
} }

View File

@ -1,4 +1,4 @@
import { sseRequest, httpRequest } from '@/utils/request' import { httpRequest, sseRequest } from '@/utils/request'
export function sendMessage(data, token) { export function sendMessage(data, token) {
return sseRequest({ return sseRequest({
@ -8,11 +8,11 @@ export function sendMessage(data, token) {
'Authorization': `Bearer ${token}` 'Authorization': `Bearer ${token}`
} }
}) })
} }
export function getChatModes() { export function getChatModes() {
return httpRequest({ return httpRequest({
url: '/api/v1/chat-modes', url: '/api/chat/modes',
method: 'POST', method: 'POST',
}) })
} }

44
src/api/user.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 获取用户列表
export function getUsers(params) {
return request({
url: '/api/users',
method: 'get',
params
})
}
// 获取用户详情
export function getUserDetail(id) {
return request({
url: `/api/users/${id}`,
method: 'get'
})
}
// 创建用户
export function createUser(data) {
return request({
url: '/api/users',
method: 'post',
data
})
}
// 更新用户
export function updateUser(id, data) {
return request({
url: `/api/users/${id}`,
method: 'put',
data
})
}
// 删除用户
export function deleteUser(id) {
return request({
url: `/api/users/${id}`,
method: 'delete'
})
}

View File

@ -1,22 +1,18 @@
import { createApp } from "vue"; import { router } from "@/router/index";
import 'element-plus/theme-chalk/dark/css-vars.css' import { applyDisplayMode, useSettingsStore } from '@/store/settings'; // Import store and helper
import '@/styles/element-variables.scss' import '@/styles/element-variables.scss';
import "@/styles/style.css"; import "@/styles/style.css";
import App from "./App.vue";
import {router} from "@/router/index";
import { createPinia } from "pinia";
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import { useSettingsStore, applyDisplayMode } from '@/store/settings'; // Import store and helper
import { setTheme } from '@/styles/theme'; // Import setTheme import { setTheme } from '@/styles/theme'; // Import setTheme
import 'element-plus/theme-chalk/dark/css-vars.css';
import { createPinia } from "pinia";
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
import { createApp } from "vue";
import App from "./App.vue";
// 引入 Element Plus // 引入 Element Plus
import ElementPlus from 'element-plus' import ElementPlus from 'element-plus';
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs';
// 在开发环境下引入mock
// if (import.meta.env.VITE_APP_MOCK === 'true') {
import('@/mocks')
// }
const pinia = createPinia(); const pinia = createPinia();
pinia.use(piniaPluginPersistedstate) pinia.use(piniaPluginPersistedstate)
@ -43,4 +39,4 @@ app.use(router);
app.use(ElementPlus, { app.use(ElementPlus, {
locale: zhCn, locale: zhCn,
}) })
app.mount("#app"); app.mount("#app");

View File

@ -1,18 +1,12 @@
import Mock from 'mockjs' import { createProdMockServer } from 'vite-plugin-mock/client'
import chatMocks from './modules/chat'
import userMocks from './modules/user'
// 设置延迟时间 // 收集所有mock模块
Mock.setup({ const mockModules = [...chatMocks, ...userMocks]
timeout: '200-600'
})
// 自动导入所有mock文件 export function setupProdMockServer() {
const modules = import.meta.glob('./modules/*.js', { eager: true }) createProdMockServer(mockModules)
}
// 注册所有mock模块 export default mockModules
Object.values(modules).forEach(module => {
if (module.default) {
module.default(Mock)
}
})
export default Mock

View File

@ -1,8 +1,15 @@
export default function (Mock) { import chatModes from '../data/chatModes.json'
export default [
// 获取聊天模式配置 // 获取聊天模式配置
Mock.mock(/\/api\/chat\/modes/, 'get', { {
'code': 200, url: '/api/chat/modes',
'message': 'success', method: 'POST',
'data': '/data/chatModes.json' response: () => {
}) return {
} code: 200,
message: 'success',
data: chatModes
}
}
}
]

View File

@ -1,55 +1,85 @@
export default function (Mock) { export default [
// 用户列表 // 用户列表
Mock.mock(/\/api\/users/, 'get', { {
'code': 200, url: '/api/users',
'message': 'success', method: 'get',
'data|10': [{ response: () => {
'id|+1': 1, return {
'name': '@cname', code: 200,
'age|18-60': 1, message: 'success',
'gender|1': ['男', '女'], data: Array.from({ length: 10 }, (_, index) => ({
'email': '@email', id: index + 1,
'phone': /^1[3-9]\d{9}$/, name: `@cname`,
'address': '@county(true)', age: Math.floor(Math.random() * 42) + 18,
'createTime': '@datetime' gender: Math.random() > 0.5 ? '男' : '女',
}] email: `@email`,
}) phone: /^1[3-9]\d{9}$/,
address: `@county(true)`,
createTime: `@datetime`
}))
}
}
},
// 用户详情 // 用户详情
Mock.mock(/\/api\/users\/\d+/, 'get', { {
'code': 200, url: '/api/users/:id',
'message': 'success', method: 'get',
'data': { response: ({ query }) => {
'id|+1': 1, return {
'name': '@cname', code: 200,
'age|18-60': 1, message: 'success',
'gender|1': ['男', '女'], data: {
'email': '@email', id: query.id,
'phone': /^1[3-9]\d{9}$/, name: `@cname`,
'address': '@county(true)', age: Math.floor(Math.random() * 42) + 18,
'createTime': '@datetime' gender: Math.random() > 0.5 ? '男' : '女',
email: `@email`,
phone: /^1[3-9]\d{9}$/,
address: `@county(true)`,
createTime: `@datetime`
}
}
} }
}) },
// 创建用户 // 创建用户
Mock.mock(/\/api\/users/, 'post', { {
'code': 200, url: '/api/users',
'message': 'success', method: 'post',
'data': { response: () => {
'id': '@id', return {
'createTime': '@datetime' code: 200,
message: 'success',
data: {
id: `@id`,
createTime: `@datetime`
}
}
} }
}) },
// 更新用户 // 更新用户
Mock.mock(/\/api\/users\/\d+/, 'put', { {
'code': 200, url: '/api/users/:id',
'message': 'success' method: 'put',
}) response: () => {
return {
code: 200,
message: 'success'
}
}
},
// 删除用户 // 删除用户
Mock.mock(/\/api\/users\/\d+/, 'delete', { {
'code': 200, url: '/api/users/:id',
'message': 'success' method: 'delete',
}) response: () => {
} return {
code: 200,
message: 'success'
}
}
}
]

View File

@ -1,5 +1,5 @@
import { ChatRound, Monitor } from '@element-plus/icons-vue';
import { createRouter, createWebHistory } from "vue-router"; import { createRouter, createWebHistory } from "vue-router";
import { ChatRound } from '@element-plus/icons-vue'
const routes = [ const routes = [
{ {
@ -24,6 +24,15 @@ const routes = [
}, },
component: () => import("@/views/chat/index.vue"), component: () => import("@/views/chat/index.vue"),
}, },
{
path: "/test",
name: "test",
meta: {
icon: Monitor,
title: "API测试"
},
component: () => import("@/views/chat/test/TestApi.vue"),
},
]; ];
export const router = createRouter({ export const router = createRouter({
@ -41,4 +50,4 @@ router.beforeEach((to, from, next) => {
} }
}) })
export default router; export default router;

View File

@ -1,28 +1,33 @@
import axios from 'axios'
import { fetchEventSource } from '@microsoft/fetch-event-source' import { fetchEventSource } from '@microsoft/fetch-event-source'
import axios from 'axios'
import { ElMessage } from 'element-plus'
// TODO: 完善拦截器
// 判断是否在 Electron 环境中 // 判断是否在 Electron 环境中
const isElectron = window && window.process && window.process.type const isElectron = window && window.process && window.process.type
const service = axios.create({ const service = axios.create({
baseURL: isElectron ? process.env.VITE_APP_BASE_API : import.meta.env.VITE_APP_BASE_API, baseURL: isElectron ? process.env.VITE_APP_BASE_API : '',
timeout: 30000 timeout: 30000
}) })
// 请求拦截器 // 请求拦截器
service.interceptors.request.use( service.interceptors.request.use(
config => { config => {
// 如果配置中已经包含了 Authorization header则使用配置中的值 // 自动注入 token
if (!config.headers['Authorization']) { if (!config.headers['Authorization']) {
const token = localStorage.getItem('token') const token = localStorage.getItem('token')
if (token) { if (token) {
config.headers['Authorization'] = `Bearer ${token}` config.headers['Authorization'] = `Bearer ${token}`
} }
} }
config.headers['Content-Type'] = 'application/json' // 支持自定义 Content-Type
config.headers['Content-Type'] = config.headers['Content-Type'] || 'application/json'
return config return config
}, },
error => { error => {
ElMessage.error('请求发送失败')
return Promise.reject(error) return Promise.reject(error)
} }
) )
@ -30,9 +35,27 @@ service.interceptors.request.use(
// 响应拦截器 // 响应拦截器
service.interceptors.response.use( service.interceptors.response.use(
response => { response => {
console.log(response, 'response')
// 统一处理后端自定义 code
if (response.data && response.data.code !== undefined && response.data.code !== 200) {
ElMessage.error(response.data.message || '请求失败')
// 401 未登录/登录失效
if (response.data.code === 401) {
// 可跳转登录页
}
return Promise.reject(response.data)
}
return response.data return response.data
}, },
error => { error => {
// 统一处理 HTTP 错误
let msg = '请求出错'
if (error.response) {
msg = error.response.data?.message || `HTTP ${error.response.status}`
} else if (error.message) {
msg = error.message
}
ElMessage.error(msg)
return Promise.reject(error) return Promise.reject(error)
} }
) )
@ -42,12 +65,10 @@ export const sseRequest = (config) => {
return new Promise((resolve) => { return new Promise((resolve) => {
try { try {
const url = new URL(`${config.url}`, window.location.origin) const url = new URL(`${config.url}`, window.location.origin)
// const baseURL = isElectron ? process.env.VITE_APP_BASE_API : import.meta.env.VITE_APP_BASE_API
// const url = new URL(`${config.url}`, baseURL)
const ctrl = new AbortController() const ctrl = new AbortController()
let messageQueue = [] let messageQueue = []
let resolveQueue = null let resolveQueue = null
const messageGenerator = async function* () { const messageGenerator = async function* () {
const source = new fetchEventSource(url.toString(), { const source = new fetchEventSource(url.toString(), {
method: 'POST', method: 'POST',
@ -55,21 +76,10 @@ export const sseRequest = (config) => {
'Authorization': config.headers?.Authorization || `Bearer ${localStorage.getItem('token')}`, 'Authorization': config.headers?.Authorization || `Bearer ${localStorage.getItem('token')}`,
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Accept': 'text/event-stream', 'Accept': 'text/event-stream',
// 'Cache-Control': 'no-cache',
// 'Connection': 'keep-alive'
}, },
body: JSON.stringify(config.params), body: JSON.stringify(config.params),
signal: ctrl.signal, signal: ctrl.signal,
openWhenHidden: true, openWhenHidden: true,
// credentials: 'include',
// keepalive: true,
// retry: 1000,
// onopen(response) {
// if (response.ok && response.headers.get('content-type')?.includes('text/event-stream')) {
// return;
// }
// throw new Error(`Failed to open SSE connection: ${response.status} ${response.statusText}`);
// },
onmessage: (event) => { onmessage: (event) => {
try { try {
const data = JSON.parse(event.data) const data = JSON.parse(event.data)
@ -118,7 +128,7 @@ export const sseRequest = (config) => {
ctrl.abort() ctrl.abort()
} }
} }
resolve(messageGenerator()) resolve(messageGenerator())
} catch (error) { } catch (error) {
console.error('SSE request setup failed:', error) console.error('SSE request setup failed:', error)
@ -141,32 +151,36 @@ export const httpRequest = (config) => {
} = config } = config
// 构建请求配置 // 构建请求配置
const reqMethod = method.toUpperCase()
const requestConfig = { const requestConfig = {
url, url,
method, method: reqMethod,
params,
data,
headers: { headers: {
...headers, ...headers,
'Content-Type': 'application/json' 'Content-Type': headers['Content-Type'] || 'application/json'
}, },
...restConfig ...restConfig
} }
if (["GET", "DELETE"].includes(reqMethod)) {
requestConfig.params = params || data
} else {
requestConfig.data = data || params
}
console.log(requestConfig, 'requestConfig')
// 发送请求 // 发送请求
service(requestConfig) service(requestConfig)
.then(response => { .then(response => {
resolve(response) resolve(response)
}) })
.catch(error => { .catch(error => {
console.error('HTTP request failed:', error) // 错误已在拦截器中处理
reject(error) reject(error)
}) })
} catch (error) { } catch (error) {
console.error('HTTP request setup failed:', error) ElMessage.error('请求配置异常')
reject(error) reject(error)
} }
}) })
} }
export default service export default httpRequest

View File

@ -9,7 +9,8 @@
</div> </div>
<div v-if="showBackground" class="background-section"> <div v-if="showBackground" class="background-section">
<div class="background-content"> <div class="background-content">
<div class="background-text" v-html="formatMarkdown(chatStore.chatModes[chatStore.currentMode].chatBackground)"></div> <div class="background-text"
v-html="formatMarkdown(chatStore.chatModes[chatStore.currentMode].chatBackground)"></div>
</div> </div>
</div> </div>
</div> </div>
@ -28,15 +29,13 @@
</div> </div>
<div class="message-actions"> <div class="message-actions">
<!-- 改进建议 --> <!-- 改进建议 -->
<EvaluationButton <EvaluationButton :show-evaluation="message.showEvaluation" :responding-type="message.respondingType"
:show-evaluation="message.showEvaluation" @toggle="chatStore.toggleEvaluation(message.messageId)" />
:responding-type="message.respondingType"
@toggle="chatStore.toggleEvaluation(message.messageId)"
/>
</div> </div>
<!-- 评价总结内容 --> <!-- 评价总结内容 -->
<div v-if="message.showEvaluation && (message.pingfen || message.zongjie)" class="evaluation-section"> <div v-if="message.showEvaluation && (message.pingfen || message.zongjie)" class="evaluation-section">
<el-button class="evaluation-close-btn" type="info" size="small" circle :icon="Close" @click="chatStore.toggleEvaluation(message.messageId)" /> <el-button class="evaluation-close-btn" type="info" size="small" circle :icon="Close"
@click="chatStore.toggleEvaluation(message.messageId)" />
<div class="evaluation-content"> <div class="evaluation-content">
<div class="evaluation-text pingfen" v-html="formatMarkdown(message.pingfen, 'pingfen')"></div> <div class="evaluation-text pingfen" v-html="formatMarkdown(message.pingfen, 'pingfen')"></div>
<div class="evaluation-text zongjie" v-html="formatMarkdown(message.zongjie, 'zongjie')"></div> <div class="evaluation-text zongjie" v-html="formatMarkdown(message.zongjie, 'zongjie')"></div>
@ -66,11 +65,8 @@
</div> </div>
<div class="message-actions"> <div class="message-actions">
<!-- 文字转语音 --> <!-- 文字转语音 -->
<TextToVoiceButton <TextToVoiceButton v-if="message.kehu && message.respondingType !== 'kehu'"
v-if="message.kehu && message.respondingType !== 'kehu'" class="message-action-button" :text="message.kehu" />
class="message-action-button"
:text="message.kehu"
/>
</div> </div>
</div> </div>
</div> </div>
@ -83,25 +79,11 @@
</div> </div>
<!-- Input Area Wrapper --> <!-- Input Area Wrapper -->
<div class="input-area-wrapper"> <div class="input-area-wrapper">
<el-button <el-button class="mode-switch-btn" :icon="isVoiceInputMode ? ChatDotSquare : Microphone" circle
class="mode-switch-btn" @click="switchInputMode" :disabled="isInputDisabled" />
:icon="isVoiceInputMode ? ChatDotSquare : Microphone" <ChatInput v-if="!isVoiceInputMode" :is-disabled="isInputDisabled" @send="handleSendMessage" ref="chatInputRef" />
circle <VoiceInput v-else :is-disabled="isInputDisabled" @sendText="handleVoiceSendText"
@click="switchInputMode" @fillInput="handleVoiceFillInput" />
:disabled="isInputDisabled"
/>
<ChatInput
v-if="!isVoiceInputMode"
:is-disabled="isInputDisabled"
@send="handleSendMessage"
ref="chatInputRef"
/>
<VoiceInput
v-else
:is-disabled="isInputDisabled"
@sendText="handleVoiceSendText"
@fillInput="handleVoiceFillInput"
/>
</div> </div>
<!-- 总结弹窗 --> <!-- 总结弹窗 -->
<div v-if="lastMessageWithDafen" class="summary-panel" :class="{ 'summary-panel-collapsed': isSummaryCollapsed }"> <div v-if="lastMessageWithDafen" class="summary-panel" :class="{ 'summary-panel-collapsed': isSummaryCollapsed }">
@ -115,18 +97,18 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted, onUnmounted, nextTick, watch, computed, defineOptions } from 'vue' import customAvatarUrl from '@/assets/custom.png'
import { marked } from 'marked' import userAvatarUrl from '@/assets/user.png'
import { useChatStore } from '@/store/chat' import { useChatStore } from '@/store/chat'
import ChatHeader from '@/views/chat/components/ChatHeader.vue' import ChatHeader from '@/views/chat/components/ChatHeader.vue'
import ChatInput from '@/views/chat/components/ChatInput.vue' import ChatInput from '@/views/chat/components/ChatInput.vue'
import VoiceInput from '@/views/chat/components/VoiceInput.vue'
import EvaluationButton from '@/views/chat/components/EvaluationButton.vue' import EvaluationButton from '@/views/chat/components/EvaluationButton.vue'
import TextToVoiceButton from '@/views/chat/components/TextToVoiceButton.vue' import TextToVoiceButton from '@/views/chat/components/TextToVoiceButton.vue'
import { ElTag, ElButton, ElAvatar } from 'element-plus' import VoiceInput from '@/views/chat/components/VoiceInput.vue'
import { Microphone, ChatDotSquare, Close } from '@element-plus/icons-vue' import { ChatDotSquare, Close, Microphone } from '@element-plus/icons-vue'
import userAvatarUrl from '@/assets/user.png'; import { ElAvatar, ElButton, ElTag } from 'element-plus'
import customAvatarUrl from '@/assets/custom.png'; import { marked } from 'marked'
import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
defineOptions({ defineOptions({
name: 'ChatInterface' name: 'ChatInterface'
@ -258,7 +240,7 @@ const handleSendMessage = (message) => {
chatStore.sendMessage(message); chatStore.sendMessage(message);
shouldAutoScroll.value = true; // shouldAutoScroll.value = true; //
scrollToBottom(true); scrollToBottom(true);
// //
if (isVoiceInputMode.value) { if (isVoiceInputMode.value) {
isVoiceInputMode.value = false; isVoiceInputMode.value = false;
@ -317,19 +299,19 @@ const toggleSummary = () => {
// //
const formatTimestamp = (timestamp) => { const formatTimestamp = (timestamp) => {
if (!timestamp) return '' if (!timestamp) return ''
// //
const timestampNum = typeof timestamp === 'string' ? parseInt(timestamp) : timestamp const timestampNum = typeof timestamp === 'string' ? parseInt(timestamp) : timestamp
// //
const date = new Date(timestampNum.toString().length === 10 ? timestampNum * 1000 : timestampNum) const date = new Date(timestampNum.toString().length === 10 ? timestampNum * 1000 : timestampNum)
// //
if (isNaN(date.getTime())) { if (isNaN(date.getTime())) {
console.error('Invalid timestamp:', timestamp) console.error('Invalid timestamp:', timestamp)
return '' return ''
} }
return date.toLocaleString('zh-CN', { return date.toLocaleString('zh-CN', {
year: 'numeric', year: 'numeric',
month: '2-digit', month: '2-digit',
@ -413,7 +395,7 @@ html.dark .chat-container {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
.background-btn { .background-btn {
font-size: 12px; font-size: 12px;
padding: 4px 12px; padding: 4px 12px;
@ -445,7 +427,7 @@ html.dark .chat-container {
max-height: 300px; max-height: 300px;
overflow-y: auto; overflow-y: auto;
border-radius: 8px; border-radius: 8px;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
@ -476,12 +458,14 @@ html.dark .chat-container {
:deep(p) { :deep(p) {
margin: 0 0 12px 0; margin: 0 0 12px 0;
line-height: 1.6; line-height: 1.6;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
} }
:deep(ul), :deep(ol) { :deep(ul),
:deep(ol) {
margin: 8px 0; margin: 8px 0;
padding-left: 20px; padding-left: 20px;
} }
@ -531,7 +515,7 @@ html.dark .background-section .background-content {
z-index: 1; z-index: 1;
scroll-behavior: smooth; scroll-behavior: smooth;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 8px; width: 8px;
} }
@ -565,19 +549,23 @@ html.dark .background-section .background-content {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
gap: 12px; gap: 12px;
&.user { &.user {
flex-direction: row-reverse; flex-direction: row-reverse;
justify-content: flex-start; justify-content: flex-start;
.message-text { .message-text {
background-color: var(--el-color-primary); background-color: var(--el-color-primary);
color: var(--el-color-white); color: var(--el-color-white);
border-color: transparent; border-color: transparent;
} }
.message-content { .message-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-end; align-items: flex-end;
} }
.message-timestamp { .message-timestamp {
right: 0; right: 0;
} }
@ -586,10 +574,12 @@ html.dark .background-section .background-content {
&.assistant { &.assistant {
flex-direction: row; flex-direction: row;
justify-content: flex-start; justify-content: flex-start;
.message-text { .message-text {
background-color: var(--el-bg-color); background-color: var(--el-bg-color);
color: var(--el-text-color-primary); color: var(--el-text-color-primary);
} }
.message-content { .message-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -616,7 +606,7 @@ html.dark .background-section .background-content {
position: relative; position: relative;
display: inline-block; display: inline-block;
max-width: 100%; max-width: 100%;
.message-text { .message-text {
// min-width: 60px; // min-width: 60px;
line-height: 1.5; line-height: 1.5;
@ -664,7 +654,7 @@ html.dark .background-section .background-content {
background: var(--el-fill-color-light); background: var(--el-fill-color-light);
overflow-y: scroll; overflow-y: scroll;
position: relative; position: relative;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
@ -686,7 +676,7 @@ html.dark .background-section .background-content {
background: var(--el-border-color); background: var(--el-border-color);
} }
} }
.evaluation-text { .evaluation-text {
opacity: 0.9; opacity: 0.9;
color: var(--el-text-color-regular); color: var(--el-text-color-regular);
@ -706,7 +696,8 @@ html.dark .background-section .background-content {
line-height: 1.6; line-height: 1.6;
} }
:deep(ul), :deep(ol) { :deep(ul),
:deep(ol) {
margin: 8px 0; margin: 8px 0;
padding-left: 20px; padding-left: 20px;
} }
@ -735,6 +726,7 @@ html.dark .background-section .background-content {
color: var(--el-text-color-primary); color: var(--el-text-color-primary);
transition: color 0.2s; transition: color 0.2s;
} }
.evaluation-close-btn:hover { .evaluation-close-btn:hover {
color: var(--el-color-primary); color: var(--el-color-primary);
} }
@ -742,11 +734,13 @@ html.dark .background-section .background-content {
.input-area-wrapper { .input-area-wrapper {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
& > :deep(.chat-input-area),
& > :deep(div > .voice-trigger-btn) { &> :deep(.chat-input-area),
&> :deep(div > .voice-trigger-btn) {
flex: 1; flex: 1;
min-width: 0; min-width: 0;
} }
gap: 8px; gap: 8px;
padding: 16px 20px; padding: 16px 20px;
border-top: 1px solid var(--el-border-color-light); border-top: 1px solid var(--el-border-color-light);
@ -785,7 +779,7 @@ html.dark .background-section .background-content {
transform: translateY(-20px); transform: translateY(-20px);
visibility: hidden; visibility: hidden;
} }
.summary-header { .summary-header {
border-bottom: none; border-bottom: none;
} }
@ -833,14 +827,17 @@ html.dark .background-section .background-content {
:deep(p) { :deep(p) {
margin: 0 0 12px 0; margin: 0 0 12px 0;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
} }
:deep(ul), :deep(ol) { :deep(ul),
:deep(ol) {
margin: 8px 0; margin: 8px 0;
padding-left: 20px; padding-left: 20px;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
@ -886,7 +883,7 @@ html.dark .background-section .background-content {
opacity: 1; opacity: 1;
} }
} }
.message-text { .message-text {
// min-width: 60px; // min-width: 60px;
line-height: 1.5; line-height: 1.5;
@ -916,7 +913,7 @@ html.dark .background-section .background-content {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin: 20px 0; margin: 20px 0;
.end-tag { .end-tag {
font-size: 12px; font-size: 12px;
padding: 4px 12px; padding: 4px 12px;
@ -936,11 +933,26 @@ html.dark .background-section .background-content {
margin: 0 1px; margin: 0 1px;
animation: bounce 1.4s infinite ease-in-out; animation: bounce 1.4s infinite ease-in-out;
} }
.typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.16s; } .typing-indicator span:nth-child(1) {
animation-delay: -0.32s;
}
.typing-indicator span:nth-child(2) {
animation-delay: -0.16s;
}
@keyframes bounce { @keyframes bounce {
0%, 80%, 100% { transform: scale(0.8); }
40% { transform: scale(1.2); } 0%,
80%,
100% {
transform: scale(0.8);
}
40% {
transform: scale(1.2);
}
} }
.message-actions .message-action-button { .message-actions .message-action-button {
@ -954,4 +966,4 @@ html.dark .background-section .background-content {
opacity: 1; opacity: 1;
pointer-events: auto; pointer-events: auto;
} }
</style> </style>

View File

@ -0,0 +1,94 @@
<template>
<div class="test-api-container">
<h1>API 测试页面</h1>
<div class="test-section">
<h2>测试获取聊天模式</h2>
<el-button @click="testGetChatModes" type="primary">获取聊天模式</el-button>
<div class="response-area">
<h3>响应结果</h3>
<pre>{{ chatModesResponse }}</pre>
</div>
</div>
<div class="test-section">
<h2>测试获取用户列表</h2>
<el-button @click="testGetUsers" type="primary">获取用户列表</el-button>
<div class="response-area">
<h3>用户列表响应</h3>
<pre>{{ usersResponse }}</pre>
</div>
</div>
</div>
</template>
<script>
import { getChatModes } from '@/api/chat'
import { getUsers } from '@/api/user'
export default {
name: 'TestApi',
data() {
return {
message: '',
sendMessageResponse: '',
chatModesResponse: '',
usersResponse: '',
token: '' // token
}
},
methods: {
async testSendMessage() {
try {
const response = await sendMessage({
message: this.message
}, this.token)
this.sendMessageResponse = JSON.stringify(response, null, 2)
} catch (error) {
this.sendMessageResponse = `错误:${error.message}`
}
},
async testGetChatModes() {
try {
const response = await getChatModes()
this.chatModesResponse = JSON.stringify(response, null, 2)
} catch (error) {
this.chatModesResponse = `错误:${error.message}`
}
},
async testGetUsers() {
try {
const response = await getUsers()
this.usersResponse = JSON.stringify(response, null, 2)
} catch (error) {
this.usersResponse = `错误:${error.message}`
}
}
}
}
</script>
<style scoped>
.test-api-container {
padding: 20px;
max-width: 800px;
margin: 0 auto;
}
.test-section {
margin-bottom: 30px;
padding: 20px;
border: 1px solid #dcdfe6;
border-radius: 4px;
}
.response-area {
margin-top: 20px;
padding: 10px;
background-color: #f5f7fa;
border-radius: 4px;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
}
</style>

View File

@ -1,26 +1,23 @@
import { fileURLToPath, URL } from 'node:url' import { fileURLToPath, URL } from 'node:url';
import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue';
import vue from '@vitejs/plugin-vue' import { defineConfig, loadEnv } from 'vite';
// import electron from 'vite-plugin-electron' // import electron from 'vite-plugin-electron'
// import vueDevTools from 'vite-plugin-vue-devtools' // import vueDevTools from 'vite-plugin-vue-devtools'
import mkcert from "vite-plugin-mkcert"; import mkcert from "vite-plugin-mkcert";
import { viteMockServe } from 'vite-plugin-mock';
// https://vite.dev/config/ // https://vite.dev/config/
export default defineConfig(({ command, mode }) => { export default defineConfig(({ command, mode }) => {
const env = loadEnv(mode, process.cwd()) const env = loadEnv(mode, process.cwd())
console.log('\x1b[36m%s\x1b[0m', '[VITE_APP_ENV]', env.VITE_APP_ENV) console.log('\x1b[36m%s\x1b[0m', '[VITE_APP_ENV]', env.VITE_APP_ENV)
console.log('\x1b[33m%s\x1b[0m', '[VITE_APP_BASE_API]', env.VITE_APP_BASE_API) console.log('\x1b[33m%s\x1b[0m', '[VITE_APP_BASE_API]', env.VITE_APP_BASE_API)
// 将环境变量转换为 process.env 格式 // 将环境变量转换为 process.env 格式
const processEnv = {} const processEnv = {}
Object.keys(env).forEach(key => { Object.keys(env).forEach(key => {
processEnv[key] = JSON.stringify(env[key]) processEnv[key] = JSON.stringify(env[key])
}) })
// 始终启用mock
const isMockEnabled = true
return { return {
plugins: [ plugins: [
vue(), vue(),
@ -29,6 +26,20 @@ export default defineConfig(({ command, mode }) => {
autoUpgrade: true, autoUpgrade: true,
force: true, force: true,
}), }),
viteMockServe({
mockPath: 'src/mocks',
localEnabled: true,
prodEnabled: false,
supportTs: true,
watchFiles: true,
logger: true,
injectFile: 'src/main.js',
injectCode: `
import { setupProdMockServer } from 'src/mocks/index.js';
setupProdMockServer();
`,
}),
// electron({ // electron({
// entry: 'electron/main.js', // entry: 'electron/main.js',
// }), // }),
@ -57,22 +68,9 @@ export default defineConfig(({ command, mode }) => {
changeOrigin: true, changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''), rewrite: (path) => path.replace(/^\/api/, ''),
secure: false, secure: false,
ws: true,
configure: (proxy, options) => { configure: (proxy, options) => {
// proxy.on('proxyReq', (proxyReq, req, res) => {
// const targetOrigin = new URL(env.VITE_APP_BASE_API).origin;
// proxyReq.setHeader('Origin', targetOrigin);
// if (req.originalUrl && req.originalUrl.includes('chat-messages')) {
// proxyReq.setHeader('Accept', 'text/event-stream');
// }
// });
// proxy.on('proxyRes', (proxyRes, req, res) => {
// if (req.originalUrl && req.originalUrl.includes('chat-messages')) {
// proxyRes.headers['content-type'] = 'text/event-stream';
// proxyRes.headers['Cache-Control'] = 'no-cache';
// proxyRes.headers['Connection'] = 'keep-alive';
// }
// });
} }
} }
} }
@ -94,9 +92,7 @@ export default defineConfig(({ command, mode }) => {
} }
}, },
define: { define: {
'process.env': processEnv, 'process.env': processEnv
// 注入mock环境变量
'import.meta.env.VITE_APP_MOCK': JSON.stringify(isMockEnabled)
} }
} }
}) })

480
yarn.lock
View File

@ -774,18 +774,17 @@
fastq "^1.6.0" fastq "^1.6.0"
"@nuxt/kit@^3.14.1592": "@nuxt/kit@^3.14.1592":
version "3.16.2" version "3.17.0"
resolved "https://registry.npmmirror.com/@nuxt/kit/-/kit-3.16.2.tgz#9fbb2ef3bd9ebeb499b4cc5215e2f857c54b75d7" resolved "https://registry.npmmirror.com/@nuxt/kit/-/kit-3.17.0.tgz#fed4532b603049a00a70bb32182cb1e3970c755a"
integrity sha512-K1SAUo2vweTfudKZzjKsZ5YJoxPLTspR5qz5+G61xtZreLpsdpDYfBseqsIAl5VFLJuszeRpWQ01jP9LfQ6Ksw== integrity sha512-+aS+Enqqo2qSbyl0APPPxX8BPYsaRcZ8dFRbpCOfK38lv2ckoHKCWNkT8L/7q2w+1pjNZaxlUoW9Mku1vdEb/A==
dependencies: dependencies:
c12 "^3.0.2" c12 "^3.0.3"
consola "^3.4.2" consola "^3.4.2"
defu "^6.1.4" defu "^6.1.4"
destr "^2.0.3" destr "^2.0.5"
errx "^0.1.0" errx "^0.1.0"
exsolve "^1.0.4" exsolve "^1.0.5"
globby "^14.1.0" ignore "^7.0.4"
ignore "^7.0.3"
jiti "^2.4.2" jiti "^2.4.2"
klona "^2.0.6" klona "^2.0.6"
knitwork "^1.2.0" knitwork "^1.2.0"
@ -795,10 +794,11 @@
pkg-types "^2.1.0" pkg-types "^2.1.0"
scule "^1.3.0" scule "^1.3.0"
semver "^7.7.1" semver "^7.7.1"
std-env "^3.8.1" std-env "^3.9.0"
ufo "^1.5.4" tinyglobby "^0.2.13"
ufo "^1.6.1"
unctx "^2.4.1" unctx "^2.4.1"
unimport "^4.1.3" unimport "^5.0.0"
untyped "^2.0.0" untyped "^2.0.0"
"@parcel/watcher-android-arm64@2.5.1": "@parcel/watcher-android-arm64@2.5.1":
@ -909,116 +909,111 @@
estree-walker "^2.0.2" estree-walker "^2.0.2"
picomatch "^4.0.2" picomatch "^4.0.2"
"@rollup/rollup-android-arm-eabi@4.40.0": "@rollup/rollup-android-arm-eabi@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz#d964ee8ce4d18acf9358f96adc408689b6e27fe3" resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz#e1562d360bca73c7bef6feef86098de3a2f1d442"
integrity sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg== integrity sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==
"@rollup/rollup-android-arm64@4.40.0": "@rollup/rollup-android-arm64@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz#9b5e130ecc32a5fc1e96c09ff371743ee71a62d3" resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz#37ba63940211673e15dcc5f469a78e34276dbca7"
integrity sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w== integrity sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==
"@rollup/rollup-darwin-arm64@4.40.0": "@rollup/rollup-darwin-arm64@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz#ef439182c739b20b3c4398cfc03e3c1249ac8903" resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz#58b1eb86d997d71dabc5b78903233a3c27438ca0"
integrity sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ== integrity sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==
"@rollup/rollup-darwin-x64@4.40.0": "@rollup/rollup-darwin-x64@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz#d7380c1531ab0420ca3be16f17018ef72dd3d504" resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz#5e22dab3232b1e575d930ce891abb18fe19c58c9"
integrity sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA== integrity sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==
"@rollup/rollup-freebsd-arm64@4.40.0": "@rollup/rollup-freebsd-arm64@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz#cbcbd7248823c6b430ce543c59906dd3c6df0936" resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz#04c892d9ff864d66e31419634726ab0bebb33707"
integrity sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg== integrity sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==
"@rollup/rollup-freebsd-x64@4.40.0": "@rollup/rollup-freebsd-x64@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz#96bf6ff875bab5219c3472c95fa6eb992586a93b" resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz#f4b1e091f7cf5afc9e3a029d70128ad56409ecfb"
integrity sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw== integrity sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==
"@rollup/rollup-linux-arm-gnueabihf@4.40.0": "@rollup/rollup-linux-arm-gnueabihf@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz#d80cd62ce6d40f8e611008d8dbf03b5e6bbf009c" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz#c8814bb5ce047a81b1fe4a33628dfd4ac52bd864"
integrity sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA== integrity sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==
"@rollup/rollup-linux-arm-musleabihf@4.40.0": "@rollup/rollup-linux-arm-musleabihf@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz#75440cfc1e8d0f87a239b4c31dfeaf4719b656b7" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz#5b4e7bd83cbebbf5ffe958802dcfd4ee34bf73a3"
integrity sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg== integrity sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==
"@rollup/rollup-linux-arm64-gnu@4.40.0": "@rollup/rollup-linux-arm64-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz#ac527485ecbb619247fb08253ec8c551a0712e7c" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz#141c848e53cee011e82a11777b8a51f1b3e8d77c"
integrity sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg== integrity sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==
"@rollup/rollup-linux-arm64-musl@4.40.0": "@rollup/rollup-linux-arm64-musl@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz#74d2b5cb11cf714cd7d1682e7c8b39140e908552" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz#22ebeaf2fa301aa4aa6c84b760e6cd1d1ac7eb1e"
integrity sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ== integrity sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==
"@rollup/rollup-linux-loongarch64-gnu@4.40.0": "@rollup/rollup-linux-loongarch64-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz#a0a310e51da0b5fea0e944b0abd4be899819aef6" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz#20b77dc78e622f5814ff8e90c14c938ceb8043bc"
integrity sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg== integrity sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==
"@rollup/rollup-linux-powerpc64le-gnu@4.40.0": "@rollup/rollup-linux-powerpc64le-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz#4077e2862b0ac9f61916d6b474d988171bd43b83" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz#2c90f99c987ef1198d4f8d15d754c286e1f07b13"
integrity sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw== integrity sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==
"@rollup/rollup-linux-riscv64-gnu@4.40.0": "@rollup/rollup-linux-riscv64-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz#5812a1a7a2f9581cbe12597307cc7ba3321cf2f3" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz#9336fd5e47d7f4760d02aa85f76976176eef53ca"
integrity sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA== integrity sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==
"@rollup/rollup-linux-riscv64-musl@4.40.0": "@rollup/rollup-linux-riscv64-musl@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz#973aaaf4adef4531375c36616de4e01647f90039" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz#d75b4d54d46439bb5c6c13762788f57e798f5670"
integrity sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ== integrity sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==
"@rollup/rollup-linux-s390x-gnu@4.40.0": "@rollup/rollup-linux-s390x-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz#9bad59e907ba5bfcf3e9dbd0247dfe583112f70b" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz#e9f09b802f1291839247399028beaef9ce034c81"
integrity sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw== integrity sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==
"@rollup/rollup-linux-x64-gnu@4.40.0": "@rollup/rollup-linux-x64-gnu@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz#68b045a720bd9b4d905f462b997590c2190a6de0" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz#0413169dc00470667dea8575c1129d4e7a73eb29"
integrity sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ== integrity sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==
"@rollup/rollup-linux-x64-musl@4.40.0": "@rollup/rollup-linux-x64-musl@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz#8e703e2c2ad19ba7b2cb3d8c3a4ad11d4ee3a282" resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz#c76fd593323c60ea219439a00da6c6d33ffd0ea6"
integrity sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw== integrity sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==
"@rollup/rollup-win32-arm64-msvc@4.40.0": "@rollup/rollup-win32-arm64-msvc@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz#c5bee19fa670ff5da5f066be6a58b4568e9c650b" resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz#c7724c386eed0bda5ae7143e4081c1910cab349b"
integrity sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ== integrity sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==
"@rollup/rollup-win32-ia32-msvc@4.40.0": "@rollup/rollup-win32-ia32-msvc@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz#846e02c17044bd922f6f483a3b4d36aac6e2b921" resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz#7749e1b65cb64fe6d41ad1ad9e970a0ccc8ac350"
integrity sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA== integrity sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==
"@rollup/rollup-win32-x64-msvc@4.40.0": "@rollup/rollup-win32-x64-msvc@4.40.1":
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz#fd92d31a2931483c25677b9c6698106490cbbc76" resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz#8078b71fe0d5825dcbf83d52a7dc858b39da165c"
integrity sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ== integrity sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==
"@sec-ant/readable-stream@^0.4.1": "@sec-ant/readable-stream@^0.4.1":
version "0.4.1" version "0.4.1"
resolved "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" resolved "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c"
integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==
"@sindresorhus/merge-streams@^2.1.0":
version "2.3.0"
resolved "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958"
integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==
"@sindresorhus/merge-streams@^4.0.0": "@sindresorhus/merge-streams@^4.0.0":
version "4.0.0" version "4.0.0"
resolved "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz#abb11d99aeb6d27f1b563c38147a72d50058e339" resolved "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz#abb11d99aeb6d27f1b563c38147a72d50058e339"
@ -1042,9 +1037,9 @@
integrity sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g== integrity sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==
"@types/node@^20.11.19": "@types/node@^20.11.19":
version "20.17.30" version "20.17.32"
resolved "https://registry.npmmirror.com/@types/node/-/node-20.17.30.tgz#1d93f656d3b869dbef7b796568ac457606ba58d0" resolved "https://registry.npmmirror.com/@types/node/-/node-20.17.32.tgz#cb9703514cd8e172c11beff582c66006644c2d88"
integrity sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg== integrity sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==
dependencies: dependencies:
undici-types "~6.19.2" undici-types "~6.19.2"
@ -1277,6 +1272,14 @@ acorn@^8.14.0, acorn@^8.14.1:
resolved "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" resolved "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb"
integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
async-validator@^4.2.5: async-validator@^4.2.5:
version "4.2.5" version "4.2.5"
resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339"
@ -1300,9 +1303,9 @@ autoprefixer@^10.4.17, autoprefixer@^10.4.19:
postcss-value-parser "^4.2.0" postcss-value-parser "^4.2.0"
axios@^1.8.3, axios@^1.8.4: axios@^1.8.3, axios@^1.8.4:
version "1.8.4" version "1.9.0"
resolved "https://registry.npmmirror.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" resolved "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901"
integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==
dependencies: dependencies:
follow-redirects "^1.15.6" follow-redirects "^1.15.6"
form-data "^4.0.0" form-data "^4.0.0"
@ -1313,6 +1316,11 @@ balanced-match@^1.0.0:
resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
binary-extensions@^2.0.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
birpc@^2.3.0: birpc@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz#e5a402dc785ef952a2383ef3cfc075e0842f3e8c" resolved "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz#e5a402dc785ef952a2383ef3cfc075e0842f3e8c"
@ -1325,7 +1333,7 @@ brace-expansion@^2.0.1:
dependencies: dependencies:
balanced-match "^1.0.0" balanced-match "^1.0.0"
braces@^3.0.3: braces@^3.0.3, braces@~3.0.2:
version "3.0.3" version "3.0.3"
resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
@ -1354,7 +1362,14 @@ bundle-name@^4.1.0:
dependencies: dependencies:
run-applescript "^7.0.0" run-applescript "^7.0.0"
c12@^3.0.2: bundle-require@^4.0.1:
version "4.2.1"
resolved "https://registry.npmmirror.com/bundle-require/-/bundle-require-4.2.1.tgz#4c450a5807381d20ade987bde8ac391544257919"
integrity sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==
dependencies:
load-tsconfig "^0.2.3"
c12@^3.0.3:
version "3.0.3" version "3.0.3"
resolved "https://registry.npmmirror.com/c12/-/c12-3.0.3.tgz#4d6d4d35f084606ff616d1bcae60e6676eacd4bd" resolved "https://registry.npmmirror.com/c12/-/c12-3.0.3.tgz#4d6d4d35f084606ff616d1bcae60e6676eacd4bd"
integrity sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w== integrity sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w==
@ -1385,6 +1400,21 @@ caniuse-lite@^1.0.30001688, caniuse-lite@^1.0.30001702:
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz#bd325a37ad366e3fe90827d74062807a34fbaeb2" resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz#bd325a37ad366e3fe90827d74062807a34fbaeb2"
integrity sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw== integrity sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==
chokidar@^3.5.3:
version "3.6.0"
resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
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"
chokidar@^4.0.0, chokidar@^4.0.3: chokidar@^4.0.0, chokidar@^4.0.3:
version "4.0.3" version "4.0.3"
resolved "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" resolved "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30"
@ -1431,6 +1461,16 @@ confbox@^0.2.1, confbox@^0.2.2:
resolved "https://registry.npmmirror.com/confbox/-/confbox-0.2.2.tgz#8652f53961c74d9e081784beed78555974a9c110" resolved "https://registry.npmmirror.com/confbox/-/confbox-0.2.2.tgz#8652f53961c74d9e081784beed78555974a9c110"
integrity sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ== integrity sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==
connect@^3.7.0:
version "3.7.0"
resolved "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8"
integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
dependencies:
debug "2.6.9"
finalhandler "1.1.2"
parseurl "~1.3.3"
utils-merge "1.0.1"
consola@^3.2.3, consola@^3.4.0, consola@^3.4.2: consola@^3.2.3, consola@^3.4.0, consola@^3.4.2:
version "3.4.2" version "3.4.2"
resolved "https://registry.npmmirror.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" resolved "https://registry.npmmirror.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7"
@ -1503,7 +1543,14 @@ de-indent@^1.0.2:
resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
debug@^4.1.0, debug@^4.3.1, debug@^4.3.7, debug@^4.4.0: debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^4.1.0, debug@^4.3.1, debug@^4.3.4, debug@^4.3.7, debug@^4.4.0:
version "4.4.0" version "4.4.0"
resolved "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" resolved "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
@ -1543,7 +1590,7 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
destr@^2.0.3: destr@^2.0.3, destr@^2.0.5:
version "2.0.5" version "2.0.5"
resolved "https://registry.npmmirror.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb" resolved "https://registry.npmmirror.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb"
integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA== integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==
@ -1575,15 +1622,20 @@ echarts@^5.6.0:
tslib "2.3.0" tslib "2.3.0"
zrender "5.6.1" zrender "5.6.1"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.5.73: electron-to-chromium@^1.5.73:
version "1.5.140" version "1.5.143"
resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.140.tgz#91d9279fe72963f22c5784cc7f3461b5fed34786" resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.143.tgz#b057bcb9dddd3a9b24ba6c9b9e39a82bee84bdaf"
integrity sha512-o82Rj+ONp4Ip7Cl1r7lrqx/pXhbp/lh9DpKcMNscFJdh8ebyRofnc7Sh01B4jx403RI0oqTBvlZ7OBIZLMr2+Q== integrity sha512-QqklJMOFBMqe46k8iIOwA9l2hz57V2OKMmP5eSWcUvwx+mASAsbU+wkF1pHjn9ZVSBPrsYWr4/W/95y5SwYg2g==
element-plus@^2.9.7: element-plus@^2.9.7:
version "2.9.8" version "2.9.9"
resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.8.tgz#72aea48dfcd5ef70a1859d2c8a16d189451f4afb" resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz#17679dd2e11d70ed132216a3950d9df327053d04"
integrity sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg== integrity sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==
dependencies: dependencies:
"@ctrl/tinycolor" "^3.4.1" "@ctrl/tinycolor" "^3.4.1"
"@element-plus/icons-vue" "^2.3.1" "@element-plus/icons-vue" "^2.3.1"
@ -1601,6 +1653,11 @@ element-plus@^2.9.7:
memoize-one "^6.0.0" memoize-one "^6.0.0"
normalize-wheel-es "^1.2.0" normalize-wheel-es "^1.2.0"
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
entities@^4.5.0: entities@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
@ -1677,7 +1734,7 @@ escalade@^3.2.0:
resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
escape-html@^1.0.3: escape-html@^1.0.3, escape-html@~1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
@ -1717,12 +1774,12 @@ execa@^9.5.2:
strip-final-newline "^4.0.0" strip-final-newline "^4.0.0"
yoctocolors "^2.0.0" yoctocolors "^2.0.0"
exsolve@^1.0.1, exsolve@^1.0.4: exsolve@^1.0.1, exsolve@^1.0.4, exsolve@^1.0.5:
version "1.0.5" version "1.0.5"
resolved "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.5.tgz#1f5b6b4fe82ad6b28a173ccb955a635d77859dcf" resolved "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.5.tgz#1f5b6b4fe82ad6b28a173ccb955a635d77859dcf"
integrity sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg== integrity sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==
fast-glob@^3.3.3: fast-glob@^3.2.12:
version "3.3.3" version "3.3.3"
resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
@ -1759,6 +1816,19 @@ fill-range@^7.1.1:
dependencies: dependencies:
to-regex-range "^5.0.1" to-regex-range "^5.0.1"
finalhandler@1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.3"
statuses "~1.5.0"
unpipe "~1.0.0"
follow-redirects@^1.15.6: follow-redirects@^1.15.6:
version "1.15.9" version "1.15.9"
resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
@ -1847,7 +1917,7 @@ giget@^2.0.0:
nypm "^0.6.0" nypm "^0.6.0"
pathe "^2.0.3" pathe "^2.0.3"
glob-parent@^5.1.2: glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@ -1859,18 +1929,6 @@ globals@^11.1.0:
resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globby@^14.1.0:
version "14.1.0"
resolved "https://registry.npmmirror.com/globby/-/globby-14.1.0.tgz#138b78e77cf5a8d794e327b15dce80bf1fb0a73e"
integrity sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==
dependencies:
"@sindresorhus/merge-streams" "^2.1.0"
fast-glob "^3.3.3"
ignore "^7.0.3"
path-type "^6.0.0"
slash "^5.1.0"
unicorn-magic "^0.3.0"
gopd@^1.2.0: gopd@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
@ -1920,16 +1978,23 @@ human-signals@^8.0.0:
resolved "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.1.tgz#f08bb593b6d1db353933d06156cedec90abe51fb" resolved "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.1.tgz#f08bb593b6d1db353933d06156cedec90abe51fb"
integrity sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ== integrity sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==
ignore@^7.0.3: ignore@^7.0.4:
version "7.0.3" version "7.0.4"
resolved "https://registry.npmmirror.com/ignore/-/ignore-7.0.3.tgz#397ef9315dfe0595671eefe8b633fec6943ab733" resolved "https://registry.npmmirror.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078"
integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA== integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==
immutable@^5.0.2: immutable@^5.0.2:
version "5.1.1" version "5.1.1"
resolved "https://registry.npmmirror.com/immutable/-/immutable-5.1.1.tgz#d4cb552686f34b076b3dcf23c4384c04424d8354" resolved "https://registry.npmmirror.com/immutable/-/immutable-5.1.1.tgz#d4cb552686f34b076b3dcf23c4384c04424d8354"
integrity sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg== integrity sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
binary-extensions "^2.0.0"
is-core-module@^2.16.0: is-core-module@^2.16.0:
version "2.16.1" version "2.16.1"
resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
@ -1947,7 +2012,7 @@ is-extglob@^2.1.1:
resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
is-glob@^4.0.1, is-glob@^4.0.3: is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3" version "4.0.3"
resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@ -2047,6 +2112,11 @@ kolorist@^1.8.0:
resolved "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" resolved "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c"
integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==
load-tsconfig@^0.2.3:
version "0.2.5"
resolved "https://registry.npmmirror.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1"
integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==
local-pkg@^1.1.1: local-pkg@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz#f5fe74a97a3bd3c165788ee08ca9fbe998dc58dd" resolved "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz#f5fe74a97a3bd3c165788ee08ca9fbe998dc58dd"
@ -2086,9 +2156,9 @@ magic-string@^0.30.11, magic-string@^0.30.17, magic-string@^0.30.4:
"@jridgewell/sourcemap-codec" "^1.5.0" "@jridgewell/sourcemap-codec" "^1.5.0"
marked@^15.0.8: marked@^15.0.8:
version "15.0.9" version "15.0.11"
resolved "https://registry.npmmirror.com/marked/-/marked-15.0.9.tgz#0ac0b42834a04f8c971a2fee36106694b29c0aad" resolved "https://registry.npmmirror.com/marked/-/marked-15.0.11.tgz#08a8d12c285e16259e44287b89ce0d871c9d55e8"
integrity sha512-9AW/bn9DxQeZVjR52l5jsc0W2pwuhP04QaQewPvylil12Cfr2GBfWmgp6mu8i9Jy8UlBjqDZ9uMTDuJ8QOGZJA== integrity sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==
math-intrinsics@^1.1.0: math-intrinsics@^1.1.0:
version "1.1.0" version "1.1.0"
@ -2159,6 +2229,11 @@ mrmime@^2.0.0:
resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc"
integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
ms@^2.1.3: ms@^2.1.3:
version "2.1.3" version "2.1.3"
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
@ -2194,6 +2269,11 @@ node-releases@^2.0.19:
resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
normalize-range@^0.1.2: normalize-range@^0.1.2:
version "0.1.2" version "0.1.2"
resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
@ -2228,6 +2308,13 @@ ohash@^2.0.11:
resolved "https://registry.npmmirror.com/ohash/-/ohash-2.0.11.tgz#60b11e8cff62ca9dee88d13747a5baa145f5900b" resolved "https://registry.npmmirror.com/ohash/-/ohash-2.0.11.tgz#60b11e8cff62ca9dee88d13747a5baa145f5900b"
integrity sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ== integrity sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
dependencies:
ee-first "1.1.1"
open@^10.1.0: open@^10.1.0:
version "10.1.1" version "10.1.1"
resolved "https://registry.npmmirror.com/open/-/open-10.1.1.tgz#5fd814699e47ae3e1a09962d39f4f4441cae6c22" resolved "https://registry.npmmirror.com/open/-/open-10.1.1.tgz#5fd814699e47ae3e1a09962d39f4f4441cae6c22"
@ -2243,6 +2330,11 @@ parse-ms@^4.0.0:
resolved "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4" resolved "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4"
integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw== integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-browserify@^1.0.1: path-browserify@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" resolved "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
@ -2263,10 +2355,10 @@ path-parse@^1.0.7:
resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-type@^6.0.0: path-to-regexp@^6.2.1:
version "6.0.0" version "6.3.0"
resolved "https://registry.npmmirror.com/path-type/-/path-type-6.0.0.tgz#2f1bb6791a91ce99194caede5d6c5920ed81eb51" resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4"
integrity sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ== integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==
pathe@^2.0.1, pathe@^2.0.2, pathe@^2.0.3: pathe@^2.0.1, pathe@^2.0.2, pathe@^2.0.3:
version "2.0.3" version "2.0.3"
@ -2283,7 +2375,7 @@ picocolors@^1.0.0, picocolors@^1.1.1:
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.3.1: picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
version "2.3.1" version "2.3.1"
resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@ -2663,6 +2755,13 @@ readdirp@^4.0.1:
resolved "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" resolved "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d"
integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
recorder-core@^1.3.25011100: recorder-core@^1.3.25011100:
version "1.3.25011100" version "1.3.25011100"
resolved "https://registry.npmmirror.com/recorder-core/-/recorder-core-1.3.25011100.tgz#128ee11f2d24547b82605a5383274226b3a20a65" resolved "https://registry.npmmirror.com/recorder-core/-/recorder-core-1.3.25011100.tgz#128ee11f2d24547b82605a5383274226b3a20a65"
@ -2688,32 +2787,32 @@ rfdc@^1.4.1:
integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
rollup@^4.20.0: rollup@^4.20.0:
version "4.40.0" version "4.40.1"
resolved "https://registry.npmmirror.com/rollup/-/rollup-4.40.0.tgz#13742a615f423ccba457554f006873d5a4de1920" resolved "https://registry.npmmirror.com/rollup/-/rollup-4.40.1.tgz#03d6c53ebb6a9c2c060ae686a61e72a2472b366f"
integrity sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w== integrity sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==
dependencies: dependencies:
"@types/estree" "1.0.7" "@types/estree" "1.0.7"
optionalDependencies: optionalDependencies:
"@rollup/rollup-android-arm-eabi" "4.40.0" "@rollup/rollup-android-arm-eabi" "4.40.1"
"@rollup/rollup-android-arm64" "4.40.0" "@rollup/rollup-android-arm64" "4.40.1"
"@rollup/rollup-darwin-arm64" "4.40.0" "@rollup/rollup-darwin-arm64" "4.40.1"
"@rollup/rollup-darwin-x64" "4.40.0" "@rollup/rollup-darwin-x64" "4.40.1"
"@rollup/rollup-freebsd-arm64" "4.40.0" "@rollup/rollup-freebsd-arm64" "4.40.1"
"@rollup/rollup-freebsd-x64" "4.40.0" "@rollup/rollup-freebsd-x64" "4.40.1"
"@rollup/rollup-linux-arm-gnueabihf" "4.40.0" "@rollup/rollup-linux-arm-gnueabihf" "4.40.1"
"@rollup/rollup-linux-arm-musleabihf" "4.40.0" "@rollup/rollup-linux-arm-musleabihf" "4.40.1"
"@rollup/rollup-linux-arm64-gnu" "4.40.0" "@rollup/rollup-linux-arm64-gnu" "4.40.1"
"@rollup/rollup-linux-arm64-musl" "4.40.0" "@rollup/rollup-linux-arm64-musl" "4.40.1"
"@rollup/rollup-linux-loongarch64-gnu" "4.40.0" "@rollup/rollup-linux-loongarch64-gnu" "4.40.1"
"@rollup/rollup-linux-powerpc64le-gnu" "4.40.0" "@rollup/rollup-linux-powerpc64le-gnu" "4.40.1"
"@rollup/rollup-linux-riscv64-gnu" "4.40.0" "@rollup/rollup-linux-riscv64-gnu" "4.40.1"
"@rollup/rollup-linux-riscv64-musl" "4.40.0" "@rollup/rollup-linux-riscv64-musl" "4.40.1"
"@rollup/rollup-linux-s390x-gnu" "4.40.0" "@rollup/rollup-linux-s390x-gnu" "4.40.1"
"@rollup/rollup-linux-x64-gnu" "4.40.0" "@rollup/rollup-linux-x64-gnu" "4.40.1"
"@rollup/rollup-linux-x64-musl" "4.40.0" "@rollup/rollup-linux-x64-musl" "4.40.1"
"@rollup/rollup-win32-arm64-msvc" "4.40.0" "@rollup/rollup-win32-arm64-msvc" "4.40.1"
"@rollup/rollup-win32-ia32-msvc" "4.40.0" "@rollup/rollup-win32-ia32-msvc" "4.40.1"
"@rollup/rollup-win32-x64-msvc" "4.40.0" "@rollup/rollup-win32-x64-msvc" "4.40.1"
fsevents "~2.3.2" fsevents "~2.3.2"
run-applescript@^7.0.0: run-applescript@^7.0.0:
@ -2922,11 +3021,6 @@ sirv@^3.0.0, sirv@^3.0.1:
mrmime "^2.0.0" mrmime "^2.0.0"
totalist "^3.0.0" totalist "^3.0.0"
slash@^5.1.0:
version "5.1.0"
resolved "https://registry.npmmirror.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce"
integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0, source-map-js@^1.2.1: "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0, source-map-js@^1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
@ -2942,7 +3036,12 @@ speakingurl@^14.0.1:
resolved "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" resolved "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53"
integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
std-env@^3.8.1: statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
std-env@^3.9.0:
version "3.9.0" version "3.9.0"
resolved "https://registry.npmmirror.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" resolved "https://registry.npmmirror.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1"
integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==
@ -2995,7 +3094,7 @@ tinyexec@^0.3.2:
resolved "https://registry.npmmirror.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" resolved "https://registry.npmmirror.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2"
integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==
tinyglobby@^0.2.12: tinyglobby@^0.2.12, tinyglobby@^0.2.13:
version "0.2.13" version "0.2.13"
resolved "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.13.tgz#a0e46515ce6cbcd65331537e57484af5a7b2ff7e" resolved "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.13.tgz#a0e46515ce6cbcd65331537e57484af5a7b2ff7e"
integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==
@ -3030,7 +3129,7 @@ typescript@^5.3.3:
resolved "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" resolved "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
ufo@^1.5.4: ufo@^1.5.4, ufo@^1.6.1:
version "1.6.1" version "1.6.1"
resolved "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" resolved "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b"
integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==
@ -3055,10 +3154,10 @@ unicorn-magic@^0.3.0:
resolved "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104" resolved "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104"
integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==
unimport@^4.1.3: unimport@^5.0.0:
version "4.2.0" version "5.0.0"
resolved "https://registry.npmmirror.com/unimport/-/unimport-4.2.0.tgz#c25211d206d3430e9160cc7d458e9fa9ba828ac0" resolved "https://registry.npmmirror.com/unimport/-/unimport-5.0.0.tgz#c2e5a364c03fc90de192d8881384a379cf8b4d99"
integrity sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag== integrity sha512-8jL3T+FKDg+qLFX55X9j92uFRqH5vWrNlf/eJb5IQlQB5q5wjooXQDXP1ulhJJQHbosBmlKhBo/ZVS5jHlcJGA==
dependencies: dependencies:
acorn "^8.14.1" acorn "^8.14.1"
escape-string-regexp "^5.0.0" escape-string-regexp "^5.0.0"
@ -3080,6 +3179,11 @@ universalify@^2.0.0:
resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
unplugin-utils@^0.2.4: unplugin-utils@^0.2.4:
version "0.2.4" version "0.2.4"
resolved "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz#56e4029a6906645a10644f8befc404b06d5d24d0" resolved "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz#56e4029a6906645a10644f8befc404b06d5d24d0"
@ -3121,6 +3225,11 @@ util-deprecate@^1.0.2:
resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
varint@^6.0.0: varint@^6.0.0:
version "6.0.0" version "6.0.0"
resolved "https://registry.npmmirror.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" resolved "https://registry.npmmirror.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0"
@ -3155,6 +3264,19 @@ vite-plugin-mkcert@^1.17.8:
debug "^4.4.0" debug "^4.4.0"
picocolors "^1.1.1" picocolors "^1.1.1"
vite-plugin-mock@^3.0.2:
version "3.0.2"
resolved "https://registry.npmmirror.com/vite-plugin-mock/-/vite-plugin-mock-3.0.2.tgz#382446642661df5623023951670cb572cb5d682b"
integrity sha512-bD//HvkTygGmk+LsIAdf0jGNlCv4iWv0kZlH9UEgWT6QYoUwfjQAE4SKxHRw2tfLgVhbPQVv/+X3YlNWvueGUA==
dependencies:
bundle-require "^4.0.1"
chokidar "^3.5.3"
connect "^3.7.0"
debug "^4.3.4"
fast-glob "^3.2.12"
path-to-regexp "^6.2.1"
picocolors "^1.0.0"
vite-plugin-vue-devtools@^7.0.19: vite-plugin-vue-devtools@^7.0.19:
version "7.7.5" version "7.7.5"
resolved "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.5.tgz#f00534f275a1cddc653618f1f0135866da14ca8f" resolved "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.5.tgz#f00534f275a1cddc653618f1f0135866da14ca8f"
@ -3200,9 +3322,9 @@ vue-demi@*:
integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==
vue-router@^4.5.0: vue-router@^4.5.0:
version "4.5.0" version "4.5.1"
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz#58fc5fe374e10b6018f910328f756c3dae081f14" resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz#47bffe2d3a5479d2886a9a244547a853aa0abf69"
integrity sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w== integrity sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==
dependencies: dependencies:
"@vue/devtools-api" "^6.6.4" "@vue/devtools-api" "^6.6.4"