From d380613ba1cb932af53845b34aad493405ef6c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E4=BB=99=E9=83=BD=E6=B2=A1=E7=94=A8?= <615206459@qq.com> Date: Mon, 22 Jul 2024 20:24:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BE=9D=E8=B5=96=EF=BC=8C?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=AE=E5=BD=95=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 4 +- .eslintrc.js | 33 +- src/env.d.ts => env.d.ts | 3 +- nginx.conf | 104 +- package.json | 40 +- packages/vite-plugin/dist/index.js | 10 +- packages/vite-plugin/package.json | 2 +- packages/vite-plugin/src/eps/index.ts | 11 +- pnpm-lock.yaml | 1506 ++++++++++------- src/cool/bootstrap/module.ts | 116 +- src/cool/utils/index.ts | 4 - src/cool/utils/loading.ts | 5 +- src/modules/base/components/code/json.vue | 11 +- src/modules/base/config.ts | 13 +- .../base/pages/main/components/bmenu.tsx | 9 +- .../base/pages/main/components/process.vue | 2 +- src/modules/base/static/css/index.scss | 1 - src/modules/base/views/menu/index.vue | 5 +- src/modules/helper/views/ai-code.vue | 4 +- src/modules/helper/views/plugins/serve.vue | 2 +- src/modules/helper/views/plugins/vue.vue | 2 +- src/modules/user/components/select.vue | 4 +- src/plugins/crud/components/select/index.tsx | 2 +- src/plugins/crud/config.ts | 1 + src/plugins/echarts/config.ts | 16 + src/plugins/editor-monaco/utils/format.ts | 4 +- src/plugins/element-ui/config.ts | 17 + .../element-ui/css/index.scss} | 6 + src/plugins/excel/components/import-btn.vue | 3 +- .../theme/components/theme.vue | 0 src/{modules => plugins}/theme/config.ts | 7 +- .../theme/static/css/index.scss | 0 .../theme/types/index.d.ts | 0 src/{modules => plugins}/theme/utils/index.ts | 0 .../upload/components/upload-item/index.vue | 2 +- src/plugins/upload/hooks/index.ts | 272 ++- src/plugins/upload/types/index.d.ts | 16 +- vite.config.mts | 26 +- 38 files changed, 1332 insertions(+), 931 deletions(-) rename src/env.d.ts => env.d.ts (69%) create mode 100644 src/plugins/echarts/config.ts create mode 100644 src/plugins/element-ui/config.ts rename src/{modules/base/static/css/theme.scss => plugins/element-ui/css/index.scss} (77%) rename src/{modules => plugins}/theme/components/theme.vue (100%) rename src/{modules => plugins}/theme/config.ts (82%) rename src/{modules => plugins}/theme/static/css/index.scss (100%) rename src/{modules => plugins}/theme/types/index.d.ts (100%) rename src/{modules => plugins}/theme/utils/index.ts (100%) diff --git a/.eslintignore b/.eslintignore index 3c018ee..e35264d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,3 @@ -vite.config.ts \ No newline at end of file +packages/ +dist/ +node_modules/ diff --git a/.eslintrc.js b/.eslintrc.js index 41fa72b..5729661 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,27 +1,17 @@ +/* eslint-env node */ +require("@rushstack/eslint-patch/modern-module-resolution"); + module.exports = { root: true, - env: { - browser: true, - node: true, - es6: true - }, - parser: "vue-eslint-parser", - parserOptions: { - parser: "@typescript-eslint/parser", - ecmaVersion: 2020, - sourceType: "module", - jsxPragma: "React", - ecmaFeatures: { - jsx: true, - tsx: true - } - }, extends: [ - "plugin:vue/vue3-recommended", - "plugin:@typescript-eslint/recommended", - "prettier", - "plugin:prettier/recommended" + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/eslint-config-typescript", + "@vue/eslint-config-prettier/skip-formatting" ], + parserOptions: { + ecmaVersion: "latest" + }, rules: { "@typescript-eslint/ban-ts-ignore": "off", "@typescript-eslint/explicit-function-return-type": "off", @@ -51,6 +41,7 @@ module.exports = { "vue/attribute-hyphenation": "off", "vue/html-self-closing": "off", "vue/require-default-prop": "off", - "vue/v-on-event-hyphenation": "off" + "vue/v-on-event-hyphenation": "off", + "no-self-assign": "off" } }; diff --git a/src/env.d.ts b/env.d.ts similarity index 69% rename from src/env.d.ts rename to env.d.ts index 238c84b..f38943c 100644 --- a/src/env.d.ts +++ b/env.d.ts @@ -1,5 +1,6 @@ /// -/// +/// +/// interface ImportMetaEnv { readonly VITE_NAME: string; diff --git a/nginx.conf b/nginx.conf index 5c12b2b..2a02b0a 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,74 +1,72 @@ -user nginx; -worker_processes 1; -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; +user nginx; +worker_processes 1; +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; events { - worker_connections 1024; + worker_connections 1024; } http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - access_log /var/log/nginx/access.log main; - sendfile on; - keepalive_timeout 65; + include /etc/nginx/mime.types; + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log /var/log/nginx/access.log main; + sendfile on; + keepalive_timeout 65; upstream cool { - server midway:8001; + server midway:8001; } server { - listen 80; - server_name localhost; + listen 80; + server_name localhost; location / { - root /app; - index index.html; + root /app; + index index.html; try_files $uri $uri/ /index.html; } - location /api/ - { - proxy_pass http://cool/; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header REMOTE-HOST $remote_addr; + location /api/ { + proxy_pass http://cool/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; - #缓存相关配置 - #proxy_cache cache_one; - #proxy_cache_key $host$request_uri$is_args$args; - #proxy_cache_valid 200 304 301 302 1h; + #缓存相关配置 + #proxy_cache cache_one; + #proxy_cache_key $host$request_uri$is_args$args; + #proxy_cache_valid 200 304 301 302 1h; - #持久化连接相关配置 - proxy_connect_timeout 3000s; - proxy_read_timeout 86400s; - proxy_send_timeout 3000s; - #proxy_http_version 1.1; - #proxy_set_header Upgrade $http_upgrade; - #proxy_set_header Connection "upgrade"; + #持久化连接相关配置 + proxy_connect_timeout 3000s; + proxy_read_timeout 86400s; + proxy_send_timeout 3000s; + #proxy_http_version 1.1; + #proxy_set_header Upgrade $http_upgrade; + #proxy_set_header Connection "upgrade"; - add_header X-Cache $upstream_cache_status; + add_header X-Cache $upstream_cache_status; - #expires 12h; + #expires 12h; } # socket需额外配置 location /socket { - proxy_pass http://cool/socket; - proxy_connect_timeout 3600s; #配置点1 - proxy_read_timeout 3600s; #配置点2,如果没效,可以考虑这个时间配置长一点 - proxy_send_timeout 3600s; #配置点3 - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header REMOTE-HOST $remote_addr; - #proxy_bind $remote_addr transparent; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - rewrite /socket/(.*) /$1 break; - proxy_redirect off; - + proxy_pass http://cool/socket; + proxy_connect_timeout 3600s; #配置点1 + proxy_read_timeout 3600s; #配置点2,如果没效,可以考虑这个时间配置长一点 + proxy_send_timeout 3600s; #配置点3 + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; + #proxy_bind $remote_addr transparent; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + rewrite /socket/(.*) /$1 break; + proxy_redirect off; } } } \ No newline at end of file diff --git a/package.json b/package.json index cc6c91c..fbd6f99 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "cool-admin", - "version": "7.1.1", + "version": "7.1.2", "scripts": { "dev": "vite --host", "build": "vite build", - "serve": "vite preview", - "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"", - "lint:eslint": "eslint \"./src/**/*.{vue,ts,tsx}\" --fix" + "preview": "vite preview", + "format": "prettier --write src/", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .eslintignore" }, "dependencies": { "@cool-vue/crud": "^7.1.26", @@ -14,12 +14,12 @@ "@vueuse/core": "^10.4.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^1.6.7", + "axios": "^1.7.2", "chardet": "^2.0.0", "core-js": "^3.32.1", "dayjs": "^1.11.10", "echarts": "^5.4.3", - "element-plus": "^2.7.3", + "element-plus": "^2.7.7", "file-saver": "^2.0.5", "lodash-es": "^4.17.21", "marked": "^11.1.1", @@ -32,33 +32,33 @@ "store": "^2.0.12", "vue": "^3.4.15", "vue-echarts": "^6.6.1", - "vue-router": "^4.3.2", + "vue-router": "^4.4.0", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" }, "devDependencies": { - "@cool-vue/vite-plugin": "^7.1.4", + "@rushstack/eslint-patch": "^1.8.0", + "@cool-vue/vite-plugin": "^7.1.5", "@types/file-saver": "^2.0.7", "@types/lodash-es": "^4.17.8", "@types/mockjs": "^1.0.7", - "@types/node": "^20.5.6", + "@types/node": "^20.14.5", "@types/nprogress": "^0.2.0", "@types/store": "^2.0.2", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.4.1", "@vitejs/plugin-vue": "^5.0.3", "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/compiler-sfc": "^3.4.15", - "eslint": "^8.48.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-vue": "^9.17.0", - "prettier": "^3.1.0", + "@vue/eslint-config-prettier": "^9.0.0", + "@vue/eslint-config-typescript": "^13.0.0", + "eslint": "^8.57.0", + "eslint-plugin-vue": "^9.23.0", + "prettier": "^3.3.3", "rollup-plugin-visualizer": "^5.9.2", - "sass": "^1.66.1", + "sass": "^1.53.0", "terser": "^5.27.0", - "typescript": "^5.2.2", - "vite": "^5.0.12", - "vite-plugin-compression": "^0.5.1" + "typescript": "^5.4.0", + "vite": "^5.3.4", + "vite-plugin-compression": "^0.5.1", + "vite-plugin-vue-devtools": "^7.3.1" } } diff --git a/packages/vite-plugin/dist/index.js b/packages/vite-plugin/dist/index.js index dc6f4a3..d393f99 100644 --- a/packages/vite-plugin/dist/index.js +++ b/packages/vite-plugin/dist/index.js @@ -245,6 +245,7 @@ // 创建 Entity function createEntity() { const t0 = []; + const arr = []; for (const item of list) { if (!item.name) continue; @@ -266,7 +267,10 @@ t.push(" */\n"); t.push(`[key: string]: any;`); t.push("}"); - t0.push(t); + if (!arr.includes(item.name)) { + arr.push(item.name); + t0.push(t); + } } return t0.map((e) => e.join("")).join("\n\n"); } @@ -364,7 +368,9 @@ t.push(` * ${a.summary || n}\n`); t.push(" */\n"); t.push(`${n}(data${q.length == 1 ? "?" : ""}: ${q.join("")}): Promise<${res}>;`); - permission.push(n); + if (!permission.includes(n)) { + permission.push(n); + } } }); // 权限标识 diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index 9cb6299..cf91f27 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@cool-vue/vite-plugin", - "version": "7.1.4", + "version": "7.1.5", "description": "cool-admin/cool-uni builder", "main": "/dist/index.js", "scripts": { diff --git a/packages/vite-plugin/src/eps/index.ts b/packages/vite-plugin/src/eps/index.ts index 7ac67a8..a201f3f 100644 --- a/packages/vite-plugin/src/eps/index.ts +++ b/packages/vite-plugin/src/eps/index.ts @@ -164,6 +164,7 @@ async function createDescribe({ list, service }: { list: Eps.Entity[]; service: // 创建 Entity function createEntity() { const t0: string[][] = []; + const arr: string[] = []; for (const item of list) { if (!item.name) continue; @@ -187,7 +188,11 @@ async function createDescribe({ list, service }: { list: Eps.Entity[]; service: t.push(" */\n"); t.push(`[key: string]: any;`); t.push("}"); - t0.push(t); + + if (!arr.includes(item.name)) { + arr.push(item.name); + t0.push(t); + } } return t0.map((e) => e.join("")).join("\n\n"); @@ -316,7 +321,9 @@ async function createDescribe({ list, service }: { list: Eps.Entity[]; service: )}): Promise<${res}>;`, ); - permission.push(n); + if (!permission.includes(n)) { + permission.push(n); + } } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eac618e..1f7973a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@cool-vue/crud': specifier: ^7.1.26 - version: 7.1.26(typescript@5.2.2) + version: 7.1.26(typescript@5.4.2) '@element-plus/icons-vue': specifier: ^2.3.1 version: 2.3.1(vue@3.4.15) @@ -21,8 +21,8 @@ dependencies: specifier: ^5.1.12 version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.15) axios: - specifier: ^1.6.7 - version: 1.6.7 + specifier: ^1.7.2 + version: 1.7.2 chardet: specifier: ^2.0.0 version: 2.0.0 @@ -36,8 +36,8 @@ dependencies: specifier: ^5.4.3 version: 5.4.3 element-plus: - specifier: ^2.7.3 - version: 2.7.3(vue@3.4.15) + specifier: ^2.7.7 + version: 2.7.7(vue@3.4.15) file-saver: specifier: ^2.0.5 version: 2.0.5 @@ -61,7 +61,7 @@ dependencies: version: 0.2.0 pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.4.15) + version: 2.1.7(typescript@5.4.2)(vue@3.4.15) socket.io-client: specifier: ^4.7.2 version: 4.7.2 @@ -70,13 +70,13 @@ dependencies: version: 2.0.12 vue: specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + version: 3.4.15(typescript@5.4.2) vue-echarts: specifier: ^6.6.1 version: 6.6.1(echarts@5.4.3)(vue@3.4.15) vue-router: - specifier: ^4.3.2 - version: 4.3.2(vue@3.4.15) + specifier: ^4.4.0 + version: 4.4.0(vue@3.4.15) vuedraggable: specifier: ^4.1.0 version: 4.1.0(vue@3.4.15) @@ -86,8 +86,11 @@ dependencies: devDependencies: '@cool-vue/vite-plugin': - specifier: ^7.1.4 - version: 7.1.4 + specifier: ^7.1.5 + version: 7.1.5 + '@rushstack/eslint-patch': + specifier: ^1.8.0 + version: 1.8.0 '@types/file-saver': specifier: ^2.0.7 version: 2.0.7 @@ -98,62 +101,59 @@ devDependencies: specifier: ^1.0.7 version: 1.0.7 '@types/node': - specifier: ^20.5.6 - version: 20.5.6 + specifier: ^20.14.5 + version: 20.14.5 '@types/nprogress': specifier: ^0.2.0 version: 0.2.0 '@types/store': specifier: ^2.0.2 version: 2.0.2 - '@typescript-eslint/eslint-plugin': - specifier: ^6.20.0 - version: 6.20.0(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^6.4.1 - version: 6.4.1(eslint@8.48.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: ^5.0.3 - version: 5.0.3(vite@5.0.12)(vue@3.4.15) + version: 5.0.3(vite@5.3.4)(vue@3.4.15) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.0.12)(vue@3.4.15) + version: 3.1.0(vite@5.3.4)(vue@3.4.15) '@vue/compiler-sfc': specifier: ^3.4.15 version: 3.4.15 - eslint: - specifier: ^8.48.0 - version: 8.48.0 - eslint-config-prettier: + '@vue/eslint-config-prettier': specifier: ^9.0.0 - version: 9.0.0(eslint@8.48.0) - eslint-plugin-prettier: - specifier: ^5.0.0 - version: 5.0.0(eslint-config-prettier@9.0.0)(eslint@8.48.0)(prettier@3.1.0) + version: 9.0.0(eslint@8.57.0)(prettier@3.3.3) + '@vue/eslint-config-typescript': + specifier: ^13.0.0 + version: 13.0.0(eslint-plugin-vue@9.23.0)(eslint@8.57.0)(typescript@5.4.2) + eslint: + specifier: ^8.57.0 + version: 8.57.0 eslint-plugin-vue: - specifier: ^9.17.0 - version: 9.17.0(eslint@8.48.0) + specifier: ^9.23.0 + version: 9.23.0(eslint@8.57.0) prettier: - specifier: ^3.1.0 - version: 3.1.0 + specifier: ^3.3.3 + version: 3.3.3 rollup-plugin-visualizer: specifier: ^5.9.2 version: 5.9.2 sass: - specifier: ^1.66.1 - version: 1.66.1 + specifier: ^1.53.0 + version: 1.53.0 terser: specifier: ^5.27.0 version: 5.27.0 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.0 + version: 5.4.2 vite: - specifier: ^5.0.12 - version: 5.0.12(@types/node@20.5.6)(sass@1.66.1)(terser@5.27.0) + specifier: ^5.3.4 + version: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@5.0.12) + version: 0.5.1(vite@5.3.4) + vite-plugin-vue-devtools: + specifier: ^7.3.1 + version: 7.3.1(vite@5.3.4)(vue@3.4.15) packages: @@ -165,6 +165,10 @@ packages: '@jridgewell/trace-mapping': 0.3.25 dev: true + /@antfu/utils@0.7.10: + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + dev: true + /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -173,25 +177,25 @@ packages: picocolors: 1.0.1 dev: true - /@babel/compat-data@7.24.7: - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + /@babel/compat-data@7.24.9: + resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.24.7: - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + /@babel/core@7.24.9: + resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/generator': 7.24.10 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helpers': 7.24.8 + '@babel/parser': 7.24.8 '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 convert-source-map: 2.0.0 debug: 4.3.5 gensync: 1.0.0-beta.2 @@ -201,11 +205,11 @@ packages: - supports-color dev: true - /@babel/generator@7.24.7: - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + /@babel/generator@7.24.10: + resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -215,33 +219,33 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true - /@babel/helper-compilation-targets@7.24.7: - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + /@babel/helper-compilation-targets@7.24.8: + resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 + '@babel/compat-data': 7.24.9 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.2 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + /@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 @@ -253,7 +257,7 @@ packages: resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true /@babel/helper-function-name@7.24.7: @@ -261,22 +265,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true /@babel/helper-hoist-variables@7.24.7: resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true - /@babel/helper-member-expression-to-functions@7.24.7: - resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + /@babel/helper-member-expression-to-functions@7.24.8: + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true @@ -285,26 +289,26 @@ packages: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true /@babel/helper-module-imports@7.24.7: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + /@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9): + resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 @@ -318,23 +322,23 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true - /@babel/helper-plugin-utils@7.24.7: - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + /@babel/helper-plugin-utils@7.24.8: + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7): + /@babel/helper-replace-supers@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 transitivePeerDependencies: - supports-color @@ -344,8 +348,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true @@ -354,8 +358,8 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color dev: true @@ -364,28 +368,28 @@ packages: resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true - /@babel/helper-string-parser@7.24.7: - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + /@babel/helper-string-parser@7.24.8: + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.24.7: - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + /@babel/helper-validator-option@7.24.8: + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.24.7: - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + /@babel/helpers@7.24.8: + resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 dev: true /@babel/highlight@7.24.7: @@ -398,50 +402,93 @@ packages: picocolors: 1.0.1 dev: true - /@babel/parser@7.24.7: - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + /@babel/parser@7.24.8: + resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 - /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): + /@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.24.9) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.9): + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 dev: true - /@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7): - resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + /@babel/plugin-transform-typescript@7.24.8(@babel/core@7.24.9): + resolution: {integrity: sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color dev: true - /@babel/runtime@7.24.7: - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + /@babel/runtime@7.24.8: + resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -452,60 +499,60 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 dev: true - /@babel/traverse@7.24.7: - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + /@babel/traverse@7.24.8: + resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 + '@babel/generator': 7.24.10 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.24.7: - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + /@babel/types@7.24.9: + resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.24.7 + '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - /@cool-vue/crud@7.1.26(typescript@5.2.2): + /@cool-vue/crud@7.1.26(typescript@5.4.2): resolution: {integrity: sha512-v8X32My5iGqt048FWkthMxVdOY5kTf2MVLIHyr8NoCEbSFN4vzDSbLE6TWgQMHd62GCDxlB9e/QQGCc55CZGcA==} dependencies: '@element-plus/icons-vue': 2.3.1(vue@3.4.15) array.prototype.flat: 1.3.2 core-js: 3.32.1 - element-plus: 2.7.3(vue@3.4.15) + element-plus: 2.7.7(vue@3.4.15) lodash-es: 4.17.21 mitt: 3.0.1 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) transitivePeerDependencies: - '@vue/composition-api' - typescript dev: false - /@cool-vue/vite-plugin@7.1.4: - resolution: {integrity: sha512-AYY+YwwL57+KJ/2dC7+hIMgHl1vc8FPTf43E6ZF2RoSk8/rgN7kg+l0OgvVJ9QUfCdf3+M4w/T0DWNi6/JDuHQ==} + /@cool-vue/vite-plugin@7.1.5: + resolution: {integrity: sha512-dIxGzDtml90DqMgyZPwydYO9LawaEvmQN4vI/EpFhA1tQkeeeUICflyMy26/R711GoLsmnseNafRpL123O3UVA==} dependencies: - '@vue/compiler-sfc': 3.4.31 + '@vue/compiler-sfc': 3.4.33 axios: 1.7.2 - glob: 10.4.2 + glob: 10.4.5 lodash: 4.17.21 magic-string: 0.30.10 - prettier: 3.3.2 + prettier: 3.3.3 transitivePeerDependencies: - debug dev: true @@ -520,11 +567,11 @@ packages: peerDependencies: vue: ^3.2.0 dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -532,8 +579,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -541,8 +588,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -550,8 +597,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -559,8 +606,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -568,8 +615,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -577,8 +624,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -586,8 +633,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -595,8 +642,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -604,8 +651,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -613,8 +660,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -622,8 +669,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -631,8 +678,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -640,8 +687,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -649,8 +696,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -658,8 +705,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -667,8 +714,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -676,8 +723,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -685,8 +732,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -694,8 +741,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -703,8 +750,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -712,8 +759,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -721,8 +768,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -730,18 +777,18 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.48.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.10.1: - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -762,26 +809,26 @@ packages: - supports-color dev: true - /@eslint/js@8.48.0: - resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@floating-ui/core@1.6.3: - resolution: {integrity: sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==} + /@floating-ui/core@1.6.5: + resolution: {integrity: sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==} dependencies: - '@floating-ui/utils': 0.2.3 + '@floating-ui/utils': 0.2.5 dev: false - /@floating-ui/dom@1.6.6: - resolution: {integrity: sha512-qiTYajAnh3P+38kECeffMSQgbvXty2VB6rS+42iWR4FPIlZjLK84E9qtLnMTLIpPz2znD/TaFqaiavMUrS+Hcw==} + /@floating-ui/dom@1.6.8: + resolution: {integrity: sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==} dependencies: - '@floating-ui/core': 1.6.3 - '@floating-ui/utils': 0.2.3 + '@floating-ui/core': 1.6.5 + '@floating-ui/utils': 0.2.5 dev: false - /@floating-ui/utils@0.2.3: - resolution: {integrity: sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww==} + /@floating-ui/utils@0.2.5: + resolution: {integrity: sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==} dev: false /@humanwhocodes/config-array@0.11.14: @@ -823,7 +870,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 dev: true @@ -844,14 +891,14 @@ packages: '@jridgewell/trace-mapping': 0.3.25 dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /@nodelib/fs.scandir@2.1.5: @@ -887,134 +934,165 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true - /@rollup/rollup-android-arm-eabi@4.18.0: - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + dev: true + + /@rollup/pluginutils@5.1.0: + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.19.0: + resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.18.0: - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + /@rollup/rollup-android-arm64@4.19.0: + resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.18.0: - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + /@rollup/rollup-darwin-arm64@4.19.0: + resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.18.0: - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + /@rollup/rollup-darwin-x64@4.19.0: + resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.18.0: - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + /@rollup/rollup-linux-arm-gnueabihf@4.19.0: + resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==} cpu: [arm] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.18.0: - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + /@rollup/rollup-linux-arm-musleabihf@4.19.0: + resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==} cpu: [arm] os: [linux] + libc: [musl] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.18.0: - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + /@rollup/rollup-linux-arm64-gnu@4.19.0: + resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==} cpu: [arm64] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.18.0: - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + /@rollup/rollup-linux-arm64-musl@4.19.0: + resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==} cpu: [arm64] os: [linux] + libc: [musl] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.18.0: - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + /@rollup/rollup-linux-powerpc64le-gnu@4.19.0: + resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==} cpu: [ppc64] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.18.0: - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + /@rollup/rollup-linux-riscv64-gnu@4.19.0: + resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==} cpu: [riscv64] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.18.0: - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + /@rollup/rollup-linux-s390x-gnu@4.19.0: + resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==} cpu: [s390x] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.18.0: - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + /@rollup/rollup-linux-x64-gnu@4.19.0: + resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==} cpu: [x64] os: [linux] + libc: [glibc] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.18.0: - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + /@rollup/rollup-linux-x64-musl@4.19.0: + resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==} cpu: [x64] os: [linux] + libc: [musl] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.18.0: - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + /@rollup/rollup-win32-arm64-msvc@4.19.0: + resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.18.0: - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + /@rollup/rollup-win32-ia32-msvc@4.19.0: + resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.18.0: - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + /@rollup/rollup-win32-x64-msvc@4.19.0: + resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true + /@rushstack/eslint-patch@1.8.0: + resolution: {integrity: sha512-0HejFckBN2W+ucM6cUOlwsByTKt9/+0tWhqUffNIcHqCXkthY/mZ7AuYPK/2IIaGWhdl0h+tICDO0ssLMd6XMQ==} + dev: true + /@socket.io/component-emitter@3.1.2: resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} dev: false @@ -1039,34 +1117,28 @@ packages: resolution: {integrity: sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==} dev: true - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - /@types/lodash-es@4.17.8: resolution: {integrity: sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog==} dependencies: - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.7 - /@types/lodash@4.17.6: - resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} + /@types/lodash@4.17.7: + resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} /@types/mockjs@1.0.7: resolution: {integrity: sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==} dev: true - /@types/node@20.5.6: - resolution: {integrity: sha512-Gi5wRGPbbyOTX+4Y2iULQ27oUPrefaB0PxGQJnfyWN3kvEDGM3mIB5M/gQLmitZf7A9FmLeaqxD3L1CXpm3VKQ==} + /@types/node@20.14.5: + resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + dependencies: + undici-types: 5.26.5 dev: true /@types/nprogress@0.2.0: resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@types/store@2.0.2: resolution: {integrity: sha512-ZPHnXkzmGMfk+pHqAGzTSpA9CbsHmJLgkvOl5w52LZ0XTxB1ZIHWZzQ7lEtjTNWScBbsQekg8TjApMXkMe4nkw==} dev: true @@ -1079,178 +1151,135 @@ packages: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: false - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@8.48.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.20.0(eslint@8.48.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.20.0 - debug: 4.3.5 - eslint: 8.48.0 + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.16.1 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.3.0(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.4.1(eslint@8.48.0)(typescript@5.2.2): - resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.4.1 - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.4.1 + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.16.1 debug: 4.3.5 - eslint: 8.48.0 - typescript: 5.2.2 + eslint: 8.57.0 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/scope-manager@7.16.1: + resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 dev: true - /@typescript-eslint/scope-manager@6.4.1: - resolution: {integrity: sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/visitor-keys': 6.4.1 - dev: true - - /@typescript-eslint/type-utils@6.20.0(eslint@8.48.0)(typescript@5.2.2): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@7.16.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.20.0(eslint@8.48.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.5 - eslint: 8.48.0 - ts-api-utils: 1.3.0(typescript@5.2.2) - typescript: 5.2.2 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/types@7.16.1: + resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/types@6.4.1: - resolution: {integrity: sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.2.2): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@7.16.1(typescript@5.4.2): + resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.2.2) - typescript: 5.2.2 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.4.1(typescript@5.2.2): - resolution: {integrity: sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@7.16.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.56.0 dependencies: - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/visitor-keys': 6.4.1 - debug: 4.3.5 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@6.20.0(eslint@8.48.0)(typescript@5.2.2): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) - eslint: 8.48.0 - semver: 7.6.2 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.4.2) + eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/visitor-keys@7.16.1: + resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/types': 7.16.1 eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.4.1: - resolution: {integrity: sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.4.1 - eslint-visitor-keys: 3.4.3 + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /@uppy/companion-client@2.2.2: @@ -1270,7 +1299,7 @@ packages: mime-match: 1.0.2 namespace-emitter: 2.0.1 nanoid: 3.3.7 - preact: 10.22.0 + preact: 10.22.1 dev: false /@uppy/store-default@2.1.1: @@ -1294,38 +1323,38 @@ packages: nanoid: 3.3.7 dev: false - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.12)(vue@3.4.15): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.3.4)(vue@3.4.15): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) - '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7) - vite: 5.0.12(@types/node@20.5.6)(sass@1.66.1)(terser@5.27.0) - vue: 3.4.15(typescript@5.2.2) + '@babel/core': 7.24.9 + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.9) + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + vue: 3.4.15(typescript@5.4.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.3(vite@5.0.12)(vue@3.4.15): + /@vitejs/plugin-vue@5.0.3(vite@5.3.4)(vue@3.4.15): resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.12(@types/node@20.5.6)(sass@1.66.1)(terser@5.27.0) - vue: 3.4.15(typescript@5.2.2) + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + vue: 3.4.15(typescript@5.4.2) dev: true /@vue/babel-helper-vue-transform-on@1.2.2: resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==} dev: true - /@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.7): + /@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.9): resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1333,15 +1362,15 @@ packages: '@babel/core': optional: true dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 '@vue/babel-helper-vue-transform-on': 1.2.2 - '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.24.7) + '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.24.9) camelcase: 6.3.0 html-tags: 3.3.1 svg-tags: 1.0.0 @@ -1349,33 +1378,33 @@ packages: - supports-color dev: true - /@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.24.7): + /@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.24.9): resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/code-frame': 7.24.7 - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/parser': 7.24.8 '@vue/compiler-sfc': 3.4.15 dev: true /@vue/compiler-core@3.4.15: resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} dependencies: - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@vue/shared': 3.4.15 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - /@vue/compiler-core@3.4.31: - resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} + /@vue/compiler-core@3.4.33: + resolution: {integrity: sha512-MoIREbkdPQlnGfSKDMgzTqzqx5nmEjIc0ydLVYlTACGBsfvOJ4tHSbZXKVF536n6fB+0eZaGEOqsGThPpdvF5A==} dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/shared': 3.4.33 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -1387,37 +1416,37 @@ packages: '@vue/compiler-core': 3.4.15 '@vue/shared': 3.4.15 - /@vue/compiler-dom@3.4.31: - resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} + /@vue/compiler-dom@3.4.33: + resolution: {integrity: sha512-GzB8fxEHKw0gGet5BKlpfXEqoBnzSVWwMnT+dc25wE7pFEfrU/QsvjZMP9rD4iVXHBBoemTct8mN0GJEI6ZX5A==} dependencies: - '@vue/compiler-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-core': 3.4.33 + '@vue/shared': 3.4.33 dev: true /@vue/compiler-sfc@3.4.15: resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} dependencies: - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@vue/compiler-core': 3.4.15 '@vue/compiler-dom': 3.4.15 '@vue/compiler-ssr': 3.4.15 '@vue/shared': 3.4.15 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.38 + postcss: 8.4.39 source-map-js: 1.2.0 - /@vue/compiler-sfc@3.4.31: - resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} + /@vue/compiler-sfc@3.4.33: + resolution: {integrity: sha512-7rk7Vbkn21xMwIUpHQR4hCVejwE6nvhBOiDgoBcR03qvGqRKA7dCBSsHZhwhYUsmjlbJ7OtD5UFIyhP6BY+c8A==} dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.31 - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/compiler-core': 3.4.33 + '@vue/compiler-dom': 3.4.33 + '@vue/compiler-ssr': 3.4.33 + '@vue/shared': 3.4.33 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.38 + postcss: 8.4.39 source-map-js: 1.2.0 dev: true @@ -1427,17 +1456,86 @@ packages: '@vue/compiler-dom': 3.4.15 '@vue/shared': 3.4.15 - /@vue/compiler-ssr@3.4.31: - resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} + /@vue/compiler-ssr@3.4.33: + resolution: {integrity: sha512-0WveC9Ai+eT/1b6LCV5IfsufBZ0HP7pSSTdDjcuW302tTEgoBw8rHVHKPbGUtzGReUFCRXbv6zQDDgucnV2WzQ==} dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.33 + '@vue/shared': 3.4.33 dev: true /@vue/devtools-api@6.6.3: resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} dev: false + /@vue/devtools-core@7.3.6(vite@5.3.4)(vue@3.4.15): + resolution: {integrity: sha512-XqFYVkyS3eySHF4bgLt+KF6yL6nYzVY/JTJHnK6KIJXIE4GIAxmn5Gxfsb4cUG9sl0FGiMqRCnM37Q+P08wr8A==} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@vue/devtools-kit': 7.3.6 + '@vue/devtools-shared': 7.3.6 + mitt: 3.0.1 + nanoid: 3.3.7 + pathe: 1.1.2 + vite-hot-client: 0.2.3(vite@5.3.4) + vue: 3.4.15(typescript@5.4.2) + transitivePeerDependencies: + - vite + dev: true + + /@vue/devtools-kit@7.3.6: + resolution: {integrity: sha512-5Ym9V3fkJenEoptqKoo+cgY5RTVwrSssFdzRsuyIgaeiskCT+rRJeQdwoo81tyrQ1mfS7Er1rYZlSzr3Y3L/ew==} + dependencies: + '@vue/devtools-shared': 7.3.6 + birpc: 0.2.17 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.1 + dev: true + + /@vue/devtools-shared@7.3.6: + resolution: {integrity: sha512-R/FOmdJV+hhuwcNoxp6e87RRkEeDMVhWH+nOsnHUrwjjsyeXJ2W1475Ozmw+cbZhejWQzftkHVKO28Fuo1yqCw==} + dependencies: + rfdc: 1.4.1 + dev: true + + /@vue/eslint-config-prettier@9.0.0(eslint@8.57.0)(prettier@3.3.3): + resolution: {integrity: sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==} + peerDependencies: + eslint: '>= 8.0.0' + prettier: '>= 3.0.0' + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.3) + prettier: 3.3.3 + transitivePeerDependencies: + - '@types/eslint' + dev: true + + /@vue/eslint-config-typescript@13.0.0(eslint-plugin-vue@9.23.0)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + eslint-plugin-vue: ^9.0.0 + typescript: '>=4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 7.16.1(@typescript-eslint/parser@7.16.1)(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.4.2) + eslint: 8.57.0 + eslint-plugin-vue: 9.23.0(eslint@8.57.0) + typescript: 5.4.2 + vue-eslint-parser: 9.4.3(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + /@vue/reactivity@3.4.15: resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==} dependencies: @@ -1463,13 +1561,13 @@ packages: dependencies: '@vue/compiler-ssr': 3.4.15 '@vue/shared': 3.4.15 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) /@vue/shared@3.4.15: resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} - /@vue/shared@3.4.31: - resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + /@vue/shared@3.4.33: + resolution: {integrity: sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA==} dev: true /@vueuse/core@10.4.0(vue@3.4.15): @@ -1603,7 +1701,7 @@ packages: vue: ^3.0.5 dependencies: '@wangeditor/editor': 5.1.23 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false /@wangeditor/editor@5.1.23: @@ -1708,16 +1806,16 @@ packages: snabbdom: 3.6.2 dev: false - /acorn-jsx@5.3.2(acorn@8.12.0): + /acorn-jsx@5.3.2(acorn@8.12.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.12.0 + acorn: 8.12.1 dev: true - /acorn@8.12.0: - resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -1828,16 +1926,6 @@ packages: possible-typed-array-names: 1.0.0 dev: false - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /axios@1.7.2: resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} dependencies: @@ -1846,7 +1934,6 @@ packages: proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: true /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1857,6 +1944,10 @@ packages: engines: {node: '>=8'} dev: true + /birpc@0.2.17: + resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + dev: true + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -1881,21 +1972,28 @@ packages: fill-range: 7.1.1 dev: true - /browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + /browserslist@4.23.2: + resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001638 - electron-to-chromium: 1.4.814 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + caniuse-lite: 1.0.30001643 + electron-to-chromium: 1.4.832 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.2) dev: true /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 + dev: true + /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -1917,8 +2015,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001638: - resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} + /caniuse-lite@1.0.30001643: + resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} dev: true /cfb@1.2.2: @@ -2027,6 +2125,13 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.16 + dev: true + /core-js@3.32.1: resolution: {integrity: sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==} requiresBuild: true @@ -2110,6 +2215,19 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + dev: true + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: true + /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -2124,6 +2242,11 @@ packages: engines: {node: '>=8'} dev: true + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -2168,20 +2291,20 @@ packages: zrender: 5.4.4 dev: false - /electron-to-chromium@1.4.814: - resolution: {integrity: sha512-GVulpHjFu1Y9ZvikvbArHmAhZXtm3wHlpjTMcXNGKl4IQ4jMQjlnz8yMQYYqdLHKi/jEL2+CBC2akWVCoIGUdw==} + /electron-to-chromium@1.4.832: + resolution: {integrity: sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==} dev: true - /element-plus@2.7.3(vue@3.4.15): - resolution: {integrity: sha512-OaqY1kQ2xzNyRFyge3fzM7jqMwux+464RBEqd+ybRV9xPiGxtgnj/sVK4iEbnKnzQIa9XK03DOIFzoToUhu1DA==} + /element-plus@2.7.7(vue@3.4.15): + resolution: {integrity: sha512-7ucUiDAxevyBE8JbXBTe9ofHhS047VmWMLoksE45zZ08XSnhnyG7WUuk3gmDbAklfVMHedb9sEV3OovPUWt+Sw==} peerDependencies: vue: ^3.2.0 dependencies: '@ctrl/tinycolor': 3.6.1 '@element-plus/icons-vue': 2.3.1(vue@3.4.15) - '@floating-ui/dom': 1.6.6 + '@floating-ui/dom': 1.6.8 '@popperjs/core': /@sxzz/popperjs-es@2.11.7 - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.7 '@types/lodash-es': 4.17.8 '@vueuse/core': 9.13.0(vue@3.4.15) async-validator: 4.2.5 @@ -2192,7 +2315,7 @@ packages: lodash-unified: 1.0.3(@types/lodash-es@4.17.8)(lodash-es@4.17.21)(lodash@4.17.21) memoize-one: 6.0.0 normalize-wheel-es: 1.2.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) transitivePeerDependencies: - '@vue/composition-api' dev: false @@ -2210,7 +2333,7 @@ packages: dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.5 - engine.io-parser: 5.2.2 + engine.io-parser: 5.2.3 ws: 8.17.1 xmlhttprequest-ssl: 2.0.0 transitivePeerDependencies: @@ -2219,8 +2342,8 @@ packages: - utf-8-validate dev: false - /engine.io-parser@5.2.2: - resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} + /engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} dev: false @@ -2228,6 +2351,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + /error-stack-parser-es@0.1.5: + resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==} + dev: true + /es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -2350,35 +2477,35 @@ packages: ext: 1.7.0 dev: false - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 dev: true /escalade@3.1.2: @@ -2400,17 +2527,17 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.0.0(eslint@8.48.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.48.0 + eslint: 8.57.0 dev: true - /eslint-plugin-prettier@5.0.0(eslint-config-prettier@9.0.0)(eslint@8.48.0)(prettier@3.1.0): - resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} + /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.3): + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -2423,26 +2550,26 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.48.0 - eslint-config-prettier: 9.0.0(eslint@8.48.0) - prettier: 3.1.0 + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.3.3 prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 + synckit: 0.9.1 dev: true - /eslint-plugin-vue@9.17.0(eslint@8.48.0): - resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + /eslint-plugin-vue@9.23.0(eslint@8.57.0): + resolution: {integrity: sha512-Bqd/b7hGYGrlV+wP/g77tjyFmp81lh5TMw0be9093X02SyelxRRfCI6/IsGq/J7Um0YwB9s0Ry0wlFyjPdmtUw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) - eslint: 8.48.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.1.0 - semver: 7.6.2 - vue-eslint-parser: 9.4.3(eslint@8.48.0) + postcss-selector-parser: 6.1.1 + semver: 7.6.3 + vue-eslint-parser: 9.4.3(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -2461,18 +2588,19 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.48.0: - resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.48.0 + '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -2482,7 +2610,7 @@ packages: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -2521,13 +2649,13 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.12.0 - acorn-jsx: 5.3.2(acorn@8.12.0) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + /esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -2560,6 +2688,21 @@ packages: es5-ext: 0.10.64 dev: false + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: @@ -2683,6 +2826,15 @@ packages: universalify: 2.0.1 dev: true + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -2734,6 +2886,11 @@ packages: hasown: 2.0.2 dev: false + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -2757,13 +2914,12 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.4.2: - resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} - engines: {node: '>=16 || 14 >=14.18'} + /glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true dependencies: foreground-child: 3.2.1 - jackspeak: 3.4.0 + jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 @@ -2872,6 +3028,10 @@ packages: function-bind: 1.1.2 dev: false + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -2881,10 +3041,15 @@ packages: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} dev: false + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + /i18next@20.6.1: resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==} dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 dev: false /ignore@5.3.1: @@ -2988,6 +3153,12 @@ packages: hasBin: true dev: true + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3009,6 +3180,14 @@ packages: resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} dev: false + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + /is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -3051,6 +3230,11 @@ packages: call-bind: 1.0.7 dev: false + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -3082,6 +3266,11 @@ packages: call-bind: 1.0.7 dev: false + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: true + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3089,6 +3278,13 @@ packages: is-docker: 2.2.1 dev: true + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: true + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: false @@ -3097,9 +3293,8 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + /jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -3155,6 +3350,10 @@ packages: json-buffer: 3.0.1 dev: true + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3221,9 +3420,8 @@ packages: /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /lru-cache@10.3.0: - resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} - engines: {node: 14 || >=16.14} + /lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} dev: true /lru-cache@5.1.1: @@ -3235,7 +3433,7 @@ packages: /magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 /marked@11.1.1: resolution: {integrity: sha512-EgxRjgK9axsQuUa/oKMx5DEY8oXpKJfk61rT5iY3aRlgU6QJtUcxU5OAymdhCvWvhYcd9FKmO5eQoX8m9VGJXg==} @@ -3247,6 +3445,10 @@ packages: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} dev: false + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3276,19 +3478,17 @@ packages: dependencies: mime-db: 1.52.0 + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -3303,7 +3503,6 @@ packages: /mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: false /mockjs@1.1.0: resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} @@ -3316,6 +3515,11 @@ packages: resolution: {integrity: sha512-2I8/T3X/hLxB2oPHgqcNYUVdA/ZEFShT7IAujifIPMfKkNbLOqY8XCoyHCXrsdjb36dW9MwoTwBCFpXKMwNwaQ==} dev: false + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -3336,8 +3540,8 @@ packages: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: false - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: true /normalize-path@3.0.0: @@ -3349,6 +3553,13 @@ packages: resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} dev: false + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + /nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} dev: false @@ -3385,6 +3596,23 @@ packages: wrappy: 1.0.2 dev: true + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: true + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -3446,11 +3674,16 @@ packages: engines: {node: '>=8'} dev: true + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + /path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.3.0 + lru-cache: 10.4.3 minipass: 7.1.2 dev: true @@ -3459,6 +3692,14 @@ packages: engines: {node: '>=8'} dev: true + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + /picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -3467,7 +3708,7 @@ packages: engines: {node: '>=8.6'} dev: true - /pinia@2.1.7(typescript@5.2.2)(vue@3.4.15): + /pinia@2.1.7(typescript@5.4.2)(vue@3.4.15): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -3480,8 +3721,8 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.6.3 - typescript: 5.2.2 - vue: 3.4.15(typescript@5.2.2) + typescript: 5.4.2 + vue: 3.4.15(typescript@5.4.2) vue-demi: 0.14.8(vue@3.4.15) dev: false @@ -3490,24 +3731,24 @@ packages: engines: {node: '>= 0.4'} dev: false - /postcss-selector-parser@6.1.0: - resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + /postcss-selector-parser@6.1.1: + resolution: {integrity: sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + /postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - /preact@10.22.0: - resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + /preact@10.22.1: + resolution: {integrity: sha512-jRYbDDgMpIb5LHq3hkI0bbl+l/TQ9UnkdQ0ww+lp+4MMOdqaUYdFc5qeyP+IV8FAd/2Em7drVPeKdQxsiWCf/A==} dev: false /prelude-ls@1.2.1: @@ -3522,14 +3763,8 @@ packages: fast-diff: 1.3.0 dev: true - /prettier@3.1.0: - resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + /prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true dev: true @@ -3591,6 +3826,10 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true + /rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + dev: true + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -3615,32 +3854,37 @@ packages: yargs: 17.7.2 dev: true - /rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + /rollup@4.19.0: + resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.0 - '@rollup/rollup-android-arm64': 4.18.0 - '@rollup/rollup-darwin-arm64': 4.18.0 - '@rollup/rollup-darwin-x64': 4.18.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 - '@rollup/rollup-linux-arm-musleabihf': 4.18.0 - '@rollup/rollup-linux-arm64-gnu': 4.18.0 - '@rollup/rollup-linux-arm64-musl': 4.18.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 - '@rollup/rollup-linux-riscv64-gnu': 4.18.0 - '@rollup/rollup-linux-s390x-gnu': 4.18.0 - '@rollup/rollup-linux-x64-gnu': 4.18.0 - '@rollup/rollup-linux-x64-musl': 4.18.0 - '@rollup/rollup-win32-arm64-msvc': 4.18.0 - '@rollup/rollup-win32-ia32-msvc': 4.18.0 - '@rollup/rollup-win32-x64-msvc': 4.18.0 + '@rollup/rollup-android-arm-eabi': 4.19.0 + '@rollup/rollup-android-arm64': 4.19.0 + '@rollup/rollup-darwin-arm64': 4.19.0 + '@rollup/rollup-darwin-x64': 4.19.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.19.0 + '@rollup/rollup-linux-arm-musleabihf': 4.19.0 + '@rollup/rollup-linux-arm64-gnu': 4.19.0 + '@rollup/rollup-linux-arm64-musl': 4.19.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0 + '@rollup/rollup-linux-riscv64-gnu': 4.19.0 + '@rollup/rollup-linux-s390x-gnu': 4.19.0 + '@rollup/rollup-linux-x64-gnu': 4.19.0 + '@rollup/rollup-linux-x64-musl': 4.19.0 + '@rollup/rollup-win32-arm64-msvc': 4.19.0 + '@rollup/rollup-win32-ia32-msvc': 4.19.0 + '@rollup/rollup-win32-x64-msvc': 4.19.0 fsevents: 2.3.3 dev: true + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -3666,9 +3910,9 @@ packages: is-regex: 1.1.4 dev: false - /sass@1.66.1: - resolution: {integrity: sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==} - engines: {node: '>=14.0.0'} + /sass@1.53.0: + resolution: {integrity: sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: chokidar: 3.6.0 @@ -3687,8 +3931,8 @@ packages: hasBin: true dev: true - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true dev: true @@ -3742,6 +3986,15 @@ packages: engines: {node: '>=14'} dev: true + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -3818,6 +4071,11 @@ packages: engines: {node: '>= 8'} dev: true + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + /ssf@0.11.2: resolution: {integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==} engines: {node: '>=0.8'} @@ -3892,11 +4150,23 @@ packages: ansi-regex: 6.0.1 dev: true + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true + /superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + dependencies: + copy-anything: 3.0.5 + dev: true + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3915,8 +4185,8 @@ packages: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + /synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 @@ -3929,7 +4199,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.12.0 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -3953,13 +4223,18 @@ packages: is-number: 7.0.0 dev: true - /ts-api-utils@1.3.0(typescript@5.2.2): + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /ts-api-utils@1.3.0(typescript@5.4.2): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.2.2 + typescript: 5.4.2 dev: true /tslib@2.3.0: @@ -4030,8 +4305,8 @@ packages: possible-typed-array-names: 1.0.0 dev: false - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -4044,18 +4319,22 @@ packages: which-boxed-primitive: 1.0.2 dev: false + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true - /update-browserslist-db@1.0.16(browserslist@4.23.1): - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + /update-browserslist-db@1.1.0(browserslist@4.23.2): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.1 + browserslist: 4.23.2 escalade: 3.1.2 picocolors: 1.0.1 dev: true @@ -4070,7 +4349,15 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite-plugin-compression@0.5.1(vite@5.0.12): + /vite-hot-client@0.2.3(vite@5.3.4): + resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + dependencies: + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + dev: true + + /vite-plugin-compression@0.5.1(vite@5.3.4): resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} peerDependencies: vite: '>=2.0.0' @@ -4078,13 +4365,78 @@ packages: chalk: 4.1.2 debug: 4.3.5 fs-extra: 10.1.0 - vite: 5.0.12(@types/node@20.5.6)(sass@1.66.1)(terser@5.27.0) + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) transitivePeerDependencies: - supports-color dev: true - /vite@5.0.12(@types/node@20.5.6)(sass@1.66.1)(terser@5.27.0): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + /vite-plugin-inspect@0.8.5(vite@5.3.4): + resolution: {integrity: sha512-JvTUqsP1JNDw0lMZ5Z/r5cSj81VK2B7884LO1DC3GMBhdcjcsAnJjdWq7bzQL01Xbh+v60d3lju3g+z7eAtNew==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.0 + debug: 4.3.5 + error-stack-parser-es: 0.1.5 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.0.1 + sirv: 2.0.4 + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /vite-plugin-vue-devtools@7.3.1(vite@5.3.4)(vue@3.4.15): + resolution: {integrity: sha512-KuksceHlb5QZtb5gRB4wuRiquZRX74//i0X5jzvy5QzY11qwK44goyVrhPupZbsNfqwmZWNi3CQAe0RhLBUylg==} + engines: {node: '>=v14.21.3'} + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + '@vue/devtools-core': 7.3.6(vite@5.3.4)(vue@3.4.15) + '@vue/devtools-kit': 7.3.6 + '@vue/devtools-shared': 7.3.6 + execa: 8.0.1 + sirv: 2.0.4 + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + vite-plugin-inspect: 0.8.5(vite@5.3.4) + vite-plugin-vue-inspector: 5.1.2(vite@5.3.4) + transitivePeerDependencies: + - '@nuxt/kit' + - rollup + - supports-color + - vue + dev: true + + /vite-plugin-vue-inspector@5.1.2(vite@5.3.4): + resolution: {integrity: sha512-M+yH2LlQtVNzJAljQM+61CqDXBvHim8dU5ImGaQuwlo13tMDHue5D7IC20YwDJuWDODiYc/cZBUYspVlyPf2vQ==} + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + '@babel/core': 7.24.9 + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.9) + '@vue/compiler-dom': 3.4.33 + kolorist: 1.8.0 + magic-string: 0.30.10 + vite: 5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0) + transitivePeerDependencies: + - supports-color + dev: true + + /vite@5.3.4(@types/node@20.14.5)(sass@1.53.0)(terser@5.27.0): + resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4111,11 +4463,11 @@ packages: terser: optional: true dependencies: - '@types/node': 20.5.6 - esbuild: 0.19.12 - postcss: 8.4.38 - rollup: 4.18.0 - sass: 1.66.1 + '@types/node': 20.14.5 + esbuild: 0.21.5 + postcss: 8.4.39 + rollup: 4.19.0 + sass: 1.53.0 terser: 5.27.0 optionalDependencies: fsevents: 2.3.3 @@ -4133,7 +4485,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false /vue-demi@0.14.8(vue@3.4.15): @@ -4148,7 +4500,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false /vue-echarts@6.6.1(echarts@5.4.3)(vue@3.4.15): @@ -4164,38 +4516,38 @@ packages: dependencies: echarts: 5.4.3 resize-detector: 0.3.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) vue-demi: 0.13.11(vue@3.4.15) dev: false - /vue-eslint-parser@9.4.3(eslint@8.48.0): + /vue-eslint-parser@9.4.3(eslint@8.57.0): resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.5 - eslint: 8.48.0 + eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 lodash: 4.17.21 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - supports-color dev: true - /vue-router@4.3.2(vue@3.4.15): - resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} + /vue-router@4.4.0(vue@3.4.15): + resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false - /vue@3.4.15(typescript@5.2.2): + /vue@3.4.15(typescript@5.4.2): resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==} peerDependencies: typescript: '*' @@ -4208,7 +4560,7 @@ packages: '@vue/runtime-dom': 3.4.15 '@vue/server-renderer': 3.4.15(vue@3.4.15) '@vue/shared': 3.4.15 - typescript: 5.2.2 + typescript: 5.4.2 /vuedraggable@4.1.0(vue@3.4.15): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} @@ -4216,7 +4568,7 @@ packages: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.15(typescript@5.4.2) dev: false /which-boxed-primitive@1.0.2: diff --git a/src/cool/bootstrap/module.ts b/src/cool/bootstrap/module.ts index 48f18d8..dd7dfc6 100644 --- a/src/cool/bootstrap/module.ts +++ b/src/cool/bootstrap/module.ts @@ -1,16 +1,14 @@ -import { App } from "vue"; -import { isFunction, orderBy, chain } from "lodash-es"; +import { type App, type Directive } from "vue"; +import { assign, chain, isFunction } from "lodash-es"; import { filename } from "../utils"; import { module } from "../module"; import { hmr } from "../hooks"; // 扫描文件 -const files: any = import.meta.glob( - "/src/{modules,plugins}/*/{config.ts,service/**,directives/**}", - { - eager: true - } -); +const files = import.meta.glob("/src/{modules,plugins}/*/{config.ts,service/**,directives/**}", { + eager: true, + import: "default" +}); // 模块列表 module.list = hmr.getData("modules", []); @@ -21,10 +19,10 @@ for (const i in files) { const [, , type, name, action] = i.split("/"); // 文件名 - const fname = filename(i); + const n = filename(i); // 文件内容 - const v = files[i]?.default; + const v = files[i]; // 模块是否存在 const m = module.get(name); @@ -38,28 +36,24 @@ for (const i in files) { directives: [] }; - switch (action) { - // 配置参数 - case "config.ts": - d.value = v; - break; + // 配置 + if (action == "config.ts") { + d.value = v; + } + // 服务 + else if (action == "service") { + const s = new (v as any)(); - // 请求服务 - case "service": - const s = new v(); - - if (s) { - d.services?.push({ - path: s.namespace, - value: s - }); - } - break; - - // 指令 - case "directives": - d.directives?.push({ name: fname, value: v }); - break; + if (s) { + d.services?.push({ + path: s.namespace, + value: s + }); + } + } + // 指令 + else if (action == "directives") { + d.directives?.push({ name: n, value: v as Directive }); } if (!m) { @@ -69,34 +63,44 @@ for (const i in files) { // 创建 export function createModule(app: App) { - // 模块加载 - const list = orderBy(module.list, "order").map((e) => { - const d = isFunction(e.value) ? e.value(app) : e.value; + const list = chain(module.list) + .map((e) => { + const d = isFunction(e.value) ? e.value(app) : e.value; - if (d) { - Object.assign(e, d); - } - - // 安装事件 - e.install?.(app, d.options); - - // 注册组件 - e.components?.forEach(async (c: any) => { - const v = await (isFunction(c) ? c() : c); - const n = v.default || v; - - if (n.name) { - app.component(n.name, n); + if (d) { + assign(e, d); } - }); - // 注册指令 - e.directives?.forEach((v: any) => { - app.directive(v.name, v.value); - }); + if (!d.order) { + e.order = 0; + } - return e; - }); + return e; + }) + .orderBy("order", "desc") + .map((e) => { + // 初始化 + e.install?.(app, e.options); + + // 注册组件 + e.components?.forEach(async (c) => { + // @ts-ignore + const v = await (isFunction(c) ? c() : c); + const n = v.default || v; + + if (n.name) { + app.component(n.name, n); + } + }); + + // 注册指令 + e.directives?.forEach((v) => { + app.directive(v.name, v.value); + }); + + return e; + }) + .value(); return { // 模块列表 @@ -107,7 +111,7 @@ export function createModule(app: App) { for (let i = 0; i < list.length; i++) { if (list[i].onLoad) { - Object.assign(events, await list[i]?.onLoad?.(events)); + assign(events, await list[i]?.onLoad?.(events)); } } } diff --git a/src/cool/utils/index.ts b/src/cool/utils/index.ts index e550c59..e7547ab 100644 --- a/src/cool/utils/index.ts +++ b/src/cool/utils/index.ts @@ -140,9 +140,6 @@ export function getBrowser() { // 是否 ios const isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); - // 浏览器版本 - const version = (ua.match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1]; - // 是否 PC 端 const isPC = tag === "pc"; @@ -155,7 +152,6 @@ export function getBrowser() { return { height: clientHeight, width: clientWidth, - version, type, plat, tag, diff --git a/src/cool/utils/loading.ts b/src/cool/utils/loading.ts index 16be35c..2120339 100644 --- a/src/cool/utils/loading.ts +++ b/src/cool/utils/loading.ts @@ -5,7 +5,10 @@ export const Loading = { async set(list: Promise[]) { try { await Promise.all(list); - } catch (e) {} + } catch (e) { + console.error("[Loading] Error: ", e); + } + if (this.resolve) { this.resolve(); } diff --git a/src/modules/base/components/code/json.vue b/src/modules/base/components/code/json.vue index ebd6ce6..5711221 100644 --- a/src/modules/base/components/code/json.vue +++ b/src/modules/base/components/code/json.vue @@ -1,6 +1,11 @@ @@ -209,7 +210,7 @@ const Table = useTable({ prop: "updateTime", label: "更新时间", sortable: "custom", - width: 160 + width: 170 }, { label: "操作", diff --git a/src/modules/helper/views/ai-code.vue b/src/modules/helper/views/ai-code.vue index 281f4f4..520c40b 100644 --- a/src/modules/helper/views/ai-code.vue +++ b/src/modules/helper/views/ai-code.vue @@ -899,7 +899,7 @@ const desc = reactive({ const val = desc.list[n]; if (val) { - function next2(n2: number) { + const next2 = (n2: number) => { const v = val[n2]; if (v) { @@ -921,7 +921,7 @@ const desc = reactive({ } }, 1500); } - } + }; next2(0); } else { diff --git a/src/modules/helper/views/plugins/serve.vue b/src/modules/helper/views/plugins/serve.vue index fc7d9c0..278655f 100644 --- a/src/modules/helper/views/plugins/serve.vue +++ b/src/modules/helper/views/plugins/serve.vue @@ -127,7 +127,7 @@ const tab = reactive({ if (val == "shop") { nextTick(() => { tab.active = "installed"; - window.open("https://cool-js.com/"); + window.open("https://cool-js.com/plugin"); }); } } diff --git a/src/modules/helper/views/plugins/vue.vue b/src/modules/helper/views/plugins/vue.vue index 4a0cb1f..18f0c2a 100644 --- a/src/modules/helper/views/plugins/vue.vue +++ b/src/modules/helper/views/plugins/vue.vue @@ -88,7 +88,7 @@ const tab = reactive({ if (val == "shop") { nextTick(() => { tab.active = "installed"; - window.open("https://cool-js.com/"); + window.open("https://cool-js.com/plugin"); }); } } diff --git a/src/modules/user/components/select.vue b/src/modules/user/components/select.vue index e1324d5..70c5aad 100644 --- a/src/modules/user/components/select.vue +++ b/src/modules/user/components/select.vue @@ -152,12 +152,12 @@ const Table = useTable({ type: "selection", width: 60, reserveSelection: true - } + } : { label: "操作", prop: "check", width: 100 - }, + }, { prop: "avatarUrl", label: "头像", diff --git a/src/plugins/crud/components/select/index.tsx b/src/plugins/crud/components/select/index.tsx index 9a6890a..af2d461 100644 --- a/src/plugins/crud/components/select/index.tsx +++ b/src/plugins/crud/components/select/index.tsx @@ -52,7 +52,7 @@ export default defineComponent({ const ids: any[] = []; // 获取所有的值 - function deep(arr: Dict.Item[], f: boolean) { + const deep = (arr: Dict.Item[], f: boolean) => { arr.forEach((e) => { const f2 = e[props.valueKey] == val; diff --git a/src/plugins/crud/config.ts b/src/plugins/crud/config.ts index 3ad32c5..c2f3be4 100644 --- a/src/plugins/crud/config.ts +++ b/src/plugins/crud/config.ts @@ -10,6 +10,7 @@ import "@cool-vue/crud/dist/index.css"; export default (): Merge => { return { + order: 100, label: "CRUD", description: "快速增删改查及一系列辅助组件", author: "COOL", diff --git a/src/plugins/echarts/config.ts b/src/plugins/echarts/config.ts new file mode 100644 index 0000000..13ea798 --- /dev/null +++ b/src/plugins/echarts/config.ts @@ -0,0 +1,16 @@ +import type { ModuleConfig } from "/@/cool"; +import VueECharts from "vue-echarts"; + +export default (): ModuleConfig => { + return { + order: 100, + label: "ECharts 图表", + description: "echarts、vue-echarts 配置", + author: "COOL", + version: "1.0.0", + updateTime: "2024-07-22", + install(app) { + app.component("v-chart", VueECharts); + } + }; +}; diff --git a/src/plugins/editor-monaco/utils/format.ts b/src/plugins/editor-monaco/utils/format.ts index 352c8fa..f9791c8 100644 --- a/src/plugins/editor-monaco/utils/format.ts +++ b/src/plugins/editor-monaco/utils/format.ts @@ -44,7 +44,9 @@ export function useFormat() { singleQuote: true, trailingComma: "none" }); - } catch (err) {} + } catch (err) { + // ... + } return [ { diff --git a/src/plugins/element-ui/config.ts b/src/plugins/element-ui/config.ts new file mode 100644 index 0000000..c7ca379 --- /dev/null +++ b/src/plugins/element-ui/config.ts @@ -0,0 +1,17 @@ +import type { ModuleConfig } from "/@/cool"; +import ElementPlus from "element-plus"; +import "./css/index.scss"; + +export default (): ModuleConfig => { + return { + order: 100, + label: "Element Ui", + description: "Element Plus 变量、样式配置", + author: "COOL", + version: "1.0.0", + updateTime: "2024-07-22", + install(app) { + app.use(ElementPlus); + } + }; +}; diff --git a/src/modules/base/static/css/theme.scss b/src/plugins/element-ui/css/index.scss similarity index 77% rename from src/modules/base/static/css/theme.scss rename to src/plugins/element-ui/css/index.scss index fba297d..bc5fd60 100644 --- a/src/modules/base/static/css/theme.scss +++ b/src/plugins/element-ui/css/index.scss @@ -1,3 +1,9 @@ +@forward "element-plus/theme-chalk/src/common/var.scss" with ( + $scrollbar: () +); + +@use "element-plus/theme-chalk/src/index.scss" as *; + // Element-plus .el-input-number { &__decrease, diff --git a/src/plugins/excel/components/import-btn.vue b/src/plugins/excel/components/import-btn.vue index 4896770..4b9e42e 100644 --- a/src/plugins/excel/components/import-btn.vue +++ b/src/plugins/excel/components/import-btn.vue @@ -122,6 +122,7 @@ import { reactive, type PropType, computed } from "vue"; import * as XLSX from "xlsx"; import chardet from "chardet"; import { extname } from "/@/cool/utils"; +import { has } from "lodash-es"; const props = defineProps({ onConfig: Function, @@ -286,7 +287,7 @@ function onUpload(raw: File, _: any, { next }: any) { let json: any[] = []; for (const sheet in workbook.Sheets) { - if (workbook.Sheets.hasOwnProperty(sheet)) { + if (has(workbook.Sheets, sheet)) { json = json.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet])); } } diff --git a/src/modules/theme/components/theme.vue b/src/plugins/theme/components/theme.vue similarity index 100% rename from src/modules/theme/components/theme.vue rename to src/plugins/theme/components/theme.vue diff --git a/src/modules/theme/config.ts b/src/plugins/theme/config.ts similarity index 82% rename from src/modules/theme/config.ts rename to src/plugins/theme/config.ts index 22dea33..1f2bc14 100644 --- a/src/modules/theme/config.ts +++ b/src/plugins/theme/config.ts @@ -1,12 +1,17 @@ import { setTheme } from "./utils"; import { config } from "/@/config"; import { storage, type ModuleConfig } from "/@/cool"; - import "element-plus/theme-chalk/dark/css-vars.css"; import "./static/css/index.scss"; export default (): ModuleConfig => { return { + label: "主题", + description: "自定义主色、菜单分组、暗黑模式", + author: "COOL", + version: "1.0.0", + updateTime: "2024-07-22", + toolbar: { component: import("./components/theme.vue") }, diff --git a/src/modules/theme/static/css/index.scss b/src/plugins/theme/static/css/index.scss similarity index 100% rename from src/modules/theme/static/css/index.scss rename to src/plugins/theme/static/css/index.scss diff --git a/src/modules/theme/types/index.d.ts b/src/plugins/theme/types/index.d.ts similarity index 100% rename from src/modules/theme/types/index.d.ts rename to src/plugins/theme/types/index.d.ts diff --git a/src/modules/theme/utils/index.ts b/src/plugins/theme/utils/index.ts similarity index 100% rename from src/modules/theme/utils/index.ts rename to src/plugins/theme/utils/index.ts diff --git a/src/plugins/upload/components/upload-item/index.vue b/src/plugins/upload/components/upload-item/index.vue index f4b9701..b6a87d6 100644 --- a/src/plugins/upload/components/upload-item/index.vue +++ b/src/plugins/upload/components/upload-item/index.vue @@ -49,7 +49,7 @@
diff --git a/src/plugins/upload/hooks/index.ts b/src/plugins/upload/hooks/index.ts index 0563e07..42dd782 100644 --- a/src/plugins/upload/hooks/index.ts +++ b/src/plugins/upload/hooks/index.ts @@ -12,168 +12,156 @@ export function useUpload() { const { user } = useBase(); // 上传 - async function toUpload( - file: File, - opts: Upload.Options = {} - ): Promise<{ - key: string; - url: string; - fileId: string; - }> { - return new Promise(async (resolve, reject) => { - // 合并配置 - const { prefixPath, onProgress } = merge(options, opts); + async function toUpload(file: File, opts: Upload.Options = {}): Upload.Respose { + return new Promise((resolve, reject) => { + const executor = async () => { + // 合并配置 + const { prefixPath, onProgress } = merge(options, opts); - // 文件id - const fileId = uuid(""); + // 文件id + const fileId = uuid(""); - try { - // 上传模式、类型 - const { mode, type } = await service.base.comm.uploadMode(); + try { + // 上传模式、类型 + const { mode, type } = await service.base.comm.uploadMode(); - // 本地上传 - const isLocal = mode == "local"; + // 本地上传 + const isLocal = mode == "local"; - // 文件名 - const fileName = fileId + "_" + file.name; + // 文件名 + const fileName = fileId + "_" + file.name; - // Key - let key = isLocal ? fileName : pathJoin(prefixPath!, fileName); + // Key + let key = isLocal ? fileName : pathJoin(prefixPath!, fileName); - // 多种上传请求 - // 上传到云端 - async function next({ - host, - preview, - data - }: { - host: string; - preview?: string; - data?: any; - }) { - const fd = new FormData(); + // 多种上传请求 + const next = async ({ host, preview, data }: Upload.Request) => { + const fd = new FormData(); - // key - fd.append("key", key); + // key + fd.append("key", key); - // 签名数据 - for (const i in data) { - if (!fd.has(i)) { - fd.append(i, data[i]); + // 签名数据 + for (const i in data) { + if (!fd.has(i)) { + fd.append(i, data[i]); + } } - } - // 文件 - fd.append("file", file); + // 文件 + fd.append("file", file); - // 上传进度 - let progress = 0; + // 上传进度 + let progress = 0; - // 上传 - await service - .request({ - url: host, - method: "POST", - headers: { - "Content-Type": "multipart/form-data", - Authorization: isLocal ? user.token : null - }, - timeout: 600000, - data: fd, - onUploadProgress(e: AxiosProgressEvent) { - progress = e.total ? Math.floor((e.loaded / e.total) * 100) : 0; - onProgress?.(progress); - }, - proxy: isLocal, - NProgress: false - }) - .then((res) => { - if (progress != 100) { - onProgress?.(100); - } + // 上传 + await service + .request({ + url: host, + method: "POST", + headers: { + "Content-Type": "multipart/form-data", + Authorization: isLocal ? user.token : null + }, + timeout: 600000, + data: fd, + onUploadProgress(e: AxiosProgressEvent) { + progress = e.total ? Math.floor((e.loaded / e.total) * 100) : 0; + onProgress?.(progress); + }, + proxy: isLocal, + NProgress: false + }) + .then((res) => { + if (progress != 100) { + onProgress?.(100); + } - key = encodeURIComponent(key); + key = encodeURIComponent(key); - let url = ""; + let url = ""; - if (isLocal) { - url = res; - } else { - url = pathJoin(preview || host, key); - } + if (isLocal) { + url = res; + } else { + url = pathJoin(preview || host, key); + } - resolve({ - key, - url, - fileId + resolve({ + key, + url, + fileId + }); + }) + .catch((err) => { + ElMessage.error(err.message); + reject(err); }); - }) - .catch((err) => { - ElMessage.error(err.message); - reject(err); - }); - } + }; - if (isLocal) { - next({ - host: "/admin/base/comm/upload" - }); - } else { - service.base.comm - .upload( - type == "aws" - ? { - key - } - : {} - ) - .then((res) => { - switch (type) { - // 腾讯 - case "cos": - next({ - host: res.url, - data: res.credentials - }); - break; - // 阿里 - case "oss": - next({ - host: res.host, - preview: res.publicDomain, - data: { - OSSAccessKeyId: res.OSSAccessKeyId, - policy: res.policy, - signature: res.signature + if (isLocal) { + next({ + host: "/admin/base/comm/upload" + }); + } else { + service.base.comm + .upload( + type == "aws" + ? { + key } - }); - break; - // 七牛 - case "qiniu": - next({ - host: res.uploadUrl, - preview: res.publicDomain, - data: { - token: res.token - } - }); - break; - // aws - case "aws": - next({ - host: res.url, - data: res.fields - }); - break; - } - }) - .catch(reject); + : {} + ) + .then((res) => { + switch (type) { + // 腾讯 + case "cos": + next({ + host: res.url, + data: res.credentials + }); + break; + // 阿里 + case "oss": + next({ + host: res.host, + preview: res.publicDomain, + data: { + OSSAccessKeyId: res.OSSAccessKeyId, + policy: res.policy, + signature: res.signature + } + }); + break; + // 七牛 + case "qiniu": + next({ + host: res.uploadUrl, + preview: res.publicDomain, + data: { + token: res.token + } + }); + break; + // aws + case "aws": + next({ + host: res.url, + data: res.fields + }); + break; + } + }) + .catch(reject); + } + } catch (err) { + ElMessage.error("文件上传失败"); + console.error("[upload]", err); + reject(err); } - } catch (err) { - ElMessage.error("文件上传失败"); - console.error("[upload]", err); - reject(err); - } + }; + + executor(); }); } diff --git a/src/plugins/upload/types/index.d.ts b/src/plugins/upload/types/index.d.ts index 43e98b1..434c5b7 100644 --- a/src/plugins/upload/types/index.d.ts +++ b/src/plugins/upload/types/index.d.ts @@ -8,8 +8,8 @@ export declare namespace Upload { interface Item { url?: string; - uid: string; - progress: number; + uid?: string; + progress?: number; preload?: string; error?: string; isPlay?: boolean; @@ -21,4 +21,16 @@ export declare namespace Upload { onProgress?(progress: number): void; [key: string]: any; } + + type Respose = Promise<{ + key: string; + url: string; + fileId: string; + }>; + + interface Request { + host: string; + preview?: string; + data?: any; + } } diff --git a/vite.config.mts b/vite.config.mts index ae6824f..1457718 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -1,27 +1,27 @@ -import path from "path"; +import { fileURLToPath, URL } from "node:url"; import { ConfigEnv, UserConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import vueJsx from "@vitejs/plugin-vue-jsx"; +import vueDevTools from "vite-plugin-vue-devtools"; import compression from "vite-plugin-compression"; import { visualizer } from "rollup-plugin-visualizer"; import { proxy } from "./src/config/proxy"; import { cool } from "@cool-vue/vite-plugin"; -function resolve(dir: string) { - return path.resolve(__dirname, ".", dir); -} - -function isDev(mode: string | undefined): boolean { - return mode === "development"; +function toPath(dir: string) { + return fileURLToPath(new URL(dir, import.meta.url)); } // https://vitejs.dev/config export default ({ mode }: ConfigEnv): UserConfig => { + const isDev = mode === "development"; + return { plugins: [ vue(), compression(), vueJsx(), + // vueDevTools(), cool({ type: "admin", proxy @@ -49,14 +49,14 @@ export default ({ mode }: ConfigEnv): UserConfig => { }, resolve: { alias: { - "/@": resolve("src"), - "/$": resolve("src/modules"), - "/#": resolve("src/plugins"), - "/~": resolve("packages") + "/@": toPath("./src"), + "/$": toPath("./src/modules"), + "/#": toPath("./src/plugins"), + "/~": toPath("./packages") } }, esbuild: { - drop: isDev(mode) ? [] : ["console", "debugger"] + drop: isDev ? [] : ["console", "debugger"] }, build: { @@ -67,7 +67,7 @@ export default ({ mode }: ConfigEnv): UserConfig => { // drop_debugger: true // } // }, - sourcemap: isDev(mode), + sourcemap: isDev, rollupOptions: { output: { chunkFileNames: "static/js/[name]-[hash].js",