diff --git a/Dockerfile b/Dockerfile
index d6996dc..1faf3ae 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,64 +1,25 @@
# 阶段1:基础镜像准备
FROM node:18-alpine AS base
-ARG USE_CN_MIRROR
-
# 设置工作目录
WORKDIR /app
-# 配置国内镜像源(如果需要)
-RUN \
- if [ "${USE_CN_MIRROR:-false}" = "true" ]; then \
- npm config set registry https://registry.npmmirror.com/; \
- fi
+# 配置国内镜像源
+RUN npm config set registry https://registry.npmmirror.com/
-# 安装必要的系统依赖(例如CA证书)
+# 安装必要的系统依赖(例如 CA 证书)
RUN apk add --no-cache ca-certificates
-# 创建distroless目录,准备复制必要的运行时文件
-RUN mkdir -p /distroless/bin /distroless/lib /distroless/etc/ssl/certs /distroless/etc
-
-# 复制Node.js可执行文件
-RUN cp /usr/local/bin/node /distroless/bin/
-
-# 复制Node.js运行时依赖的库文件
-RUN ldd /usr/local/bin/node | awk '{print $3}' | grep -v '^$' | xargs -I '{}' cp '{}' /distroless/lib/
-
-# 复制动态链接器
-RUN cp /lib/ld-musl-$(uname -m).so.1 /distroless/lib/
-
-# 复制CA证书
-RUN cp -r /etc/ssl/certs /distroless/etc/ssl/
-
-# 创建非root用户
-RUN addgroup -g 1001 appgroup && \
- adduser -D -u 1001 -G appgroup appuser
-
-# 复制用户和组信息
-RUN cp /etc/passwd /distroless/etc/passwd && \
- cp /etc/group /distroless/etc/group
-
-
-
# 阶段2:构建应用程序
FROM base AS builder
-ARG USE_CN_MIRROR
-
WORKDIR /app
# 复制依赖文件
COPY package.json yarn.lock ./
-# 确保在构建阶段NODE_ENV不为production
-ENV NODE_ENV=development
-
-# 配置国内镜像源并安装依赖
-RUN \
- if [ "${USE_CN_MIRROR:-false}" = "true" ]; then \
- npm config set registry https://registry.npmmirror.com/; \
- fi && \
- yarn install
+# 安装所有依赖,包括开发依赖
+RUN yarn install
# 复制项目源代码
COPY . .
@@ -66,25 +27,37 @@ COPY . .
# 构建应用程序
RUN yarn build
-# 重新设置NODE_ENV为production
+# 删除 node_modules 目录
+RUN rm -rf node_modules
+
+# 设置 NODE_ENV 为 production
ENV NODE_ENV=production
-# 删除devDependencies,减小最终镜像大小
+# 安装生产依赖
RUN yarn install --production --ignore-scripts --prefer-offline
-# 修改文件权限,使appuser拥有所有权
-RUN chown -R appuser:appgroup /app
-
-
+# 清理 yarn 缓存
+RUN yarn cache clean --all
# 阶段3:构建最终的生产镜像
-FROM scratch
+FROM node:18-alpine
+
+# 设置工作目录
+WORKDIR /app
-# 复制distroless文件
-COPY --from=base /distroless /
+# 创建非 root 用户
+RUN addgroup -g 1001 appgroup && \
+ adduser -D -u 1001 -G appgroup appuser
# 复制应用程序文件
-COPY --from=builder /app /app
+COPY --from=builder /app/server.js /app/server.js
+COPY --from=builder /app/dist /app/dist
+COPY --from=builder /app/api /app/api
+COPY --from=builder /app/node_modules /app/node_modules
+COPY --from=builder /app/package.json /app/package.json
+
+# 修改文件权限,使 appuser 拥有所有权
+RUN chown -R appuser:appgroup /app
# 设置环境变量
ENV NODE_ENV=production
@@ -92,15 +65,11 @@ ENV HOSTNAME="0.0.0.0"
ENV PORT=13000
ENV NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca"
-# 设置工作目录
-WORKDIR /app
-
# 暴露端口
EXPOSE 13000
-# 使用非root用户
+# 使用非 root 用户
USER appuser
# 启动命令
-ENTRYPOINT ["/bin/node"]
-CMD ["server.js"]
+CMD ["node", "server.js"]
diff --git a/README.md b/README.md
index 74232b0..efb6e61 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,27 @@
+### v2.1.0
+
+🔔 **新特性与优化**
+
+- ✨ **新增快捷聊天测试**
+ - 对接魔改 NextChat,可快捷测试模型。
+ - 新增 `closeChat` 设置,方便中转站使用。
+- 🧪 **添加实验性功能模块** from [elfmaid](https://linux.do/u/elfmaid)
+ - 批量测试 gpt Refresh Tokens
+ - 批量测试 claude Session Keys
+ - 批量测试 gemini API Keys
+- ✂️ **新增粘贴按钮 ** by [fangyuan](https://linux.do/u/fangyuan99)
+- 📝 **新增自定义对话验证功能**
+ - 快捷prompt测试 by [fangyuan](https://linux.do/u/fangyuan99)
+
+🔧 **优化与修复**
+
+- 🐳 **优化 Dockerfile** 减小镜像体积。
+
+- 🎨 **修复布局问题** 改善界面显示
+
### v2.0.0
🔔 **全新特性与优化**
@@ -171,8 +192,13 @@
- **描述**: 是否关闭公告显示。设置为 `true` 时关闭公告显示,设置为 `false` 或未定义时显示公告。 **方便中转站使用**
- **示例**: `"closeAnnouncement": true`
+🚪 closeChat **方便中转站使用**
+
+- **描述**:是否关闭快捷聊天功能。设置为 `true` 时关闭聊天功能,设置为 `false` 或未定义时开启聊天功能。
+- **示例**:`"closeChat": true`
+
```
-https://check.crond.dev/?settings={"key":"*sk*","url":"*api*","models":["gpt-4o-mini","gpt-4o"],"timeout":10,"concurrency":2,"closeAnnouncement":true}
+https://check.crond.dev/?settings={"key":"*sk*","url":"*api*","models":["gpt-4o-mini","gpt-4o"],"timeout":10,"concurrency":2,"closeAnnouncement":true,"closeChat":true}
```
解码后的 JSON 字符串如下:
@@ -184,7 +210,8 @@ https://check.crond.dev/?settings={"key":"*sk*","url":"*api*","models":["gpt-4o-
"models": ["gpt-4o-mini", "gpt-4o"],
"timeout": 10,
"concurrency": 2,
- "closeAnnouncement": true
+ "closeAnnouncement": true,
+ "closeChat": true
}
```
@@ -192,18 +219,20 @@ https://check.crond.dev/?settings={"key":"*sk*","url":"*api*","models":["gpt-4o-
```
{
- "name": "check",
- "link": "https://check.crond.dev/?settings={%22key%22:%22*sk*%22,%22url%22:%22*api*%22,%22models%22:[%22gpt-4o-mini%22],%22timeout%22:10,%22concurrency%22:2,%22closeAnnouncement%22:true}",
- "icon": "https://check.crond.dev/logo.png"
+ "name": "check",
+ "link": "https://check.crond.dev/?settings={%22key%22:%22*sk*%22,%22url%22:%22*api*%22,%22models%22:[%22gpt-4o-mini%22],%22timeout%22:10,%22concurrency%22:2,%22closeAnnouncement%22:true,%22closeChat%22:true}",
+ "icon": "https://check.crond.dev/logo.png"
}
+
```
- **newapi** 示例
```
{
- "CHECK": "https://check.crond.dev/?settings={\"key\":\"{key}\",\"url\":\"{address}\",\"models\":[\"gpt-4o-mini\"],\"timeout\":10,\"concurrency\":2,\"closeAnnouncement\":true}"
+ "CHECK": "https://check.crond.dev/?settings={\"key\":\"{key}\",\"url\":\"{address}\",\"models\":[\"gpt-4o-mini\"],\"timeout\":10,\"concurrency\":2,\"closeAnnouncement\":true,\"closeChat\":true}"
}
+
```
### 🛠 **高级验证功能**
diff --git a/api/alive.js b/api/alive.js
new file mode 100644
index 0000000..e6fc9f7
--- /dev/null
+++ b/api/alive.js
@@ -0,0 +1,289 @@
+const corsHeaders = {
+ 'Access-Control-Allow-Origin': '*',
+ 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
+ 'Access-Control-Allow-Headers': 'Content-Type',
+};
+
+export default async function (req, res) {
+ console.log('Received request:', req.method, req.url);
+
+ if (req.method === 'OPTIONS') {
+ res.writeHead(204, corsHeaders);
+ res.end();
+ return;
+ }
+
+ if (req.method !== 'POST') {
+ res.writeHead(404, { 'Content-Type': 'text/plain', ...corsHeaders });
+ res.end('Not Found');
+ return;
+ }
+
+ try {
+ let body = '';
+ for await (const chunk of req) {
+ body += chunk;
+ }
+ console.log('Request body:', body);
+
+ const content = JSON.parse(body);
+ console.log('Parsed request content:', content);
+
+ const { type } = content;
+ let responseBody;
+
+ switch (type) {
+ case 'refreshTokens':
+ responseBody = await handleRefreshTokens(content.tokens);
+ break;
+ case 'sessionKeys':
+ responseBody = await handleSessionKeys(content);
+ break;
+ case 'geminiAPI':
+ responseBody = await handleGeminiAPI(content);
+ break;
+ default:
+ res.writeHead(400, {
+ 'Content-Type': 'application/json',
+ ...corsHeaders,
+ });
+ res.end(JSON.stringify({ error: 'Invalid request type' }));
+ return;
+ }
+
+ res.writeHead(200, {
+ 'Content-Type': 'application/json',
+ ...corsHeaders,
+ });
+ res.end(JSON.stringify(responseBody));
+ } catch (error) {
+ console.error('Error processing request:', error);
+ res.writeHead(500, {
+ 'Content-Type': 'application/json',
+ ...corsHeaders,
+ });
+ res.end(JSON.stringify({ error: error.message }));
+ }
+}
+
+async function handleRefreshTokens(tokens) {
+ try {
+ const results = await Promise.all(tokens.map(checkTokenValidity));
+ return results;
+ } catch (error) {
+ throw new Error('Error processing refresh tokens: ' + error.message);
+ }
+}
+
+async function checkTokenValidity(refreshToken) {
+ try {
+ const response = await fetch('https://token.oaifree.com/api/auth/refresh', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ body: 'refresh_token=' + encodeURIComponent(refreshToken),
+ });
+
+ if (response.ok) {
+ const data = await response.json();
+ return {
+ refreshToken,
+ accessToken: data.access_token,
+ valid: true,
+ };
+ } else {
+ return {
+ refreshToken,
+ accessToken: null,
+ valid: false,
+ };
+ }
+ } catch (error) {
+ return {
+ refreshToken,
+ accessToken: null,
+ valid: false,
+ };
+ }
+}
+
+async function handleSessionKeys(content) {
+ const sessionKeys = content.tokens;
+ const maxAttempts = content.maxAttempts;
+ const requestsPerSecond = content.requestsPerSecond;
+ const delayBetweenRequests = 1000 / requestsPerSecond;
+
+ const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
+
+ async function checkSessionKey(sessionKey) {
+ let attempts = 0;
+ let successCount = 0;
+
+ while (attempts < maxAttempts) {
+ attempts++;
+ try {
+ const response = await fetch(
+ 'https://api.claude.ai/api/organizations',
+ {
+ headers: {
+ accept: 'application/json',
+ cookie: 'sessionKey=' + sessionKey,
+ 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64)',
+ },
+ }
+ );
+
+ if (!response.ok) {
+ throw new Error('HTTP error! status: ' + response.status);
+ }
+
+ const responseText = await response.text();
+
+ if (
+ responseText.toLowerCase().includes('unauthorized') ||
+ responseText.trim() === ''
+ ) {
+ throw new Error('Invalid response');
+ }
+
+ const organizations = JSON.parse(responseText);
+ successCount++;
+
+ const name = organizations[0].name || 'Unknown';
+ const capabilities = organizations[0].capabilities
+ ? organizations[0].capabilities.join(';')
+ : '';
+ return {
+ sessionKey,
+ name,
+ capabilities,
+ available: true,
+ attempts,
+ successRate: successCount / attempts,
+ };
+ } catch (error) {
+ if (attempts >= maxAttempts) {
+ return {
+ sessionKey,
+ name: 'Invalid',
+ capabilities: '',
+ available: false,
+ attempts,
+ successRate: successCount / attempts,
+ };
+ }
+ await delay(delayBetweenRequests);
+ }
+ }
+ }
+
+ try {
+ const results = await Promise.all(sessionKeys.map(checkSessionKey));
+ return results;
+ } catch (error) {
+ throw new Error('Error processing session keys: ' + error.message);
+ }
+}
+
+async function handleGeminiAPI(content) {
+ const apiKeys = content.tokens;
+ const model = content.model;
+ const rateLimit = content.rateLimit;
+ const prompt = content.prompt;
+ const user = content.user;
+
+ if (!apiKeys || !Array.isArray(apiKeys) || apiKeys.length === 0) {
+ throw new Error('Invalid or empty API keys');
+ }
+
+ try {
+ const results = await batchTestAPI(apiKeys, model, rateLimit, prompt, user);
+ const validKeys = results.filter(r => r.valid).map(r => r.key);
+ const invalidKeys = results.filter(r => !r.valid).map(r => r.key);
+ const errors = results
+ .filter(r => r.error)
+ .map(r => ({ key: r.key, error: r.error }));
+ const validResults = results.filter(r => r.valid && r.data);
+
+ return {
+ valid: validKeys.length,
+ invalid: invalidKeys.length,
+ invalidKeys: invalidKeys,
+ errors: errors,
+ validResults: validResults,
+ };
+ } catch (error) {
+ throw new Error('Error testing APIs: ' + error.message);
+ }
+}
+
+async function batchTestAPI(apiKeys, model, rateLimit, prompt, user) {
+ const results = [];
+ const delayBetweenRequests = 1000 / rateLimit;
+
+ const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
+
+ for (let i = 0; i < apiKeys.length; i++) {
+ const apiKey = apiKeys[i];
+ try {
+ const result = await testAPI(apiKey, model, prompt, user);
+ results.push(result);
+ } catch (error) {
+ results.push({
+ key: apiKey,
+ valid: false,
+ error: error.message,
+ });
+ }
+ await delay(delayBetweenRequests);
+ }
+
+ return results;
+}
+
+async function testAPI(apiKey, model, prompt, user) {
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`;
+
+ try {
+ const response = await fetch(url, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ contents: [
+ {
+ parts: [{ text: prompt }, { text: user }],
+ },
+ ],
+ safetySettings: [
+ {
+ category: 'HARM_CATEGORY_DANGEROUS_CONTENT',
+ threshold: 'BLOCK_NONE',
+ },
+ { category: 'HARM_CATEGORY_HATE_SPEECH', threshold: 'BLOCK_NONE' },
+ { category: 'HARM_CATEGORY_HARASSMENT', threshold: 'BLOCK_NONE' },
+ {
+ category: 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
+ threshold: 'BLOCK_NONE',
+ },
+ ],
+ }),
+ });
+
+ if (!response.ok) {
+ const errorText = await response.text();
+ throw new Error(
+ `API request failed: ${response.status} ${response.statusText} - ${errorText}`
+ );
+ }
+
+ const data = await response.json();
+ return { key: apiKey, valid: true, data };
+ } catch (error) {
+ return {
+ key: apiKey,
+ valid: false,
+ error: error.message,
+ };
+ }
+}
diff --git a/api/local/alive.js b/api/local/alive.js
new file mode 100644
index 0000000..58b3836
--- /dev/null
+++ b/api/local/alive.js
@@ -0,0 +1,253 @@
+import express from 'express';
+
+const router = express.Router();
+
+// 中间件:解析 JSON 请求体
+router.use(express.json());
+
+const corsHeaders = {
+ 'Access-Control-Allow-Origin': '*',
+ 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
+ 'Access-Control-Allow-Headers': 'Content-Type',
+};
+
+// 处理 OPTIONS 请求
+router.options('/', (req, res) => {
+ res.set(corsHeaders);
+ res.sendStatus(204);
+});
+
+// 处理 POST 请求
+router.post('/', async (req, res) => {
+ console.log('Received request:', req.method, req.url);
+
+ try {
+ const requestData = req.body;
+ console.log('Parsed request content:', requestData);
+ const { type } = requestData;
+
+ let responseData;
+ switch (type) {
+ case 'refreshTokens':
+ responseData = await handleRefreshTokens(requestData.tokens);
+ break;
+ case 'sessionKeys':
+ responseData = await handleSessionKeys(requestData);
+ break;
+ case 'geminiAPI':
+ responseData = await handleGeminiAPI(requestData);
+ break;
+ default:
+ res.status(400).json({ error: 'Invalid request type' });
+ return;
+ }
+
+ res.set(corsHeaders);
+ res.status(200).json(responseData);
+ } catch (error) {
+ console.error('Error processing request:', error);
+ res.set(corsHeaders);
+ res.status(500).json({ error: error.message });
+ }
+});
+
+// 导出路由
+export default router;
+
+// 辅助函数
+async function handleRefreshTokens(tokens) {
+ const results = await Promise.all(tokens.map(refreshTokenValidity));
+ return results;
+}
+
+async function refreshTokenValidity(token) {
+ try {
+ const response = await fetch('https://token.oaifree.com/api/auth/refresh', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ body: 'refresh_token=' + encodeURIComponent(token),
+ });
+
+ if (response.ok) {
+ const data = await response.json();
+ return {
+ refreshToken: token,
+ accessToken: data.access_token,
+ valid: true,
+ };
+ }
+ return { refreshToken: token, accessToken: null, valid: false };
+ } catch (error) {
+ return { refreshToken: token, accessToken: null, valid: false };
+ }
+}
+
+async function handleSessionKeys({
+ tokens: sessionKeys,
+ maxAttempts,
+ requestsPerSecond,
+}) {
+ const delayBetweenRequests = 1000 / requestsPerSecond;
+
+ const results = await Promise.all(
+ sessionKeys.map(sessionKey =>
+ checkSessionKey(sessionKey, maxAttempts, delayBetweenRequests)
+ )
+ );
+ return results;
+}
+
+function delay(ms) {
+ return new Promise(resolve => {
+ setTimeout(resolve, ms);
+ });
+}
+
+async function checkSessionKey(sessionKey, maxAttempts, delayBetweenRequests) {
+ let attempts = 0;
+
+ while (attempts < maxAttempts) {
+ attempts++;
+ try {
+ const response = await fetch('https://api.claude.ai/api/organizations', {
+ headers: {
+ Accept: 'application/json',
+ Cookie: 'sessionKey=' + sessionKey,
+ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)',
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error('HTTP error! status: ' + response.status);
+ }
+
+ const organizations = await response.json();
+
+ if (!Array.isArray(organizations) || organizations.length === 0) {
+ throw new Error('Invalid response data');
+ }
+
+ const organization = organizations[0];
+ const name = organization.name || 'Unknown';
+ const capabilities = organization.capabilities
+ ? organization.capabilities.join(';')
+ : '';
+
+ return {
+ sessionKey,
+ name,
+ capabilities,
+ available: true,
+ attempts,
+ successRate: 1 / attempts,
+ };
+ } catch (error) {
+ if (attempts >= maxAttempts) {
+ return {
+ sessionKey,
+ name: 'Invalid',
+ capabilities: '',
+ available: false,
+ attempts,
+ successRate: 0,
+ };
+ }
+ await delay(delayBetweenRequests);
+ }
+ }
+}
+
+async function handleGeminiAPI({
+ tokens: apiKeys,
+ model,
+ rateLimit,
+ prompt,
+ user,
+}) {
+ if (!apiKeys || !Array.isArray(apiKeys) || apiKeys.length === 0) {
+ throw new Error('Invalid or empty API keys');
+ }
+
+ const results = await batchTestAPI(apiKeys, model, rateLimit, prompt, user);
+
+ const validResults = results.filter(result => result.valid && result.data);
+ const validKeys = validResults.map(result => result.key);
+ const invalidResults = results.filter(result => !result.valid);
+ const invalidKeys = invalidResults.map(result => result.key);
+ const errors = invalidResults.map(result => ({
+ key: result.key,
+ error: result.error,
+ }));
+
+ return {
+ valid: validKeys.length,
+ invalid: invalidKeys.length,
+ invalidKeys,
+ errors,
+ validResults,
+ };
+}
+
+async function batchTestAPI(apiKeys, model, rateLimit, prompt, user) {
+ const testResults = [];
+ const delayBetweenRequests = 1000 / rateLimit;
+
+ for (const apiKey of apiKeys) {
+ try {
+ const result = await testAPI(apiKey, model, prompt, user);
+ testResults.push(result);
+ } catch (error) {
+ testResults.push({ key: apiKey, valid: false, error: error.message });
+ }
+ await delay(delayBetweenRequests);
+ }
+
+ return testResults;
+}
+
+async function testAPI(apiKey, model, prompt, user) {
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`;
+ const requestBody = {
+ contents: [
+ {
+ parts: [{ text: prompt }, { text: user }],
+ },
+ ],
+ safetySettings: [
+ {
+ category: 'HARM_CATEGORY_DANGEROUS_CONTENT',
+ threshold: 'BLOCK_NONE',
+ },
+ {
+ category: 'HARM_CATEGORY_HATE_SPEECH',
+ threshold: 'BLOCK_NONE',
+ },
+ {
+ category: 'HARM_CATEGORY_HARASSMENT',
+ threshold: 'BLOCK_NONE',
+ },
+ {
+ category: 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
+ threshold: 'BLOCK_NONE',
+ },
+ ],
+ };
+
+ const response = await fetch(url, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify(requestBody),
+ });
+
+ if (!response.ok) {
+ const errorText = await response.text();
+ throw new Error(
+ `API request failed: ${response.status} ${response.statusText} - ${errorText}`
+ );
+ }
+
+ const data = await response.json();
+ return { key: apiKey, valid: true, data };
+}
diff --git a/components.d.ts b/components.d.ts
index 02287a8..c4e6706 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -2,12 +2,11 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
-export {}
+export {};
/* prettier-ignore */
declare module 'vue' {
export interface GlobalComponents {
- AAlert: typeof import('ant-design-vue/es')['Alert']
AAvatar: typeof import('ant-design-vue/es')['Avatar']
AButton: typeof import('ant-design-vue/es')['Button']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
@@ -18,6 +17,7 @@ declare module 'vue' {
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
ADivider: typeof import('ant-design-vue/es')['Divider']
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
+ AFlex: typeof import('ant-design-vue/es')['Flex']
AForm: typeof import('ant-design-vue/es')['Form']
AFormItem: typeof import('ant-design-vue/es')['FormItem']
AImage: typeof import('ant-design-vue/es')['Image']
@@ -33,6 +33,7 @@ declare module 'vue' {
APopover: typeof import('ant-design-vue/es')['Popover']
AProgress: typeof import('ant-design-vue/es')['Progress']
ARow: typeof import('ant-design-vue/es')['Row']
+ ASelect: typeof import('ant-design-vue/es')['Select']
ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin']
ATabPane: typeof import('ant-design-vue/es')['TabPane']
@@ -40,6 +41,7 @@ declare module 'vue' {
ATextarea: typeof import('ant-design-vue/es')['Textarea']
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
Check: typeof import('./src/components/Check.vue')['default']
+ Experimental: typeof import('./src/components/Experimental.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
}
diff --git a/package-lock.json b/package-lock.json
index c39aaf6..14dabb6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,15 +9,12 @@
"version": "0.0.0",
"dependencies": {
"@ant-design/icons-vue": "^7.0.1",
- "@vercel/kv": "^3.0.0",
- "@vercel/node": "^3.2.24",
"@vueuse/core": "^11.2.0",
- "ant-design-vue": "^4.0.0-rc.6",
+ "ant-design-vue": "^4.2.6",
"axios": "^1.7.7",
"dotenv": "^16.4.5",
"echarts": "^5.5.1",
"express": "^4.21.1",
- "path": "^0.12.7",
"vue": "^3.5.12",
"vue-i18n": "^9.14.1",
"vue-router": "^4.4.5"
@@ -26,9 +23,15 @@
"@vitejs/plugin-vue": "^5.1.4",
"less": "^4.2.0",
"less-loader": "^12.2.0",
+ "prettier": "^3.3.3",
+ "rollup-plugin-visualizer": "^5.12.0",
"unplugin-vue-components": "^0.27.4",
"vite": "^5.4.10",
"vite-plugin-style-import": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "@vercel/kv": "^3.0.0",
+ "@vercel/node": "^3.2.24"
}
},
"node_modules/@ant-design/colors": {
@@ -122,6 +125,7 @@
"version": "0.8.1",
"resolved": "https://r.cnpmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "optional": true,
"dependencies": {
"@jridgewell/trace-mapping": "0.3.9"
},
@@ -141,6 +145,7 @@
"version": "2.2.1",
"resolved": "https://r.cnpmjs.org/@edge-runtime/format/-/format-2.2.1.tgz",
"integrity": "sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==",
+ "optional": true,
"engines": {
"node": ">=16"
}
@@ -149,6 +154,7 @@
"version": "2.3.0",
"resolved": "https://r.cnpmjs.org/@edge-runtime/node-utils/-/node-utils-2.3.0.tgz",
"integrity": "sha512-uUtx8BFoO1hNxtHjp3eqVPC/mWImGb2exOfGjMLUoipuWgjej+f4o/VP4bUI8U40gu7Teogd5VTeZUkGvJSPOQ==",
+ "optional": true,
"engines": {
"node": ">=16"
}
@@ -157,6 +163,7 @@
"version": "2.4.2",
"resolved": "https://r.cnpmjs.org/@edge-runtime/ponyfill/-/ponyfill-2.4.2.tgz",
"integrity": "sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==",
+ "optional": true,
"engines": {
"node": ">=16"
}
@@ -165,6 +172,7 @@
"version": "4.1.0",
"resolved": "https://r.cnpmjs.org/@edge-runtime/primitives/-/primitives-4.1.0.tgz",
"integrity": "sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==",
+ "optional": true,
"engines": {
"node": ">=16"
}
@@ -173,6 +181,7 @@
"version": "3.2.0",
"resolved": "https://r.cnpmjs.org/@edge-runtime/vm/-/vm-3.2.0.tgz",
"integrity": "sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==",
+ "optional": true,
"dependencies": {
"@edge-runtime/primitives": "4.1.0"
},
@@ -562,6 +571,7 @@
"version": "2.1.1",
"resolved": "https://r.cnpmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "optional": true,
"engines": {
"node": ">=14"
}
@@ -611,6 +621,7 @@
"version": "3.1.2",
"resolved": "https://r.cnpmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "optional": true,
"engines": {
"node": ">=6.0.0"
}
@@ -624,6 +635,7 @@
"version": "0.3.9",
"resolved": "https://r.cnpmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "optional": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.0.3",
"@jridgewell/sourcemap-codec": "^1.4.10"
@@ -633,6 +645,7 @@
"version": "1.0.11",
"resolved": "https://r.cnpmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
"integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
+ "optional": true,
"dependencies": {
"detect-libc": "^2.0.0",
"https-proxy-agent": "^5.0.0",
@@ -652,6 +665,7 @@
"version": "3.1.0",
"resolved": "https://r2.cnpmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "optional": true,
"dependencies": {
"semver": "^6.0.0"
},
@@ -666,6 +680,7 @@
"version": "6.3.1",
"resolved": "https://r.cnpmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "optional": true,
"bin": {
"semver": "bin/semver.js"
}
@@ -674,6 +689,7 @@
"version": "7.6.3",
"resolved": "https://r.cnpmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "optional": true,
"bin": {
"semver": "bin/semver.js"
},
@@ -685,6 +701,7 @@
"version": "2.1.5",
"resolved": "https://r2.cnpmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "devOptional": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -697,6 +714,7 @@
"version": "2.0.5",
"resolved": "https://r2.cnpmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "devOptional": true,
"engines": {
"node": ">= 8"
}
@@ -705,6 +723,7 @@
"version": "1.2.8",
"resolved": "https://r2.cnpmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "devOptional": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -969,6 +988,7 @@
"version": "0.11.1",
"resolved": "https://r2.cnpmjs.org/@ts-morph/common/-/common-0.11.1.tgz",
"integrity": "sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==",
+ "optional": true,
"dependencies": {
"fast-glob": "^3.2.7",
"minimatch": "^3.0.4",
@@ -980,6 +1000,7 @@
"version": "1.1.11",
"resolved": "https://r2.cnpmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "optional": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -989,6 +1010,7 @@
"version": "3.1.2",
"resolved": "https://r.cnpmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "optional": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -999,22 +1021,26 @@
"node_modules/@tsconfig/node10": {
"version": "1.0.11",
"resolved": "https://r.cnpmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
- "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw=="
+ "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+ "optional": true
},
"node_modules/@tsconfig/node12": {
"version": "1.0.11",
"resolved": "https://r.cnpmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "optional": true
},
"node_modules/@tsconfig/node14": {
"version": "1.0.3",
"resolved": "https://r.cnpmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "optional": true
},
"node_modules/@tsconfig/node16": {
"version": "1.0.4",
"resolved": "https://r.cnpmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+ "optional": true
},
"node_modules/@types/estree": {
"version": "1.0.6",
@@ -1025,12 +1051,14 @@
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://r.cnpmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "optional": true
},
"node_modules/@types/node": {
"version": "22.9.0",
"resolved": "https://r.cnpmjs.org/@types/node/-/node-22.9.0.tgz",
"integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
+ "optional": true,
"peer": true,
"dependencies": {
"undici-types": "~6.19.8"
@@ -1045,6 +1073,7 @@
"version": "1.34.3",
"resolved": "https://r.cnpmjs.org/@upstash/redis/-/redis-1.34.3.tgz",
"integrity": "sha512-VT25TyODGy/8ljl7GADnJoMmtmJ1F8d84UXfGonRRF8fWYJz7+2J6GzW+a6ETGtk4OyuRTt7FRSvFG5GvrfSdQ==",
+ "optional": true,
"dependencies": {
"crypto-js": "^4.2.0"
}
@@ -1052,17 +1081,20 @@
"node_modules/@vercel/build-utils": {
"version": "8.4.12",
"resolved": "https://r.cnpmjs.org/@vercel/build-utils/-/build-utils-8.4.12.tgz",
- "integrity": "sha512-pIH0b965wJhd1otROVPndfZenPKFVoYSaRjtSKVOT/oNBT13ifq86UVjb5ZjoVfqUI2TtSTP+68kBqLPeoq30g=="
+ "integrity": "sha512-pIH0b965wJhd1otROVPndfZenPKFVoYSaRjtSKVOT/oNBT13ifq86UVjb5ZjoVfqUI2TtSTP+68kBqLPeoq30g==",
+ "optional": true
},
"node_modules/@vercel/error-utils": {
"version": "2.0.2",
"resolved": "https://r.cnpmjs.org/@vercel/error-utils/-/error-utils-2.0.2.tgz",
- "integrity": "sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ=="
+ "integrity": "sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==",
+ "optional": true
},
"node_modules/@vercel/kv": {
"version": "3.0.0",
"resolved": "https://r.cnpmjs.org/@vercel/kv/-/kv-3.0.0.tgz",
"integrity": "sha512-pKT8fRnfyYk2MgvyB6fn6ipJPCdfZwiKDdw7vB+HL50rjboEBHDVBEcnwfkEpVSp2AjNtoaOUH7zG+bVC/rvSg==",
+ "optional": true,
"dependencies": {
"@upstash/redis": "^1.34.0"
},
@@ -1074,6 +1106,7 @@
"version": "0.27.3",
"resolved": "https://r.cnpmjs.org/@vercel/nft/-/nft-0.27.3.tgz",
"integrity": "sha512-oySTdDSzUAFDXpsSLk9Q943o+/Yu/+TCFxnehpFQEf/3khi2stMpTHPVNwFdvZq/Z4Ky93lE+MGHpXCRpMkSCA==",
+ "optional": true,
"dependencies": {
"@mapbox/node-pre-gyp": "^1.0.5",
"@rollup/pluginutils": "^4.0.0",
@@ -1099,6 +1132,7 @@
"version": "4.2.1",
"resolved": "https://r.cnpmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
"integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
+ "optional": true,
"dependencies": {
"estree-walker": "^2.0.1",
"picomatch": "^2.2.2"
@@ -1111,6 +1145,7 @@
"version": "2.3.1",
"resolved": "https://r.cnpmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "optional": true,
"engines": {
"node": ">=8.6"
},
@@ -1122,6 +1157,7 @@
"version": "3.2.24",
"resolved": "https://r.cnpmjs.org/@vercel/node/-/node-3.2.24.tgz",
"integrity": "sha512-KEm50YBmcfRNOw5NfdcqMI4BkP4+5TD9kRwAByHHlIZXLj1NTTknvMF+69sHBYzwpK/SUZIkeo7jTrtcl4g+RQ==",
+ "optional": true,
"dependencies": {
"@edge-runtime/node-utils": "2.3.0",
"@edge-runtime/primitives": "4.1.0",
@@ -1148,18 +1184,21 @@
"node_modules/@vercel/node/node_modules/@types/node": {
"version": "16.18.11",
"resolved": "https://r.cnpmjs.org/@types/node/-/node-16.18.11.tgz",
- "integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA=="
+ "integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==",
+ "optional": true
},
"node_modules/@vercel/node/node_modules/es-module-lexer": {
"version": "1.4.1",
"resolved": "https://r.cnpmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
- "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
+ "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
+ "optional": true
},
"node_modules/@vercel/node/node_modules/esbuild": {
"version": "0.14.47",
"resolved": "https://r.cnpmjs.org/esbuild/-/esbuild-0.14.47.tgz",
"integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==",
"hasInstallScript": true,
+ "optional": true,
"bin": {
"esbuild": "bin/esbuild"
},
@@ -1193,6 +1232,7 @@
"version": "3.0.0",
"resolved": "https://r.cnpmjs.org/@vercel/static-config/-/static-config-3.0.0.tgz",
"integrity": "sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==",
+ "optional": true,
"dependencies": {
"ajv": "8.6.3",
"json-schema-to-ts": "1.6.4",
@@ -1394,7 +1434,8 @@
"node_modules/abbrev": {
"version": "1.1.1",
"resolved": "https://r2.cnpmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "optional": true
},
"node_modules/accepts": {
"version": "1.3.8",
@@ -1412,6 +1453,7 @@
"version": "8.14.0",
"resolved": "https://r.cnpmjs.org/acorn/-/acorn-8.14.0.tgz",
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+ "devOptional": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -1423,6 +1465,7 @@
"version": "1.9.5",
"resolved": "https://r.cnpmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
"integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+ "optional": true,
"peerDependencies": {
"acorn": "^8"
}
@@ -1431,6 +1474,7 @@
"version": "8.3.4",
"resolved": "https://r.cnpmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "optional": true,
"dependencies": {
"acorn": "^8.11.0"
},
@@ -1442,6 +1486,7 @@
"version": "6.0.2",
"resolved": "https://r2.cnpmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "optional": true,
"dependencies": {
"debug": "4"
},
@@ -1453,6 +1498,7 @@
"version": "8.6.3",
"resolved": "https://r2.cnpmjs.org/ajv/-/ajv-8.6.3.tgz",
"integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==",
+ "optional": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -1468,17 +1514,33 @@
"version": "5.0.1",
"resolved": "https://r2.cnpmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://r2.cnpmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/ant-design-vue": {
- "version": "4.0.0-rc.6",
- "resolved": "https://r.cnpmjs.org/ant-design-vue/-/ant-design-vue-4.0.0-rc.6.tgz",
- "integrity": "sha512-j+GAhgC1p1+nmQVbaEeY2miZ1h+8jBLlxTESX93MwcshVaYTkZNhiyddtl92VvEDJTedzuX+1oT3TP5wG/+tHg==",
+ "version": "4.2.6",
+ "resolved": "https://r.cnpmjs.org/ant-design-vue/-/ant-design-vue-4.2.6.tgz",
+ "integrity": "sha512-t7eX13Yj3i9+i5g9lqFyYneoIb3OzTvQjq9Tts1i+eiOd3Eva/6GagxBSXM1fOCjqemIu0FYVE1ByZ/38epR3Q==",
"dependencies": {
"@ant-design/colors": "^6.0.0",
- "@ant-design/icons-vue": "^6.1.0",
+ "@ant-design/icons-vue": "^7.0.0",
"@babel/runtime": "^7.10.5",
"@ctrl/tinycolor": "^3.5.0",
"@emotion/hash": "^0.9.0",
@@ -1511,18 +1573,6 @@
"vue": ">=3.2.0"
}
},
- "node_modules/ant-design-vue/node_modules/@ant-design/icons-vue": {
- "version": "6.1.0",
- "resolved": "https://r.cnpmjs.org/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz",
- "integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==",
- "dependencies": {
- "@ant-design/colors": "^6.0.0",
- "@ant-design/icons-svg": "^4.2.1"
- },
- "peerDependencies": {
- "vue": ">=3.0.3"
- }
- },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://r.cnpmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -1551,13 +1601,15 @@
"node_modules/aproba": {
"version": "2.0.0",
"resolved": "https://r2.cnpmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "optional": true
},
"node_modules/are-we-there-yet": {
"version": "2.0.0",
"resolved": "https://r2.cnpmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
"integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
"deprecated": "This package is no longer supported.",
+ "optional": true,
"dependencies": {
"delegates": "^1.0.0",
"readable-stream": "^3.6.0"
@@ -1569,7 +1621,8 @@
"node_modules/arg": {
"version": "4.1.3",
"resolved": "https://r2.cnpmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "optional": true
},
"node_modules/array-flatten": {
"version": "1.1.1",
@@ -1585,6 +1638,7 @@
"version": "3.0.0",
"resolved": "https://r.cnpmjs.org/async-listen/-/async-listen-3.0.0.tgz",
"integrity": "sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==",
+ "optional": true,
"engines": {
"node": ">= 14"
}
@@ -1592,7 +1646,8 @@
"node_modules/async-sema": {
"version": "3.1.1",
"resolved": "https://r2.cnpmjs.org/async-sema/-/async-sema-3.1.1.tgz",
- "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="
+ "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==",
+ "optional": true
},
"node_modules/async-validator": {
"version": "4.2.5",
@@ -1617,7 +1672,8 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://r2.cnpmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "devOptional": true
},
"node_modules/binary-extensions": {
"version": "2.3.0",
@@ -1635,6 +1691,7 @@
"version": "1.5.0",
"resolved": "https://r2.cnpmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "optional": true,
"dependencies": {
"file-uri-to-path": "1.0.0"
}
@@ -1699,6 +1756,7 @@
"version": "3.0.3",
"resolved": "https://r.cnpmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "devOptional": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -1801,6 +1859,7 @@
"version": "2.0.0",
"resolved": "https://r2.cnpmjs.org/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "optional": true,
"engines": {
"node": ">=10"
}
@@ -1808,17 +1867,52 @@
"node_modules/cjs-module-lexer": {
"version": "1.2.3",
"resolved": "https://r.cnpmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz",
- "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ=="
+ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
+ "optional": true
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://r.cnpmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
},
"node_modules/code-block-writer": {
"version": "10.1.1",
"resolved": "https://r2.cnpmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz",
- "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw=="
+ "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==",
+ "optional": true
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://r2.cnpmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://r2.cnpmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
"node_modules/color-support": {
"version": "1.1.3",
"resolved": "https://r2.cnpmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "optional": true,
"bin": {
"color-support": "bin.js"
}
@@ -1842,7 +1936,8 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://r2.cnpmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "optional": true
},
"node_modules/confbox": {
"version": "0.1.8",
@@ -1859,7 +1954,8 @@
"node_modules/console-control-strings": {
"version": "1.1.0",
"resolved": "https://r2.cnpmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "optional": true
},
"node_modules/constant-case": {
"version": "3.0.4",
@@ -1895,6 +1991,7 @@
"version": "3.0.0",
"resolved": "https://r2.cnpmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz",
"integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -1937,12 +2034,14 @@
"node_modules/create-require": {
"version": "1.1.1",
"resolved": "https://r2.cnpmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "optional": true
},
"node_modules/crypto-js": {
"version": "4.2.0",
"resolved": "https://r.cnpmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
- "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
+ "optional": true
},
"node_modules/csstype": {
"version": "3.1.3",
@@ -1958,6 +2057,7 @@
"version": "4.3.7",
"resolved": "https://r.cnpmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "devOptional": true,
"dependencies": {
"ms": "^2.1.3"
},
@@ -1986,6 +2086,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://r2.cnpmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1997,7 +2106,8 @@
"node_modules/delegates": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "optional": true
},
"node_modules/depd": {
"version": "2.0.0",
@@ -2020,6 +2130,7 @@
"version": "2.0.3",
"resolved": "https://r.cnpmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -2028,6 +2139,7 @@
"version": "4.0.2",
"resolved": "https://r2.cnpmjs.org/diff/-/diff-4.0.2.tgz",
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "optional": true,
"engines": {
"node": ">=0.3.1"
}
@@ -2081,6 +2193,7 @@
"version": "2.5.9",
"resolved": "https://r.cnpmjs.org/edge-runtime/-/edge-runtime-2.5.9.tgz",
"integrity": "sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==",
+ "optional": true,
"dependencies": {
"@edge-runtime/format": "2.2.1",
"@edge-runtime/ponyfill": "2.4.2",
@@ -2103,6 +2216,7 @@
"version": "3.0.1",
"resolved": "https://r.cnpmjs.org/async-listen/-/async-listen-3.0.1.tgz",
"integrity": "sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==",
+ "optional": true,
"engines": {
"node": ">= 14"
}
@@ -2110,7 +2224,8 @@
"node_modules/edge-runtime/node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "optional": true
},
"node_modules/ee-first": {
"version": "1.1.1",
@@ -2120,7 +2235,8 @@
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://r2.cnpmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "devOptional": true
},
"node_modules/encodeurl": {
"version": "2.0.0",
@@ -2517,6 +2633,15 @@
"node": ">=12"
}
},
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://r.cnpmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://r2.cnpmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -2597,12 +2722,14 @@
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://r2.cnpmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "optional": true
},
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://r.cnpmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "devOptional": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -2618,6 +2745,7 @@
"version": "1.17.1",
"resolved": "https://r.cnpmjs.org/fastq/-/fastq-1.17.1.tgz",
"integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "devOptional": true,
"dependencies": {
"reusify": "^1.0.4"
}
@@ -2625,12 +2753,14 @@
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "optional": true
},
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://r.cnpmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "devOptional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -2734,6 +2864,7 @@
"version": "2.1.0",
"resolved": "https://r2.cnpmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "optional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -2745,6 +2876,7 @@
"version": "3.3.6",
"resolved": "https://r.cnpmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "optional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -2755,7 +2887,8 @@
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "optional": true
},
"node_modules/fsevents": {
"version": "2.3.3",
@@ -2784,6 +2917,7 @@
"resolved": "https://r.cnpmjs.org/gauge/-/gauge-3.0.2.tgz",
"integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
"deprecated": "This package is no longer supported.",
+ "optional": true,
"dependencies": {
"aproba": "^1.0.3 || ^2.0.0",
"color-support": "^1.1.2",
@@ -2802,7 +2936,17 @@
"node_modules/gauge/node_modules/signal-exit": {
"version": "3.0.7",
"resolved": "https://r.cnpmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "optional": true
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://r2.cnpmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
},
"node_modules/get-intrinsic": {
"version": "1.2.4",
@@ -2827,6 +2971,7 @@
"resolved": "https://r.cnpmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
+ "optional": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -2846,6 +2991,7 @@
"version": "5.1.2",
"resolved": "https://r2.cnpmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "devOptional": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -2857,6 +3003,7 @@
"version": "1.1.11",
"resolved": "https://r2.cnpmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "optional": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2866,6 +3013,7 @@
"version": "3.1.2",
"resolved": "https://r.cnpmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "optional": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2887,7 +3035,8 @@
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://r.cnpmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "devOptional": true
},
"node_modules/has-property-descriptors": {
"version": "1.0.2",
@@ -2925,7 +3074,8 @@
"node_modules/has-unicode": {
"version": "2.0.1",
"resolved": "https://r2.cnpmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "optional": true
},
"node_modules/hasown": {
"version": "2.0.2",
@@ -2967,6 +3117,7 @@
"version": "5.0.1",
"resolved": "https://r.cnpmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "optional": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
@@ -3006,6 +3157,7 @@
"resolved": "https://r2.cnpmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "optional": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -3036,10 +3188,26 @@
"node": ">=8"
}
},
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://r2.cnpmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://r2.cnpmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "devOptional": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3048,6 +3216,7 @@
"version": "3.0.0",
"resolved": "https://r2.cnpmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "devOptional": true,
"engines": {
"node": ">=8"
}
@@ -3056,6 +3225,7 @@
"version": "4.0.3",
"resolved": "https://r2.cnpmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "devOptional": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -3067,6 +3237,7 @@
"version": "7.0.0",
"resolved": "https://r2.cnpmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "devOptional": true,
"engines": {
"node": ">=0.12.0"
}
@@ -3085,6 +3256,18 @@
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"dev": true
},
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://r2.cnpmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://r2.cnpmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -3094,6 +3277,7 @@
"version": "1.6.4",
"resolved": "https://r2.cnpmjs.org/json-schema-to-ts/-/json-schema-to-ts-1.6.4.tgz",
"integrity": "sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==",
+ "optional": true,
"dependencies": {
"@types/json-schema": "^7.0.6",
"ts-toolbelt": "^6.15.5"
@@ -3102,7 +3286,8 @@
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://r2.cnpmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "optional": true
},
"node_modules/jsonfile": {
"version": "6.1.0",
@@ -3239,7 +3424,8 @@
"node_modules/make-error": {
"version": "1.3.6",
"resolved": "https://r2.cnpmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "optional": true
},
"node_modules/media-typer": {
"version": "0.3.0",
@@ -3261,6 +3447,7 @@
"version": "1.4.1",
"resolved": "https://r2.cnpmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "devOptional": true,
"engines": {
"node": ">= 8"
}
@@ -3277,6 +3464,7 @@
"version": "4.0.8",
"resolved": "https://r.cnpmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "devOptional": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -3289,6 +3477,7 @@
"version": "2.3.1",
"resolved": "https://r.cnpmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "devOptional": true,
"engines": {
"node": ">=8.6"
},
@@ -3345,6 +3534,7 @@
"version": "5.0.0",
"resolved": "https://r.cnpmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -3353,6 +3543,7 @@
"version": "2.1.2",
"resolved": "https://r2.cnpmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "optional": true,
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -3365,6 +3556,7 @@
"version": "3.3.6",
"resolved": "https://r.cnpmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "optional": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -3376,6 +3568,7 @@
"version": "1.0.4",
"resolved": "https://r2.cnpmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "optional": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -3399,6 +3592,7 @@
"version": "1.2.0",
"resolved": "https://r2.cnpmjs.org/mri/-/mri-1.2.0.tgz",
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "optional": true,
"engines": {
"node": ">=4"
}
@@ -3469,6 +3663,7 @@
"version": "2.6.9",
"resolved": "https://r.cnpmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
"integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
+ "optional": true,
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -3488,6 +3683,7 @@
"version": "4.8.2",
"resolved": "https://r.cnpmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz",
"integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==",
+ "optional": true,
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@@ -3498,6 +3694,7 @@
"version": "5.0.0",
"resolved": "https://r2.cnpmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "optional": true,
"dependencies": {
"abbrev": "1"
},
@@ -3522,6 +3719,7 @@
"resolved": "https://r2.cnpmjs.org/npmlog/-/npmlog-5.0.1.tgz",
"integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
"deprecated": "This package is no longer supported.",
+ "optional": true,
"dependencies": {
"are-we-there-yet": "^2.0.0",
"console-control-strings": "^1.1.0",
@@ -3533,6 +3731,7 @@
"version": "4.1.1",
"resolved": "https://r2.cnpmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3563,10 +3762,28 @@
"version": "1.4.0",
"resolved": "https://r2.cnpmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "optional": true,
"dependencies": {
"wrappy": "1"
}
},
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://r.cnpmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/param-case": {
"version": "3.0.4",
"resolved": "https://r2.cnpmjs.org/param-case/-/param-case-3.0.4.tgz",
@@ -3581,6 +3798,7 @@
"version": "2.1.0",
"resolved": "https://r2.cnpmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
+ "optional": true,
"engines": {
"node": ">=6"
}
@@ -3612,19 +3830,11 @@
"tslib": "^2.0.3"
}
},
- "node_modules/path": {
- "version": "0.12.7",
- "resolved": "https://r2.cnpmjs.org/path/-/path-0.12.7.tgz",
- "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
- "dependencies": {
- "process": "^0.11.1",
- "util": "^0.10.3"
- }
- },
"node_modules/path-browserify": {
"version": "1.0.1",
"resolved": "https://r2.cnpmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
- "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "optional": true
},
"node_modules/path-case": {
"version": "3.0.4",
@@ -3640,6 +3850,7 @@
"version": "1.0.1",
"resolved": "https://r2.cnpmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3647,7 +3858,8 @@
"node_modules/path-to-regexp": {
"version": "6.2.1",
"resolved": "https://r.cnpmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
- "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
+ "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+ "optional": true
},
"node_modules/pathe": {
"version": "1.1.2",
@@ -3720,10 +3932,26 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/prettier": {
+ "version": "3.3.3",
+ "resolved": "https://r.cnpmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/pretty-ms": {
"version": "7.0.1",
"resolved": "https://r2.cnpmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
"integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
+ "optional": true,
"dependencies": {
"parse-ms": "^2.1.0"
},
@@ -3734,14 +3962,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://r2.cnpmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://r2.cnpmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -3770,6 +3990,7 @@
"version": "2.3.1",
"resolved": "https://r.cnpmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "optional": true,
"engines": {
"node": ">=6"
}
@@ -3792,6 +4013,7 @@
"version": "1.2.3",
"resolved": "https://r2.cnpmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "devOptional": true,
"funding": [
{
"type": "github",
@@ -3844,6 +4066,7 @@
"version": "3.6.2",
"resolved": "https://r.cnpmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "optional": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -3882,10 +4105,20 @@
"resolved": "https://r.cnpmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://r2.cnpmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://r2.cnpmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3899,6 +4132,7 @@
"version": "5.0.0",
"resolved": "https://r2.cnpmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "optional": true,
"engines": {
"node": ">=8"
}
@@ -3907,6 +4141,7 @@
"version": "1.0.4",
"resolved": "https://r2.cnpmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "devOptional": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -3917,6 +4152,7 @@
"resolved": "https://r2.cnpmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "optional": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -3964,10 +4200,58 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rollup-plugin-visualizer": {
+ "version": "5.12.0",
+ "resolved": "https://r.cnpmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz",
+ "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==",
+ "dev": true,
+ "dependencies": {
+ "open": "^8.4.0",
+ "picomatch": "^2.3.1",
+ "source-map": "^0.7.4",
+ "yargs": "^17.5.1"
+ },
+ "bin": {
+ "rollup-plugin-visualizer": "dist/bin/cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "rollup": "2.x || 3.x || 4.x"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://r.cnpmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/rollup-plugin-visualizer/node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://r.cnpmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://r2.cnpmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "devOptional": true,
"funding": [
{
"type": "github",
@@ -4107,7 +4391,8 @@
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://r2.cnpmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "optional": true
},
"node_modules/set-function-length": {
"version": "1.2.2",
@@ -4156,6 +4441,7 @@
"version": "4.0.2",
"resolved": "https://r.cnpmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
"integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
+ "optional": true,
"engines": {
"node": ">=14"
},
@@ -4210,6 +4496,7 @@
"version": "1.3.0",
"resolved": "https://r2.cnpmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "optional": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -4218,6 +4505,7 @@
"version": "4.2.3",
"resolved": "https://r2.cnpmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "devOptional": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -4231,6 +4519,7 @@
"version": "6.0.1",
"resolved": "https://r2.cnpmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "devOptional": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -4247,6 +4536,7 @@
"version": "6.2.1",
"resolved": "https://r.cnpmjs.org/tar/-/tar-6.2.1.tgz",
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "optional": true,
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -4271,6 +4561,7 @@
"version": "4.0.0",
"resolved": "https://r2.cnpmjs.org/time-span/-/time-span-4.0.0.tgz",
"integrity": "sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==",
+ "optional": true,
"dependencies": {
"convert-hrtime": "^3.0.0"
},
@@ -4285,6 +4576,7 @@
"version": "5.0.1",
"resolved": "https://r2.cnpmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "devOptional": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -4303,12 +4595,14 @@
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://r2.cnpmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "optional": true
},
"node_modules/ts-morph": {
"version": "12.0.0",
"resolved": "https://r2.cnpmjs.org/ts-morph/-/ts-morph-12.0.0.tgz",
"integrity": "sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==",
+ "optional": true,
"dependencies": {
"@ts-morph/common": "~0.11.0",
"code-block-writer": "^10.1.1"
@@ -4318,6 +4612,7 @@
"version": "10.9.1",
"resolved": "https://r.cnpmjs.org/ts-node/-/ts-node-10.9.1.tgz",
"integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
+ "optional": true,
"dependencies": {
"@cspotcode/source-map-support": "^0.8.0",
"@tsconfig/node10": "^1.0.7",
@@ -4359,7 +4654,8 @@
"node_modules/ts-toolbelt": {
"version": "6.15.5",
"resolved": "https://r2.cnpmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz",
- "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A=="
+ "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==",
+ "optional": true
},
"node_modules/tslib": {
"version": "2.8.1",
@@ -4383,6 +4679,7 @@
"version": "4.9.5",
"resolved": "https://r.cnpmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "optional": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -4401,6 +4698,7 @@
"version": "5.28.4",
"resolved": "https://r.cnpmjs.org/undici/-/undici-5.28.4.tgz",
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+ "optional": true,
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
@@ -4412,6 +4710,7 @@
"version": "6.19.8",
"resolved": "https://r.cnpmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "optional": true,
"peer": true
},
"node_modules/universalify": {
@@ -4511,27 +4810,16 @@
"version": "4.4.1",
"resolved": "https://r2.cnpmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "optional": true,
"dependencies": {
"punycode": "^2.1.0"
}
},
- "node_modules/util": {
- "version": "0.10.4",
- "resolved": "https://r2.cnpmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dependencies": {
- "inherits": "2.0.3"
- }
- },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://r2.cnpmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://r2.cnpmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "optional": true
},
"node_modules/utils-merge": {
"version": "1.0.1",
@@ -4544,7 +4832,8 @@
"node_modules/v8-compile-cache-lib": {
"version": "3.0.1",
"resolved": "https://r.cnpmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+ "optional": true
},
"node_modules/vary": {
"version": "1.1.2",
@@ -4749,7 +5038,8 @@
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://r2.cnpmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "optional": true
},
"node_modules/webpack-virtual-modules": {
"version": "0.6.2",
@@ -4761,6 +5051,7 @@
"version": "5.0.0",
"resolved": "https://r2.cnpmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "optional": true,
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -4770,24 +5061,81 @@
"version": "1.1.5",
"resolved": "https://r2.cnpmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "optional": true,
"dependencies": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://r2.cnpmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://r2.cnpmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "optional": true
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://r2.cnpmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://r2.cnpmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "optional": true
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://r.cnpmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://r.cnpmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
},
"node_modules/yn": {
"version": "3.1.1",
"resolved": "https://r2.cnpmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "optional": true,
"engines": {
"node": ">=6"
}
diff --git a/package.json b/package.json
index 3f27cce..9aef940 100644
--- a/package.json
+++ b/package.json
@@ -11,22 +11,22 @@
"docker:install": "yarn install --production --frozen-lockfile && yarn build"
},
"dependencies": {
+ "dotenv": "^16.4.5",
+ "express": "^4.21.1"
+ },
+ "devDependencies": {
"@ant-design/icons-vue": "^7.0.1",
"@vueuse/core": "^11.2.0",
- "ant-design-vue": "^4.0.0-rc.6",
- "axios": "^1.7.7",
- "dotenv": "^16.4.5",
- "echarts": "^5.5.1",
- "express": "^4.21.1",
+ "ant-design-vue": "^4.2.6",
"vue": "^3.5.12",
"vue-i18n": "^9.14.1",
- "vue-router": "^4.4.5"
- },
- "devDependencies": {
+ "vue-router": "^4.4.5",
+ "echarts": "^5.5.1",
"@vitejs/plugin-vue": "^5.1.4",
"less": "^4.2.0",
"less-loader": "^12.2.0",
"prettier": "^3.3.3",
+ "rollup-plugin-visualizer": "^5.12.0",
"unplugin-vue-components": "^0.27.4",
"vite": "^5.4.10",
"vite-plugin-style-import": "^2.0.0"
diff --git a/server.js b/server.js
index 08c0866..7aaf590 100644
--- a/server.js
+++ b/server.js
@@ -19,8 +19,10 @@ app.use(express.json());
// 引入路由
import authRouter from './api/local/auth.js';
import apiRouter from './api/local/index.js';
+import aliveRouter from './api/local/alive.js';
// 设置后端接口路由,位于 `/api` 路径下
+app.use('/api/alive', aliveRouter);
app.use('/api/auth', authRouter);
app.use('/api', apiRouter);
diff --git a/src/components/Check.vue b/src/components/Check.vue
index a2d975e..832920d 100644
--- a/src/components/Check.vue
+++ b/src/components/Check.vue
@@ -1,411 +1,451 @@