diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 00000000..786f8d98 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,73 @@ +kind: pipeline +type: docker +name: Build and Deploy + +clone: + depth: 10 + +volumes: + - name: go_cache + host: + path: /data/drone_cache/go_cache + +steps: + - name: restore-cache + image: drillster/drone-volume-cache + volumes: + - name: go_cache + path: /cache + settings: + restore: true + mount: + - ./.npm-cache + - ./node_modules + + - name: build + image: node:alpine + pull: if-not-exists + commands: + - export NODE_OPTIONS=--max_old_space_size=6144 + - echo ${DRONE_BRANCH} + - echo ${DRONE_TAG} + - echo ${DRONE_COMMIT} + - echo ${DRONE_COMMIT:0-7} + - npm config set registry https://registry.npmmirror.com + - npm install -g pnpm + - pnpm config set registry https://registry.npmmirror.com + - pnpm i + - pnpm build + + - name: rebuild-cache + image: drillster/drone-volume-cache + volumes: + - name: go_cache + path: /cache + settings: + rebuild: true + mount: + - ./.npm-cache + - ./node_modules + + - name: scp files + image: appleboy/drone-scp + pull: if-not-exists + settings: + host: + from_secret: HOST + username: + from_secret: USERNAME + password: + from_secret: PASSWORD + port: + from_secret: PORT + target: + from_secret: TARGET_PATH + source: dist/* + overwrite: true + rm: true + +trigger: + branch: + - master + event: + - push diff --git a/.gitee/workflows/linter.yml b/.gitee/workflows/linter.yml deleted file mode 100644 index 450ec865..00000000 --- a/.gitee/workflows/linter.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Lint Code - -permissions: - contents: write - -on: - pull_request: - branches: [main] - -jobs: - lint: - name: Lint All Code - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Lint Code Base - uses: github/super-linter@v4 - env: - VALIDATE_ALL_CODEBASE: false - DEFAULT_BRANCH: main - # To change branch master or main - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - FILTER_REGEX_EXCLUDE: (docs|.github) - VALIDATE_MARKDOWN: false diff --git a/.gitee/workflows/release.yml b/.gitee/workflows/release.yml deleted file mode 100644 index 0bf7c92d..00000000 --- a/.gitee/workflows/release.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Release - -permissions: - contents: write - -on: - push: - tags: - - "v*" - -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - uses: actions/setup-node@v3 - with: - node-version: 18.x - - - run: npx githublogen - env: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..629d94eb --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,51 @@ +name: Build and Deploy + +on: + push: + branches: [ "master" ] + paths-ignore: + - 'README.md' + - 'LICENSE' + - 'docs/**' + - '.vscode/**' + - '.github/**' + - '.gitee/**' + - '.codeif/**' + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.x + run_install: false + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Build project + run: pnpm build + + - name: Upload via SCP + uses: appleboy/scp-action@v1 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + source: "dist/*" + target: ${{ secrets.TARGET_PATH }} + rm: true + overwrite: true diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 450ec865..a11ed3c9 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -6,7 +6,7 @@ permissions: on: pull_request: - branches: [main] + branches: [master] jobs: lint: @@ -23,7 +23,7 @@ jobs: uses: github/super-linter@v4 env: VALIDATE_ALL_CODEBASE: false - DEFAULT_BRANCH: main + DEFAULT_BRANCH: master # To change branch master or main GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} FILTER_REGEX_EXCLUDE: (docs|.github) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..a292c36d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +# 更新日志 + +## [v1.0.0](https://gitee.com/xlsea/ruoyi-plus-soybean/releases/tag/v1.0.0) (2025-06-05) + +###    🚀 新功能 + +1.0.0 版本正式发布,此版本不包含工作流与多语言,请期待后续版本发布。 + +###    ❤️ 贡献者 + +首次发版不展示过多贡献者,敬请谅解 + +[![soybeanjs](https://github.com/honghuangdc.png?size=48)](https://github.com/honghuangdc)  [![xlsea](https://github.com/m-xlsea.png?size=48)](https://gitee.com/xlsea)  [![Elio-An](https://github.com/Elio-An.png?size=48)](https://gitee.com/elio-an)  [![wangqiqi95](https://github.com/wangqiqi95.png?size=48)](https://github.com/wangqiqi95)  diff --git a/README.md b/README.md index eff06374..3e85d45f 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@

一个基于 RuoYi-Vue-Plus 的后端能力和 Soybean Admin 前端特性的现代化多租户管理系统

- Gitee + Gitee + Github vue typescript vite @@ -18,9 +19,17 @@ # 📢 重要通知 -

该项目未首发公测版本,请谨慎在生产环境使用!!!

-

该项目未首发公测版本,请谨慎在生产环境使用!!!

-

该项目未首发公测版本,请谨慎在生产环境使用!!!

+虽然 1.0.0 版本已经包含了完整的核心功能,但我们仍然建议: +- 在生产环境使用前进行充分测试 +- 关注项目更新,及时获取最新版本 +- 积极反馈问题,帮助我们快速迭代 + +**后续规划** +- 工作流引擎集成 +- 多语言国际化完善 +- 更多企业级功能模块 +- 性能优化和稳定性提升 + > 如果对该项目感兴趣,可以给一个 Star 支持一下,谢谢! > 请大家踊跃提交 PR 和 Issue,一起完善这个项目 @@ -353,7 +362,9 @@ console.log(t('common.confirm')); ## 💬 交流群 - + + +添加作者微信备注:加群 ## 🧧 捐献作者 @@ -416,3 +427,8 @@ console.log(t('common.confirm')); 莫离支🤴 10元
+ +
+ + Ivan 100元 +
diff --git a/package.json b/package.json index dac5a01e..3500c0ac 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ruoyi-vue-plus", "type": "module", - "version": "1.0.0-beta.1", + "version": "1.0.0", "description": "RuoYi-Vue-Plus多租户管理系统", "author": { "name": "xlsea", @@ -57,7 +57,7 @@ "@sa/materials": "workspace:*", "@sa/tinymce": "workspace:*", "@sa/utils": "workspace:*", - "@vueuse/core": "13.1.0", + "@vueuse/core": "13.3.0", "clipboard": "2.0.11", "dayjs": "1.11.13", "defu": "6.1.4", @@ -66,42 +66,42 @@ "jsencrypt": "^3.3.2", "json5": "2.2.3", "monaco-editor": "^0.52.0", - "naive-ui": "2.41.0", + "naive-ui": "2.41.1", "nprogress": "0.2.0", - "pinia": "3.0.2", - "tailwind-merge": "3.2.0", - "vue": "3.5.13", + "pinia": "3.0.3", + "tailwind-merge": "3.3.0", + "vue": "3.5.16", "vue-advanced-cropper": "^2.8.9", "vue-draggable-plus": "0.6.0", - "vue-i18n": "11.1.3", + "vue-i18n": "11.1.5", "vue-router": "4.5.1" }, "devDependencies": { "@elegant-router/vue": "0.3.8", - "@iconify/json": "2.2.337", + "@iconify/json": "2.2.347", "@sa/scripts": "workspace:*", "@sa/uno-preset": "workspace:*", - "@soybeanjs/eslint-config": "1.6.0", - "@types/node": "22.15.17", + "@soybeanjs/eslint-config": "1.6.1", + "@types/node": "22.15.30", "@types/nprogress": "0.2.3", - "@unocss/eslint-config": "66.1.1", - "@unocss/preset-icons": "66.1.1", - "@unocss/preset-uno": "66.1.1", - "@unocss/transformer-directives": "66.1.1", - "@unocss/transformer-variant-group": "66.1.1", - "@unocss/vite": "66.1.1", + "@unocss/eslint-config": "66.1.4", + "@unocss/preset-icons": "66.1.4", + "@unocss/preset-uno": "66.1.4", + "@unocss/transformer-directives": "66.1.4", + "@unocss/transformer-variant-group": "66.1.4", + "@unocss/vite": "66.1.4", "@vitejs/plugin-vue": "5.2.4", - "@vitejs/plugin-vue-jsx": "4.1.2", + "@vitejs/plugin-vue-jsx": "4.2.0", "consola": "3.4.2", - "eslint": "9.26.0", - "eslint-plugin-vue": "10.1.0", + "eslint": "9.28.0", + "eslint-plugin-vue": "10.2.0", "kolorist": "1.8.0", - "sass": "1.88.0", + "sass": "1.89.1", "simple-git-hooks": "2.13.0", "tsx": "4.19.4", "typescript": "5.8.3", "unplugin-icons": "22.1.0", - "unplugin-vue-components": "28.5.0", + "unplugin-vue-components": "28.7.0", "vite": "6.3.5", "vite-plugin-monaco-editor": "^1.1.0", "vite-plugin-progress": "0.0.7", diff --git a/packages/alova/package.json b/packages/alova/package.json index 142e80c0..429df283 100644 --- a/packages/alova/package.json +++ b/packages/alova/package.json @@ -1,6 +1,6 @@ { "name": "@sa/alova", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts", "./fetch": "./src/fetch.ts", @@ -13,8 +13,8 @@ } }, "dependencies": { - "@alova/mock": "2.0.14", + "@alova/mock": "2.0.16", "@sa/utils": "workspace:*", - "alova": "3.2.10" + "alova": "3.3.0" } } diff --git a/packages/axios/package.json b/packages/axios/package.json index 99d8318e..f249f47f 100644 --- a/packages/axios/package.json +++ b/packages/axios/package.json @@ -1,6 +1,6 @@ { "name": "@sa/axios", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, @@ -16,6 +16,6 @@ "qs": "6.14.0" }, "devDependencies": { - "@types/qs": "6.9.18" + "@types/qs": "6.14.0" } } diff --git a/packages/color/package.json b/packages/color/package.json index 6500ae51..459f5821 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@sa/color", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 8cc75bab..f5eb5985 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@sa/hooks", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/packages/materials/package.json b/packages/materials/package.json index 5cf486cc..0d757f0e 100644 --- a/packages/materials/package.json +++ b/packages/materials/package.json @@ -1,6 +1,6 @@ { "name": "@sa/materials", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/packages/ofetch/package.json b/packages/ofetch/package.json index cc8f2408..1c44e08f 100644 --- a/packages/ofetch/package.json +++ b/packages/ofetch/package.json @@ -1,6 +1,6 @@ { "name": "@sa/fetch", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/packages/scripts/package.json b/packages/scripts/package.json index ed68baf3..4ed9c796 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@sa/scripts", - "version": "1.3.13", + "version": "1.3.14", "bin": { "sa": "./bin.ts" }, @@ -14,12 +14,12 @@ }, "devDependencies": { "@soybeanjs/changelog": "0.3.24", - "bumpp": "10.1.0", - "c12": "3.0.3", + "bumpp": "10.1.1", + "c12": "3.0.4", "cac": "6.7.14", "consola": "3.4.2", "enquirer": "2.4.1", - "execa": "9.5.3", + "execa": "9.6.0", "kolorist": "1.8.0", "npm-check-updates": "18.0.1", "rimraf": "6.0.1" diff --git a/packages/uno-preset/package.json b/packages/uno-preset/package.json index 808dec01..77de4748 100644 --- a/packages/uno-preset/package.json +++ b/packages/uno-preset/package.json @@ -1,6 +1,6 @@ { "name": "@sa/uno-preset", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/packages/utils/package.json b/packages/utils/package.json index f6d3376b..454c1f13 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@sa/utils", - "version": "1.3.13", + "version": "1.3.14", "exports": { ".": "./src/index.ts" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 026b4090..cac26e9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 2.5.1 '@iconify/vue': specifier: 5.0.0 - version: 5.0.0(vue@3.5.13(typescript@5.8.3)) + version: 5.0.0(vue@3.5.16(typescript@5.8.3)) '@sa/axios': specifier: workspace:* version: link:packages/axios @@ -33,8 +33,8 @@ importers: specifier: workspace:* version: link:packages/utils '@vueuse/core': - specifier: 13.1.0 - version: 13.1.0(vue@3.5.13(typescript@5.8.3)) + specifier: 13.3.0 + version: 13.3.0(vue@3.5.16(typescript@5.8.3)) clipboard: specifier: 2.0.11 version: 2.0.11 @@ -60,39 +60,39 @@ importers: specifier: ^0.52.0 version: 0.52.2 naive-ui: - specifier: 2.41.0 - version: 2.41.0(vue@3.5.13(typescript@5.8.3)) + specifier: 2.41.1 + version: 2.41.1(vue@3.5.16(typescript@5.8.3)) nprogress: specifier: 0.2.0 version: 0.2.0 pinia: - specifier: 3.0.2 - version: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + specifier: 3.0.3 + version: 3.0.3(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3)) tailwind-merge: - specifier: 3.2.0 - version: 3.2.0 + specifier: 3.3.0 + version: 3.3.0 vue: - specifier: 3.5.13 - version: 3.5.13(typescript@5.8.3) + specifier: 3.5.16 + version: 3.5.16(typescript@5.8.3) vue-advanced-cropper: specifier: ^2.8.9 - version: 2.8.9(vue@3.5.13(typescript@5.8.3)) + version: 2.8.9(vue@3.5.16(typescript@5.8.3)) vue-draggable-plus: specifier: 0.6.0 version: 0.6.0(@types/sortablejs@1.15.8) vue-i18n: - specifier: 11.1.3 - version: 11.1.3(vue@3.5.13(typescript@5.8.3)) + specifier: 11.1.5 + version: 11.1.5(vue@3.5.16(typescript@5.8.3)) vue-router: specifier: 4.5.1 - version: 4.5.1(vue@3.5.13(typescript@5.8.3)) + version: 4.5.1(vue@3.5.16(typescript@5.8.3)) devDependencies: '@elegant-router/vue': specifier: 0.3.8 version: 0.3.8 '@iconify/json': - specifier: 2.2.337 - version: 2.2.337 + specifier: 2.2.347 + version: 2.2.347 '@sa/scripts': specifier: workspace:* version: link:packages/scripts @@ -100,53 +100,53 @@ importers: specifier: workspace:* version: link:packages/uno-preset '@soybeanjs/eslint-config': - specifier: 1.6.0 - version: 1.6.0(@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + specifier: 1.6.1 + version: 1.6.1(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) '@types/node': - specifier: 22.15.17 - version: 22.15.17 + specifier: 22.15.30 + version: 22.15.30 '@types/nprogress': specifier: 0.2.3 version: 0.2.3 '@unocss/eslint-config': - specifier: 66.1.1 - version: 66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + specifier: 66.1.4 + version: 66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@unocss/preset-icons': - specifier: 66.1.1 - version: 66.1.1 + specifier: 66.1.4 + version: 66.1.4 '@unocss/preset-uno': - specifier: 66.1.1 - version: 66.1.1 + specifier: 66.1.4 + version: 66.1.4 '@unocss/transformer-directives': - specifier: 66.1.1 - version: 66.1.1 + specifier: 66.1.4 + version: 66.1.4 '@unocss/transformer-variant-group': - specifier: 66.1.1 - version: 66.1.1 + specifier: 66.1.4 + version: 66.1.4 '@unocss/vite': - specifier: 66.1.1 - version: 66.1.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)) + specifier: 66.1.4 + version: 66.1.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vitejs/plugin-vue': specifier: 5.2.4 - version: 5.2.4(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vitejs/plugin-vue-jsx': - specifier: 4.1.2 - version: 4.1.2(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)) + specifier: 4.2.0 + version: 4.2.0(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) consola: specifier: 3.4.2 version: 3.4.2 eslint: - specifier: 9.26.0 - version: 9.26.0(jiti@2.4.2) + specifier: 9.28.0 + version: 9.28.0(jiti@2.4.2) eslint-plugin-vue: - specifier: 10.1.0 - version: 10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + specifier: 10.2.0 + version: 10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) kolorist: specifier: 1.8.0 version: 1.8.0 sass: - specifier: 1.88.0 - version: 1.88.0 + specifier: 1.89.1 + version: 1.89.1 simple-git-hooks: specifier: 2.13.0 version: 2.13.0 @@ -158,31 +158,31 @@ importers: version: 5.8.3 unplugin-icons: specifier: 22.1.0 - version: 22.1.0(@vue/compiler-sfc@3.5.13) + version: 22.1.0(@vue/compiler-sfc@3.5.16) unplugin-vue-components: - specifier: 28.5.0 - version: 28.5.0(@babel/parser@7.26.10)(vue@3.5.13(typescript@5.8.3)) + specifier: 28.7.0 + version: 28.7.0(@babel/parser@7.27.5)(vue@3.5.16(typescript@5.8.3)) vite: specifier: 6.3.5 - version: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) vite-plugin-monaco-editor: specifier: ^1.1.0 version: 1.1.0(monaco-editor@0.52.2) vite-plugin-progress: specifier: 0.0.7 - version: 0.0.7(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) + version: 0.0.7(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) vite-plugin-static-copy: specifier: ^3.0.0 - version: 3.0.0(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) + version: 3.0.0(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) vite-plugin-svg-icons: specifier: 2.0.1 - version: 2.0.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) + version: 2.0.1(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) vite-plugin-vue-devtools: specifier: 7.7.6 - version: 7.7.6(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)) + version: 7.7.6(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) vue-eslint-parser: specifier: 10.1.3 - version: 10.1.3(eslint@9.26.0(jiti@2.4.2)) + version: 10.1.3(eslint@9.28.0(jiti@2.4.2)) vue-tsc: specifier: 2.2.10 version: 2.2.10(typescript@5.8.3) @@ -190,14 +190,14 @@ importers: packages/alova: dependencies: '@alova/mock': - specifier: 2.0.14 - version: 2.0.14(alova@3.2.10) + specifier: 2.0.16 + version: 2.0.16(alova@3.3.0) '@sa/utils': specifier: workspace:* version: link:../utils alova: - specifier: 3.2.10 - version: 3.2.10 + specifier: 3.3.0 + version: 3.3.0 packages/axios: dependencies: @@ -215,8 +215,8 @@ importers: version: 6.14.0 devDependencies: '@types/qs': - specifier: 6.9.18 - version: 6.9.18 + specifier: 6.14.0 + version: 6.14.0 packages/color: dependencies: @@ -243,7 +243,7 @@ importers: version: link:../utils simplebar-vue: specifier: 2.4.1 - version: 2.4.1(vue@3.5.13(typescript@5.8.3)) + version: 2.4.1(vue@3.5.16(typescript@5.8.3)) devDependencies: typed-css-modules: specifier: 0.9.1 @@ -259,13 +259,13 @@ importers: devDependencies: '@soybeanjs/changelog': specifier: 0.3.24 - version: 0.3.24(@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + version: 0.3.24(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) bumpp: - specifier: 10.1.0 - version: 10.1.0 + specifier: 10.1.1 + version: 10.1.1 c12: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.0.4 + version: 3.0.4 cac: specifier: 6.7.14 version: 6.7.14 @@ -276,8 +276,8 @@ importers: specifier: 2.4.1 version: 2.4.1 execa: - specifier: 9.5.3 - version: 9.5.3 + specifier: 9.6.0 + version: 9.6.0 kolorist: specifier: 1.8.0 version: 1.8.0 @@ -296,7 +296,7 @@ importers: devDependencies: '@tinymce/tinymce-vue': specifier: 6.1.0 - version: 6.1.0(tinymce@7.8.0)(vue@3.5.13(typescript@5.8.3)) + version: 6.1.0(tinymce@7.8.0)(vue@3.5.16(typescript@5.8.3)) packages/uno-preset: {} @@ -324,13 +324,13 @@ importers: packages: - '@alova/mock@2.0.14': - resolution: {integrity: sha512-QMPrtI2CORJghpIgzVrQLOBmth+h7s6xJY12TFWHPjw7Ag1BESbcGyAKJrfoD6xUP5E58f9WFmhgQTrv0jMs0A==} + '@alova/mock@2.0.16': + resolution: {integrity: sha512-I6TgNpznfc041T6ufqoEPoCQQZ7tj92EcrExhafd36i4taZTre8gcgTdwvRpGmu+Z5JlL1wse/wIX/uIHhTKeg==} peerDependencies: alova: ^3.0.20 - '@alova/shared@1.1.2': - resolution: {integrity: sha512-8q/gMHFpzm7XYcaUlsyTCMDRRhFnewwheTeObMjPl1+bFdr+wZuBEHEPYIyd8tyzLwfrqpBeonaMN2tlngM8EA==} + '@alova/shared@1.3.0': + resolution: {integrity: sha512-ClSAHKFjaZD4teMdIk01ulEs6WZsKFjSsDZB3I9cAzeFL7NnXkzmDb1FMbXH8mbi8Ce3N+6PoOUNOGVGqQwrKg==} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} @@ -343,6 +343,9 @@ packages: '@antfu/install-pkg@1.0.0': resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} @@ -353,85 +356,168 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.8': resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.27.5': + resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} + engines: {node: '>=6.9.0'} + '@babel/core@7.26.10': resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} + '@babel/core@7.27.4': + resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.26.10': resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} engines: {node: '>=6.9.0'} + '@babel/generator@7.27.5': + resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.25.9': resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.26.5': resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.26.9': resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.27.1': + resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-member-expression-to-functions@7.25.9': resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.25.9': resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.26.0': resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.25.9': resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.26.5': resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + '@babel/helper-replace-supers@7.26.5': resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.10': resolution: {integrity: sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.26.10': resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-proposal-decorators@7.25.9': resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==} engines: {node: '>=6.9.0'} @@ -467,24 +553,48 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.26.8': resolution: {integrity: sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.27.1': + resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/template@7.26.9': resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.26.10': resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.27.4': + resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.26.10': resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + engines: {node: '>=6.9.0'} + '@better-scroll/core@2.5.1': resolution: {integrity: sha512-koKOuYA55dQ04FJRIVUpMGDr1hbCfWmfX0MGp1hKagkQSWSRpwblqACiwtggVauoj9aaJRJZ9hDsTM4weaavlg==} @@ -507,6 +617,15 @@ packages: '@elegant-router/vue@0.3.8': resolution: {integrity: sha512-K9x2275vw9kQB25WnZ7ROTLsT3o8bxu8acvwF09Do8hexIKG2i6elV0+pWxaufNZ4XCuBxT+lKHfHeyBbRhtYQ==} + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@emotion/hash@0.8.0': resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} @@ -697,6 +816,10 @@ packages: resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.0': resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -713,6 +836,10 @@ packages: resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.28.0': + resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -721,6 +848,10 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -741,8 +872,8 @@ packages: resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} - '@iconify/json@2.2.337': - resolution: {integrity: sha512-+Z4wwoHHhqebbQ4v+s9GJ2fxS82zWd79SnjXlg4B4WCXTMdV2sXmNXs6P7NzfzbZugITwK6rPeyr6cgoH/bHmw==} + '@iconify/json@2.2.347': + resolution: {integrity: sha512-couLr3Btp0O1omfKXqxP+/l4WoYr6vZpBs/BxBeXXT1R9dhXbEw8i8SxnO4FiiSqyIdJ3bVaBPA2tTm2ci8cKQ==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -755,16 +886,16 @@ packages: peerDependencies: vue: '>=3' - '@intlify/core-base@11.1.3': - resolution: {integrity: sha512-cMuHunYO7LE80azTitcvEbs1KJmtd6g7I5pxlApV3Jo547zdO3h31/0uXpqHc+Y3RKt1wo2y68RGSx77Z1klyA==} + '@intlify/core-base@11.1.5': + resolution: {integrity: sha512-xGRkISwV/2Trqb8yVQevlHm5roaQqy+75qwUzEQrviaQF0o4c5VDhjBW7WEGEoKFx09HSgq7NkvK/DAyuerTDg==} engines: {node: '>= 16'} - '@intlify/message-compiler@11.1.3': - resolution: {integrity: sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw==} + '@intlify/message-compiler@11.1.5': + resolution: {integrity: sha512-YLSBbjD7qUdShe3ZAat9Hnf9E8FRpN6qmNFD/x5Xg5JVXjsks0kJ90Zj6aAuyoppJQA/YJdWZ8/bB7k3dg2TjQ==} engines: {node: '>= 16'} - '@intlify/shared@11.1.3': - resolution: {integrity: sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==} + '@intlify/shared@11.1.5': + resolution: {integrity: sha512-+I4vRzHm38VjLr/CAciEPJhGYFzWWW4HMTm+6H3WqknXLh0ozNX9oC8ogMUwTSXYR/wGUb1/lTpNziiCH5MybQ==} engines: {node: '>= 16'} '@isaacs/cliui@8.0.2': @@ -792,9 +923,8 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - '@modelcontextprotocol/sdk@1.11.3': - resolution: {integrity: sha512-rmOWVRUbUJD7iSvJugjUbFZshTAuJ48MXoZ80Osx1GM0K/H1w7rSEvmw8m6vdWxNASgtaHIhAgre4H/E9GJiYQ==} - engines: {node: '>=18'} + '@napi-rs/wasm-runtime@0.2.11': + resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -904,6 +1034,10 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@polka/url@1.0.0-next.28': resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} @@ -911,6 +1045,9 @@ packages: resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==} engines: {node: '>=20.0.0'} + '@rolldown/pluginutils@1.0.0-beta.13': + resolution: {integrity: sha512-/9TBv7Ir9ojO1mDlTy35X0GSGqvP+aRa44i2fciAK/EEJeimvJyL6eN2Ug2RwXEGFVumgZh231PeykYjo2WBtw==} + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -1085,6 +1222,55 @@ packages: vue-eslint-parser: optional: true + '@soybeanjs/eslint-config@1.6.1': + resolution: {integrity: sha512-AafigaZCRas0gSnexA1LJnDtOydno46w85xVuPfP7eQGbi2N8Gky62N8LpUkHqVjBD5+cC+mfngj+olTP90E5w==} + peerDependencies: + '@toml-tools/parser': '*' + '@unocss/eslint-config': '>=0.58.0' + eslint: '>=8.40.0' + eslint-plugin-astro: '>=0.30.0' + eslint-plugin-react: '>=7.0.0' + eslint-plugin-react-hooks: '>=4.0.0' + eslint-plugin-react-native: '>=4.0.0' + eslint-plugin-react-refresh: '>=0.4.0' + eslint-plugin-solid: '>=0.10.0' + eslint-plugin-svelte: '>=2.0.0' + eslint-plugin-vue: '>=9.19.0' + prettier-plugin-astro: '>=0.12.0' + prettier-plugin-svelte: '>=3.0.0' + prettier-plugin-toml: '>=2.0.0' + typescript: '>=5.0.0' + vue-eslint-parser: '>=9.3.2' + peerDependenciesMeta: + '@toml-tools/parser': + optional: true + '@unocss/eslint-config': + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-react: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-native: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-solid: + optional: true + eslint-plugin-svelte: + optional: true + eslint-plugin-vue: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-toml: + optional: true + vue-eslint-parser: + optional: true + '@tinymce/tinymce-vue@6.1.0': resolution: {integrity: sha512-7JdaKMOaohuFWpjKwRmaZJbT/eNVUUYHG93R7+lUf7SUN+hSqd2spbuqZcki+tG9kaSAGd2ZmvJIsmzWDNAzpw==} peerDependencies: @@ -1098,6 +1284,9 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/crypto-js@4.2.2': resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} @@ -1131,8 +1320,8 @@ packages: '@types/node@10.17.60': resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - '@types/node@22.15.17': - resolution: {integrity: sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==} + '@types/node@22.15.30': + resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1140,8 +1329,8 @@ packages: '@types/nprogress@0.2.3': resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} '@types/sortablejs@1.15.8': resolution: {integrity: sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==} @@ -1163,6 +1352,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.32.1': + resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.26.1': resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1170,6 +1367,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.32.1': + resolution: {integrity: sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@8.26.1': resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1185,6 +1389,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.32.1': + resolution: {integrity: sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@8.26.1': resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1227,56 +1438,149 @@ packages: resolution: {integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unocss/config@66.1.1': - resolution: {integrity: sha512-Fg4sRw5dncNHxh/SM6guRzAveBI1FErw2ncb70Qe0LzCY7+IfUqrOBep/HIHP7NA1Mcj2JxHlM61ITLqrcYKpw==} + '@unocss/config@66.1.4': + resolution: {integrity: sha512-UIROc/omuctALF7+7vCNAruCii3bZkYe1VfZoy2LgZU71GoTWj7RvRsEOHETY93noTtyUN1+9E7kOCdhxWeGlA==} engines: {node: '>=14'} - '@unocss/core@66.1.1': - resolution: {integrity: sha512-EOewEnipyB7Y6ne0YQmxdCG1hbMjYJ7oPMeHKfQuCZz60DPzkYwV6zVMa35ySMs1xljb/vFTHVFcJA8du3i8XA==} + '@unocss/core@66.1.4': + resolution: {integrity: sha512-PE9PbRG0Gs/srBfps+OuTJ2dJXkz/FgCqefma6Hgdu7xYHFWx2Fq8AnmqghAJxyT6GDpcyQYXiL+ovJNOKWTEg==} - '@unocss/eslint-config@66.1.1': - resolution: {integrity: sha512-9FggydayNp7qh09Fxl5C9KdrzyxbTefFrZurCg7P2xwSLlRKq+Bzqml4aGO5UzBVvrSBlgSCt5pNkyMXo6RA/Q==} + '@unocss/eslint-config@66.1.4': + resolution: {integrity: sha512-kjVRLpZUaZYIFLn+RxHtFBTxuuAWwwKA/HOO8mO4yOpEceEvw09ilak6THXeCZySX2rJthuJw7GT8kP1ebKucQ==} engines: {node: '>=14'} - '@unocss/eslint-plugin@66.1.1': - resolution: {integrity: sha512-WkcyScjl3+6ERXCY/HBlBQJU/45HbRaklHc2u5F1Rdr1Pam/Fe90OnC93SB1oH7wwKmvE4vyP9dFQFrYVdUANg==} + '@unocss/eslint-plugin@66.1.4': + resolution: {integrity: sha512-SS/OsfavQZiE29E5znG+z3AEL9ZRPW7x1tnidPYGiiXF+MYJeZCiDqBIOQqV8W6t0OpSSwaeCgdLTmKZwYV2ZQ==} engines: {node: '>=14'} - '@unocss/extractor-arbitrary-variants@66.1.1': - resolution: {integrity: sha512-hDbdXm2+LjQ18zkUniU6tCGdyBHxnMZ0M2LFF21iGEbDvK3ukX4uEVAhzASEmhkEE0nULyEJg0HkU4CRNBupBg==} + '@unocss/extractor-arbitrary-variants@66.1.4': + resolution: {integrity: sha512-JSkGUVeOZ4p6XQwVXPrsYvC3Dcz/SOGwGqkaq+KnvdfVxEvLvhCIc6rmj3xKLDx3KotvL+b0HKxKpRZA3SRo2A==} - '@unocss/inspector@66.1.1': - resolution: {integrity: sha512-112uYliXR7VLYqdPfDWy/cL65An36IabFL7xU9dRPBDYmlB5qyVks9l5Sqd8uMafsZYjbMhpkjPRkXTmLMieEw==} + '@unocss/inspector@66.1.4': + resolution: {integrity: sha512-iLc4RDTJuSUzMeiJZBfl+DJ2oHjPl59SsgrqWBjMR/kjtnY783tWbIbGdEMNWxamRuHaEWaeTvuJJLQB9CT00w==} - '@unocss/preset-icons@66.1.1': - resolution: {integrity: sha512-F8NZKJfGzlv7tCxbo5cDXouxm1azKMzGOV11zbDTuZFDacyH5WprQ9zNMffUdUuVDy+rwAN+OoR0GEyggt4zww==} + '@unocss/preset-icons@66.1.4': + resolution: {integrity: sha512-QnaNU0Mk5JRivCuGvVUtmCnc5y4oYCAXWnBG1kmY63iN0SEmwjxaMIGWX3+1SyugQzmtAzQhlSRJ8QEV0JItEA==} - '@unocss/preset-mini@66.1.1': - resolution: {integrity: sha512-VRv1BWqnKaDQZb4EGZ6bV03+jLios9R8CmlOKAjr9AIAUuZv3OKP7LoSA9Jo0bci1wQUdHxNs8IvD2c1mDz+Pw==} + '@unocss/preset-mini@66.1.4': + resolution: {integrity: sha512-Vephm8kprVFJRzfLhxsWV0M/zPrTbumaXG9O+/HRIzodpx6b/fZtoA4MFRWUr0AiiFyj+1PklKGmeNEgGpk4jw==} - '@unocss/preset-uno@66.1.1': - resolution: {integrity: sha512-2gfayXo7He9ecCIp4KzpRpCjc6bFtukAahdLf5WoW66GRxoTDAsOuWQitG+B2IiExIX0fci8uahFudMNyLpjMA==} + '@unocss/preset-uno@66.1.4': + resolution: {integrity: sha512-wjnGQyzGOqm72dhdRCkf5iaddcUu3hKZH2a9hUazUCqR6EJnOTGqgY9rgr3zPVFN/V3rbmwmrVDtp5nwSyiPEw==} - '@unocss/preset-wind3@66.1.1': - resolution: {integrity: sha512-Z8SqXaubPJHltD0+dneYei0spxH+spzGNiOWI7qffsByxvc6B/kOdJFOhVWE5DhYO33KJWyGxZdXzCq7Xxdm9Q==} + '@unocss/preset-wind3@66.1.4': + resolution: {integrity: sha512-nXjpiAVt4PUR/sw3ZDxCRVkOdMkmf4n8Ie7Few+ItmzOHJe+xTi2/Y8rpbCqlOyoG33jTxB2ht3TzOJBQw9YoA==} - '@unocss/rule-utils@66.1.1': - resolution: {integrity: sha512-a7xe3FsvsI6T6u8QtXcQF22jnElB68X92aHjuSRt512gRjhhu/5kSzLJbMkv9RsclHJbmjnz6OUkk/mlTTxcFg==} + '@unocss/rule-utils@66.1.4': + resolution: {integrity: sha512-Hxudvnf0289r+fq4O+GoTvWRQRDEsifTD3DCvSm1kirv/9am8s3+IGHIfkhX3nn1b1Id/fML4kEtXfDLeDLzhg==} engines: {node: '>=14'} - '@unocss/transformer-directives@66.1.1': - resolution: {integrity: sha512-qj2oUc9P+cY6PD+vTmbyb830GTofKm1IMeT+lhH4eyMX3lpfbDxj1LTjyJzouhK8s5VD56gWXx8wFdTuaEQ2Ww==} + '@unocss/transformer-directives@66.1.4': + resolution: {integrity: sha512-KEQrNYFjaNy+rEuuEHx/ckbiIJeutNipMX/d/sf28O8TzEJxYQRjTv48auAZX/F3nBFSdoRfNDg88iLqj+ke2Q==} - '@unocss/transformer-variant-group@66.1.1': - resolution: {integrity: sha512-opU9y9c6iGUtTXPa+bDfkihSAth+5PVO9hLbPWlDIiN6mDF7WHzAbnhg0Q+FixjAI+n772XWKoLdrPn3yM2NZA==} + '@unocss/transformer-variant-group@66.1.4': + resolution: {integrity: sha512-uP6UlBoK/mwGwDPzwcdS4wpUVdO+z04ifkRICKWHu8RqPEZd1CrFByI02OI4y8+1CSvck2l2OW7uOmoHjXkQnw==} - '@unocss/vite@66.1.1': - resolution: {integrity: sha512-+ddMVpMxvm+2r8Je3YJRGYiZ/p/7LPD69VKT3vjFG3lT3IbfXtt18q6kYwBi+9lcnI68qgh3/s4qXQ2Q/iX5NQ==} + '@unocss/vite@66.1.4': + resolution: {integrity: sha512-1QpErdHiru/pGkAcspXBMwqDti0JrqqjabzgIdz6mNwmP4e4LbGzlWmoe5eEJUXuwJX+NHtWPqM2pDRKIobjeA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - '@vitejs/plugin-vue-jsx@4.1.2': - resolution: {integrity: sha512-4Rk0GdE0QCdsIkuMmWeg11gmM4x8UmTnZR/LWPm7QJ7+BsK4tq08udrN0isrrWqz5heFy9HLV/7bOLgFS8hUjA==} + '@unrs/resolver-binding-darwin-arm64@1.7.12': + resolution: {integrity: sha512-C//UObaqVcGKpRMMThzBCDxbqM9YQg2dtWy3OwcERLu+qzLa781AqvGdgqwqakRO+cWCK6dl75ebAcsSozmARg==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.7.12': + resolution: {integrity: sha512-eRXO0uPaZtWIogCeVlpSCfzKr3ZJynQl3IRzhFucrA+efdjAylS+ZemWFfnhGbQgWv4lItKCfCpxGuZsosudWw==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.7.12': + resolution: {integrity: sha512-VUdT2CwMoyWy9Jolavu2fWTcusiA9FePjSyMLIrZvAeC2PMnM9msF3HJkO/j0S2fZkzgZy+UBBZjJwG0Mfds0g==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.12': + resolution: {integrity: sha512-hbWi7U2UlglpT1LQZbm7He3YpSRYGoHwFMMKC+oCD9UzPImFJZOFrQUL4FQVsOaxxz0ggWK1Q/ZcK23LpG2STg==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.12': + resolution: {integrity: sha512-KBblhYFUhUTVSkTKxxaw4cFS3qgQMs2oM1DUSNrsFX7uRBG6SxXkLXGKua+uWq+G0vT7pp30BPXJ7c4I6vRGcw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.12': + resolution: {integrity: sha512-A5jGMNiY5F/KyeLkph5/gaNXNs/P/FUJvhKIP79mIOn9KUqjqx+UbhZQ1UrRuGHsh0gXPVSnu2UJdhnvJsnEyw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-arm64-musl@1.7.12': + resolution: {integrity: sha512-Gv/duj5YStydJTNu2vSHFbSrRimpA6mnVmAnKTe1xMfhqDCm10EP/U6u7NII1jAjbpaRmqtnvFhtndzGxDyfhA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.12': + resolution: {integrity: sha512-BTjdqhVVl1Q8dZCdNkVXZrfFyqNRdWizFuY5N0eHP7zgtNmqwJ3F/eJF/60GnabIcmWHvWvugby2VqHZtW/bQw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.12': + resolution: {integrity: sha512-YkjQuWGi1o174Xz2R+oQOOYQgViCwkSdpsHGmLr0QRYgQclJCQ4ug6qT+EGTYi1g4994q3BAaFVgV0GzEM1YSQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.12': + resolution: {integrity: sha512-9ud5x0qYBuk1rGdGzdjKQq/o7tObgI3IdjaufxKLD6kJIQi6vqww1mfoJklYw2OR5JXOWc6WLNKHa0Rr9aFZsw==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.12': + resolution: {integrity: sha512-3CNVBpgsvZ4Vrr18JAxQ8Qxz+k4PqTJR05/xn5Tczs9jFEuxPDxZKFskv9QnK3flJtx+ur9MayiTGgFZQAa7hA==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-gnu@1.7.12': + resolution: {integrity: sha512-bPACcY7lEp3M8IItjXEppQEsQ2N54a1aLb1yCWD16lccl8OG9aXQvji9x9VVcmdqR4JV4oWXzr0uIrZ+oFNvOw==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-musl@1.7.12': + resolution: {integrity: sha512-86WuRbj+0tK3qWPthfsR952CHxE23lDTjbKfHOczIkjRvKP/ggAzaiNMOEljxB5iel4HhGTQZBp1lx61aw2q/g==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-wasm32-wasi@1.7.12': + resolution: {integrity: sha512-RzWV0OyeARtKRNHSbVZyj869P+WHzT2OFEgigs+5qEIM8X3QzbQ90Ye/1hCvgu0zi/cDCXtKWp8Utr1Oym2UIA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.12': + resolution: {integrity: sha512-s9FdWj2QFT6PLNY/jPPmd7jF1Fn2HNSuLbZqUpdcSaMdeBGaDvy2C/eBYgGhrK7g8kIYUecT1LdT+SuDs6h+YA==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.12': + resolution: {integrity: sha512-Fo4Op3Il/6HZ8Gm+YhqBkRZpTGe/QJZWAsCB/CLYBDqJ2NjXptgFsuIvlgXv95+WUkoTw6ifRgxE9gwtcAk5YA==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.7.12': + resolution: {integrity: sha512-00cVr73Qizmx7qycr9aO5NBofoAHuQIhNsuqj+I2Bun/yMddLfpXk86K3GWj096jXLzk0u/77u3qUTJPhuYWiw==} + cpu: [x64] + os: [win32] + + '@vitejs/plugin-vue-jsx@4.2.0': + resolution: {integrity: sha512-DSTrmrdLp+0LDNF77fqrKfx7X0ErRbOcUAgJL/HbSesqQwoUvUQ4uYQqaex+rovqgGcoPqVk+AwUh3v9CuiYIw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 @@ -1317,15 +1621,27 @@ packages: '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-core@3.5.16': + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + '@vue/compiler-dom@3.5.13': resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-dom@3.5.16': + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + '@vue/compiler-sfc@3.5.13': resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + '@vue/compiler-sfc@3.5.16': + resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} + '@vue/compiler-ssr@3.5.13': resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-ssr@3.5.16': + resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} + '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -1340,15 +1656,9 @@ packages: peerDependencies: vue: ^3.0.0 - '@vue/devtools-kit@7.7.2': - resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==} - '@vue/devtools-kit@7.7.6': resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==} - '@vue/devtools-shared@7.7.2': - resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==} - '@vue/devtools-shared@7.7.6': resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} @@ -1360,40 +1670,39 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + '@vue/reactivity@3.5.16': + resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + '@vue/runtime-core@3.5.16': + resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + '@vue/runtime-dom@3.5.16': + resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + '@vue/server-renderer@3.5.16': + resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} peerDependencies: - vue: 3.5.13 + vue: 3.5.16 '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vueuse/core@13.1.0': - resolution: {integrity: sha512-PAauvdRXZvTWXtGLg8cPUFjiZEddTqmogdwYpnn60t08AA5a8Q4hZokBnpTOnVNqySlFlTcRYIC8OqreV4hv3Q==} + '@vue/shared@3.5.16': + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + + '@vueuse/core@13.3.0': + resolution: {integrity: sha512-uYRz5oEfebHCoRhK4moXFM3NSCd5vu2XMLOq/Riz5FdqZMy2RvBtazdtL3gEcmDyqkztDe9ZP/zymObMIbiYSg==} peerDependencies: vue: ^3.5.0 - '@vueuse/metadata@13.1.0': - resolution: {integrity: sha512-+TDd7/a78jale5YbHX9KHW3cEDav1lz1JptwDvep2zSG8XjCsVE+9mHIzjTOaPbHUAk5XiE4jXLz51/tS+aKQw==} + '@vueuse/metadata@13.3.0': + resolution: {integrity: sha512-42IzJIOYCKIb0Yjv1JfaKpx8JlCiTmtCWrPxt7Ja6Wzoq0h79+YVXmBV03N966KEmDEESTbp5R/qO3AB5BDnGw==} - '@vueuse/shared@13.1.0': - resolution: {integrity: sha512-IVS/qRRjhPTZ6C2/AM3jieqXACGwFZwWTdw5sNTSKk2m/ZpkuuN+ri+WCVUP8TqaKwJYt/KuMwmXspMAw8E6ew==} + '@vueuse/shared@13.3.0': + resolution: {integrity: sha512-L1QKsF0Eg9tiZSFXTgodYnu0Rsa2P0En2LuLrIs/jgrkyiDuJSsPZK+tx+wU0mMsYHUYEjNsuE41uqqkuR8VhA==} peerDependencies: vue: ^3.5.0 - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1410,8 +1719,8 @@ packages: alien-signals@1.0.4: resolution: {integrity: sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==} - alova@3.2.10: - resolution: {integrity: sha512-OHMuSNUbIUEsAq6q5DabISNgFMIXqrC/DPBQv1QJEwxW3fWlYlaF6Vr8b4iqwZnUd2+0rCmFm9GnpKWk7vvx2w==} + alova@3.3.0: + resolution: {integrity: sha512-VqHVZ1u16bzMJAfHBTs6ew4xKFKxNZb7y64ekEZZ9UkvYFBw038kL7SaxyX67qIc6qAH9ymjAykif1iB9rQ2/w==} engines: {node: '>= 18.0.0'} ansi-colors@4.1.3: @@ -1442,8 +1751,8 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - ansis@3.17.0: - resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} engines: {node: '>=14'} anymatch@3.1.3: @@ -1532,19 +1841,12 @@ packages: binary-searching@2.0.5: resolution: {integrity: sha512-v4N2l3RxL+m4zDxyxz3Ne2aTmiPn8ZUpKFpdPtO+ItW1NcTCXA7JeHG5GMBSvoKSkQZ9ycS+EouDVxYB9ufKWA==} - birpc@0.2.19: - resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} - birpc@2.3.0: resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1571,8 +1873,12 @@ packages: resolution: {integrity: sha512-p1n8zyCkt1BVrKNFymOHjcDSAl7oq/gUvfgULv2EblgpPVQlQr9yHnWjg9IJ2MhfwPqiYqMMrr01OY7yQoK2yA==} engines: {node: '>=18.20'} - bumpp@10.1.0: - resolution: {integrity: sha512-cM/4+kO2A2l3aDSL7tr/ALg8TWPihl1fDWHZyz55JlDmzd01Y+8Vq3YQ1ydeKDS4QFN+tKaLsVzhdDIb/cbsLQ==} + builtin-modules@5.0.0: + resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} + engines: {node: '>=18.20'} + + bumpp@10.1.1: + resolution: {integrity: sha512-69ejE1J5O5qDN3oRu2jRas1nQmi5zEYepjzbYPpi1znuDnp+zZ9Yezsf/nYauWeoMNALQ5toniNGET05Txj2cQ==} engines: {node: '>=18'} hasBin: true @@ -1580,12 +1886,8 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - c12@3.0.3: - resolution: {integrity: sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w==} + c12@3.0.4: + resolution: {integrity: sha512-t5FaZTYbbCtvxuZq9xxIruYydrAGsJ+8UdP0pZzMiK2xl/gNiSOy0OxhLzHUEEb0m1QXYqfzfvyIFEmz/g9lqg==} peerDependencies: magicast: ^0.3.5 peerDependenciesMeta: @@ -1724,28 +2026,12 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - convert-gitmoji@0.1.5: resolution: {integrity: sha512-4wqOafJdk2tqZC++cjcbGcaJ13BZ3kwldf06PTiAQRAB76Z1KJwZNL1SaRZMi2w1FM9RYTgZ6QErS8NUl/GBmQ==} convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - copy-anything@3.0.5: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} @@ -1858,6 +2144,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decode-named-character-reference@1.1.0: resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} @@ -1910,10 +2205,6 @@ packages: delegate@3.2.0: resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1958,8 +2249,8 @@ packages: domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + dotenv@16.5.0: + resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -1978,9 +2269,6 @@ packages: echarts@5.6.0: resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.120: resolution: {integrity: sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ==} @@ -1994,10 +2282,6 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - enhanced-resolve@5.18.1: resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} @@ -2052,9 +2336,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2080,6 +2361,12 @@ packages: peerDependencies: eslint: '>=7.0.0' + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -2092,6 +2379,12 @@ packages: peerDependencies: eslint: '>=8' + eslint-plugin-import-x@4.11.1: + resolution: {integrity: sha512-CiqREASJRnhwCB0NujkTdo4jU+cJAnhQrd4aCnWC1o+rYWIWakVbyuzVbnCriUUSLAnn5CoJ2ob36TEgNzejBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + eslint-plugin-import-x@4.6.1: resolution: {integrity: sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2104,6 +2397,12 @@ packages: peerDependencies: eslint: '>=8.23.0' + eslint-plugin-n@17.18.0: + resolution: {integrity: sha512-hvZ/HusueqTJ7VDLoCpjN0hx4N4+jHIWTXD4TMLHy9F23XkDagR9v+xQWRWR57yY55GPF8NnD4ox9iGTxirY8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' + eslint-plugin-prettier@5.2.3: resolution: {integrity: sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2118,14 +2417,34 @@ packages: eslint-config-prettier: optional: true + eslint-plugin-prettier@5.4.0: + resolution: {integrity: sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + eslint-plugin-unicorn@57.0.0: resolution: {integrity: sha512-zUYYa6zfNdTeG9BISWDlcLmz16c+2Ck2o5ZDHh0UzXJz3DEP7xjmlVDTzbyV0W+XksgZ0q37WEWzN2D2Ze+g9Q==} engines: {node: '>=18.18'} peerDependencies: eslint: '>=9.20.0' - eslint-plugin-vue@10.1.0: - resolution: {integrity: sha512-/VTiJ1eSfNLw6lvG9ENySbGmcVvz6wZ9nA7ZqXlLBY2RkaF15iViYKxglWiIch12KiLAj0j1iXPYU6W4wTROFA==} + eslint-plugin-unicorn@59.0.1: + resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==} + engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} + peerDependencies: + eslint: '>=9.22.0' + + eslint-plugin-vue@10.2.0: + resolution: {integrity: sha512-tl9s+KN3z0hN2b8fV2xSs5ytGl7Esk1oSCxULLwFcdaElhZ8btYYZFrWxvh4En+czrSDtuLCeCOGa8HhEZuBdQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2143,8 +2462,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.26.0: - resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} + eslint@9.28.0: + resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2185,14 +2504,6 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - eventsource-parser@3.0.2: - resolution: {integrity: sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.7: - resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} - engines: {node: '>=18.0.0'} - evtd@0.2.4: resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} @@ -2200,27 +2511,20 @@ packages: resolution: {integrity: sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==} engines: {node: '>=18'} - execa@9.5.3: - resolution: {integrity: sha512-QFNnTvU3UjgWFy8Ef9iDHvIdcgZ344ebkwYx4/KLbR+CKQA4xBaHzv+iRpp86QfMHP8faFQLh8iOc57215y4Rg==} + execa@9.6.0: + resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} engines: {node: ^18.19.0 || >=20.5.0} expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} - express-rate-limit@7.5.0: - resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} - engines: {node: '>= 16'} - peerDependencies: - express: ^4.11 || 5 || ^5.0.0-beta.1 - - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} - exsolve@1.0.4: resolution: {integrity: sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==} + exsolve@1.0.5: + resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -2256,14 +2560,6 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fdir@6.4.4: resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} peerDependencies: @@ -2288,10 +2584,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} - find-up-simple@1.0.1: resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} engines: {node: '>=18'} @@ -2332,18 +2624,10 @@ packages: resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - fragment-cache@0.2.1: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -2435,6 +2719,10 @@ packages: resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} engines: {node: '>=18'} + globals@16.1.0: + resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} + engines: {node: '>=18'} + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -2525,22 +2813,14 @@ packages: htmlparser2@3.10.1: resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - human-signals@7.0.0: resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} engines: {node: '>=18.18.0'} - human-signals@8.0.0: - resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - icss-replace-symbols@1.1.0: resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} @@ -2554,6 +2834,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -2588,10 +2872,6 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - is-accessor-descriptor@1.0.1: resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} engines: {node: '>= 0.10'} @@ -2623,6 +2903,10 @@ packages: resolution: {integrity: sha512-rWP3AMAalQSesXO8gleROyL2iKU73SX5Er66losQn9rWOWL4Gef0a/xOEOVqjWGMuR2vHG3FJ8UUmT700O8oFg==} engines: {node: '>=18.20'} + is-builtin-module@5.0.0: + resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} + engines: {node: '>=18.20'} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -2717,9 +3001,6 @@ packages: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2962,14 +3243,6 @@ packages: mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} - - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} - merge-options@1.0.1: resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} engines: {node: '>=4'} @@ -3057,18 +3330,10 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -3122,8 +3387,8 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - naive-ui@2.41.0: - resolution: {integrity: sha512-KnmLg+xPLwXV8QVR7ZZ69eCjvel7R5vru8+eFe4VoAJHEgqAJgVph6Zno9K2IVQRpSF3GBGea3tjavslOR4FAA==} + naive-ui@2.41.1: + resolution: {integrity: sha512-TRv+GSCHnlbpiTJoz1xS1/l6Vn9/refjzJ6vFfXLuvBkSLB7ow6ERuLf2AQOqUrFSdM542EBJjoK1iM1S6X2lA==} peerDependencies: vue: ^3.0.0 @@ -3141,13 +3406,14 @@ packages: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} + napi-postinstall@0.2.4: + resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} - node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} @@ -3226,13 +3492,6 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} engines: {node: '>=18'} @@ -3263,8 +3522,8 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - package-manager-detector@1.1.0: - resolution: {integrity: sha512-Y8f9qUlBzW8qauJjd/eu6jlpJZsuPJm2ZAV0cDVd420o4EdpH5RPdoCv+60/TdJflGatr4sDfpAL6ArWZbM5tA==} + package-manager-detector@1.3.0: + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -3278,10 +3537,6 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} @@ -3312,10 +3567,6 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} - pathe@0.2.0: resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} @@ -3339,8 +3590,8 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pinia@3.0.2: - resolution: {integrity: sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==} + pinia@3.0.3: + resolution: {integrity: sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==} peerDependencies: typescript: '>=4.4.4' vue: ^2.7.0 || ^3.5.11 @@ -3348,10 +3599,6 @@ packages: typescript: optional: true - pkce-challenge@5.0.0: - resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} - engines: {node: '>=16.20.0'} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -3476,10 +3723,6 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -3501,17 +3744,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - rate-limiter-flexible@5.0.5: resolution: {integrity: sha512-+/dSQfo+3FYwYygUs/V2BBdwGa9nFtakDwKt4l0bnvNB53TNT++QSFewwHX9qXrZJuMe9j+TUaU21lm5ARgqdQ==} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} - rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} @@ -3611,10 +3846,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -3640,11 +3871,8 @@ packages: safe-regex@1.1.0: resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass@1.88.0: - resolution: {integrity: sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==} + sass@1.89.1: + resolution: {integrity: sha512-eMLLkl+qz7tx/0cJ9wI+w09GQ2zodTkcE/aVfywwdlRcI3EO19xGnbmJwg/JMIm+5MxVJ6outddLZ4Von4E++Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -3668,13 +3896,10 @@ packages: engines: {node: '>=10'} hasBin: true - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} - - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -3692,9 +3917,6 @@ packages: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3797,6 +4019,9 @@ packages: stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + stable-hash@0.0.5: + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} + stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' @@ -3805,10 +4030,6 @@ packages: resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} engines: {node: '>=0.10.0'} - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - strict-uri-encode@1.1.0: resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} @@ -3888,12 +4109,16 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} + engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.9.2: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} - tailwind-merge@3.2.0: - resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==} + tailwind-merge@3.3.0: + resolution: {integrity: sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==} tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} @@ -3908,14 +4133,17 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} tinyglobby@0.2.13: resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + tinymce@7.8.0: resolution: {integrity: sha512-MUER5MWV9mkOB4expgbWknh/C5ZJvOXQlMVSx4tJxTuYtcUCDB6bMZ34fWNOIc8LvrnXmGHGj0eGQuxjQyRgrA==} @@ -3935,10 +4163,6 @@ packages: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -3981,10 +4205,6 @@ packages: resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} engines: {node: '>=16'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -4047,10 +4267,6 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - unplugin-icons@22.1.0: resolution: {integrity: sha512-ect2ZNtk1Zgwb0NVHd0C1IDW/MV+Jk/xaq4t8o6rYdVS3+L660ZdD5kTSQZvsgdwCvquRw+/wYn75hsweRjoIA==} peerDependencies: @@ -4078,8 +4294,8 @@ packages: resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} engines: {node: '>=18.12.0'} - unplugin-vue-components@28.5.0: - resolution: {integrity: sha512-o7fMKU/uI8NiP+E0W62zoduuguWqB0obTfHFtbr1AP2uo2lhUPnPttWUE92yesdiYfo9/0hxIrj38FMc1eaySg==} + unplugin-vue-components@28.7.0: + resolution: {integrity: sha512-3SuWAHlTjOiZckqRBGXRdN/k6IMmKyt2Ch5/+DKwYaT321H0ItdZDvW4r8/YkEKQpN9TN3F/SZ0W342gQROC3Q==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -4103,6 +4319,9 @@ packages: resolution: {integrity: sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg==} engines: {node: '>=18.12.0'} + unrs-resolver@1.7.12: + resolution: {integrity: sha512-pfcdDxrVoUc5ZB3VCVJNSWbs63lgQVYLVw4k/rCr8Smi/V2Sxi1odEckVq6Zf803OtbYia1+YpiGCZoODfWLsQ==} + unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} @@ -4272,8 +4491,8 @@ packages: peerDependencies: vue: ^3.4.37 - vue-i18n@11.1.3: - resolution: {integrity: sha512-Pcylh9z9S5+CJAqgbRZ3EKxFIBIrtY5YUppU722GIT65+Nukm0TCqiQegZnNLCZkXGthxe0cpqj0AoM51H+6Gw==} + vue-i18n@11.1.5: + resolution: {integrity: sha512-XCwuaEA5AF97g1frvH/EI1zI9uo1XKTf2/OCFgts7NvUWRsjlgeHPrkJV+a3gpzai2pC4quZ4AnOHFO8QK9hsg==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 @@ -4289,8 +4508,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + vue@3.5.16: + resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4342,9 +4561,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} @@ -4356,9 +4572,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@21.1.1: @@ -4377,25 +4593,17 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} - peerDependencies: - zod: ^3.24.1 - - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} - zrender@5.6.1: resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==} snapshots: - '@alova/mock@2.0.14(alova@3.2.10)': + '@alova/mock@2.0.16(alova@3.3.0)': dependencies: - '@alova/shared': 1.1.2 - alova: 3.2.10 + '@alova/shared': 1.3.0 + alova: 3.3.0 - '@alova/shared@1.1.2': {} + '@alova/shared@1.3.0': {} '@ampproject/remapping@2.3.0': dependencies: @@ -4409,6 +4617,11 @@ snapshots: package-manager-detector: 0.2.11 tinyexec: 0.3.2 + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + '@antfu/utils@0.7.10': {} '@antfu/utils@8.1.1': {} @@ -4419,8 +4632,16 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.27.5': {} + '@babel/core@7.26.10': dependencies: '@ampproject/remapping': 2.3.0 @@ -4441,6 +4662,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.27.4': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.26.10': dependencies: '@babel/parser': 7.26.10 @@ -4449,10 +4690,22 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 + '@babel/generator@7.27.5': + dependencies: + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.25.9': dependencies: '@babel/types': 7.26.10 + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.27.6 + '@babel/helper-compilation-targets@7.26.5': dependencies: '@babel/compat-data': 7.26.8 @@ -4461,6 +4714,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.27.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4474,6 +4735,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.27.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-member-expression-to-functions@7.25.9': dependencies: '@babel/traverse': 7.26.10 @@ -4481,6 +4755,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-imports@7.25.9': dependencies: '@babel/traverse': 7.26.10 @@ -4488,6 +4769,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4497,12 +4785,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.25.9': dependencies: '@babel/types': 7.26.10 + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.27.6 + '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4512,6 +4815,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: '@babel/traverse': 7.26.10 @@ -4519,21 +4831,43 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} + '@babel/helpers@7.26.10': dependencies: '@babel/template': 7.26.9 '@babel/types': 7.26.10 + '@babel/helpers@7.27.6': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + '@babel/parser@7.26.10': dependencies: '@babel/types': 7.26.10 + '@babel/parser@7.27.5': + dependencies: + '@babel/types': 7.27.6 + '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4563,11 +4897,21 @@ snapshots: '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -4579,12 +4923,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': + dependencies: + '@babel/core': 7.27.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) + transitivePeerDependencies: + - supports-color + '@babel/template@7.26.9': dependencies: '@babel/code-frame': 7.26.2 '@babel/parser': 7.26.10 '@babel/types': 7.26.10 + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 + '@babel/traverse@7.26.10': dependencies: '@babel/code-frame': 7.26.2 @@ -4597,11 +4958,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.27.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.26.10': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.27.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@better-scroll/core@2.5.1': dependencies: '@better-scroll/shared-utils': 2.5.1 @@ -4612,9 +4990,9 @@ snapshots: dependencies: css-render: 0.15.14 - '@css-render/vue3-ssr@0.15.14(vue@3.5.13(typescript@5.8.3))': + '@css-render/vue3-ssr@0.15.14(vue@3.5.16(typescript@5.8.3))': dependencies: - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) '@elegant-router/core@0.3.8': dependencies: @@ -4635,6 +5013,22 @@ snapshots: recast: 0.23.9 unplugin: 1.12.0 + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true + '@emotion/hash@0.8.0': {} '@esbuild/aix-ppc64@0.25.1': @@ -4712,21 +5106,21 @@ snapshots: '@esbuild/win32-x64@0.25.1': optional: true - '@eslint-community/eslint-utils@4.5.1(eslint@9.26.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.5.1(eslint@9.28.0(jiti@2.4.2))': dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.7(eslint@9.26.0(jiti@2.4.2))': + '@eslint/compat@1.2.7(eslint@9.28.0(jiti@2.4.2))': optionalDependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) '@eslint/config-array@0.20.0': dependencies: @@ -4742,6 +5136,10 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.0': dependencies: ajv: 6.12.6 @@ -4774,6 +5172,8 @@ snapshots: '@eslint/js@9.26.0': {} + '@eslint/js@9.28.0': {} + '@eslint/object-schema@2.1.6': {} '@eslint/plugin-kit@0.2.8': @@ -4781,6 +5181,11 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 + '@eslint/plugin-kit@0.3.1': + dependencies: + '@eslint/core': 0.14.0 + levn: 0.4.1 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4794,7 +5199,7 @@ snapshots: '@humanwhocodes/retry@0.4.2': {} - '@iconify/json@2.2.337': + '@iconify/json@2.2.347': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -4814,22 +5219,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/vue@5.0.0(vue@3.5.13(typescript@5.8.3))': + '@iconify/vue@5.0.0(vue@3.5.16(typescript@5.8.3))': dependencies: '@iconify/types': 2.0.0 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) - '@intlify/core-base@11.1.3': + '@intlify/core-base@11.1.5': dependencies: - '@intlify/message-compiler': 11.1.3 - '@intlify/shared': 11.1.3 + '@intlify/message-compiler': 11.1.5 + '@intlify/shared': 11.1.5 - '@intlify/message-compiler@11.1.3': + '@intlify/message-compiler@11.1.5': dependencies: - '@intlify/shared': 11.1.3 + '@intlify/shared': 11.1.5 source-map-js: 1.2.1 - '@intlify/shared@11.1.3': {} + '@intlify/shared@11.1.5': {} '@isaacs/cliui@8.0.2': dependencies: @@ -4859,20 +5264,12 @@ snapshots: '@juggle/resize-observer@3.4.0': {} - '@modelcontextprotocol/sdk@1.11.3': + '@napi-rs/wasm-runtime@0.2.11': dependencies: - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - express: 5.1.0 - express-rate-limit: 7.5.0(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) - transitivePeerDependencies: - - supports-color + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4952,12 +5349,16 @@ snapshots: '@pkgr/core@0.1.1': {} + '@pkgr/core@0.2.7': {} + '@polka/url@1.0.0-next.28': {} '@quansync/fs@0.1.3': dependencies: quansync: 0.2.10 + '@rolldown/pluginutils@1.0.0-beta.13': {} + '@rollup/pluginutils@5.1.4(rollup@4.36.0)': dependencies: '@types/estree': 1.0.6 @@ -5027,9 +5428,9 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@soybeanjs/changelog@0.3.24(@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2)))': + '@soybeanjs/changelog@0.3.24(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2)))': dependencies: - '@soybeanjs/eslint-config': 1.6.0(@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) + '@soybeanjs/eslint-config': 1.6.0(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) cli-progress: 3.12.0 convert-gitmoji: 0.1.5 dayjs: 1.11.11 @@ -5056,22 +5457,22 @@ snapshots: - typescript - vue-eslint-parser - '@soybeanjs/eslint-config@1.6.0(@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2)))': + '@soybeanjs/eslint-config@1.6.0(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2)))': dependencies: '@antfu/eslint-define-config': 1.23.0-2 '@antfu/install-pkg': 1.0.0 '@eslint/eslintrc': 3.3.0 '@eslint/js': 9.22.0 - '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) - eslint-config-flat-gitignore: 2.1.0(eslint@9.26.0(jiti@2.4.2)) - eslint-config-prettier: 10.1.1(eslint@9.26.0(jiti@2.4.2)) + '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + eslint-config-flat-gitignore: 2.1.0(eslint@9.28.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.1(eslint@9.28.0(jiti@2.4.2)) eslint-parser-plain: 0.1.1 - eslint-plugin-import-x: 4.6.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint-plugin-n: 17.16.2(eslint@9.26.0(jiti@2.4.2)) - eslint-plugin-prettier: 5.2.3(eslint-config-prettier@10.1.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3) - eslint-plugin-unicorn: 57.0.0(eslint@9.26.0(jiti@2.4.2)) + eslint-plugin-import-x: 4.6.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-n: 17.16.2(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-prettier: 5.2.3(eslint-config-prettier@10.1.1(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3) + eslint-plugin-unicorn: 57.0.0(eslint@9.28.0(jiti@2.4.2)) globals: 16.0.0 local-pkg: 1.1.1 prettier: 3.5.3 @@ -5080,21 +5481,57 @@ snapshots: prompts: 2.4.2 typescript: 5.8.3 optionalDependencies: - '@unocss/eslint-config': 66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint-plugin-vue: 10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) - vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) + '@unocss/eslint-config': 66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-vue: 10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) + vue-eslint-parser: 10.1.3(eslint@9.28.0(jiti@2.4.2)) transitivePeerDependencies: - '@types/eslint' - supports-color - '@tinymce/tinymce-vue@6.1.0(tinymce@7.8.0)(vue@3.5.13(typescript@5.8.3))': + '@soybeanjs/eslint-config@1.6.1(@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2)))': dependencies: - vue: 3.5.13(typescript@5.8.3) + '@antfu/eslint-define-config': 1.23.0-2 + '@antfu/install-pkg': 1.1.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.26.0 + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + eslint-config-flat-gitignore: 2.1.0(eslint@9.28.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + eslint-parser-plain: 0.1.1 + eslint-plugin-import-x: 4.11.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-n: 17.18.0(eslint@9.28.0(jiti@2.4.2)) + eslint-plugin-prettier: 5.4.0(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3) + eslint-plugin-unicorn: 59.0.1(eslint@9.28.0(jiti@2.4.2)) + globals: 16.1.0 + local-pkg: 1.1.1 + prettier: 3.5.3 + prettier-plugin-jsdoc: 1.3.2(prettier@3.5.3) + prettier-plugin-json-sort: 0.0.2(prettier@3.5.3) + prompts: 2.4.2 + typescript: 5.8.3 + optionalDependencies: + '@unocss/eslint-config': 66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-vue: 10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))) + vue-eslint-parser: 10.1.3(eslint@9.28.0(jiti@2.4.2)) + transitivePeerDependencies: + - '@types/eslint' + - supports-color + + '@tinymce/tinymce-vue@6.1.0(tinymce@7.8.0)(vue@3.5.16(typescript@5.8.3))': + dependencies: + vue: 3.5.16(typescript@5.8.3) optionalDependencies: tinymce: 7.8.0 '@trysound/sax@0.2.0': {} + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/crypto-js@4.2.2': {} '@types/debug@4.1.12': @@ -5123,7 +5560,7 @@ snapshots: '@types/node@10.17.60': {} - '@types/node@22.15.17': + '@types/node@22.15.30': dependencies: undici-types: 6.21.0 @@ -5131,27 +5568,27 @@ snapshots: '@types/nprogress@0.2.3': {} - '@types/qs@6.9.18': {} + '@types/qs@6.14.0': {} '@types/sortablejs@1.15.8': {} '@types/svgo@2.6.4': dependencies: - '@types/node': 22.15.17 + '@types/node': 22.15.30 '@types/unist@3.0.3': {} '@types/web-bluetooth@0.0.21': {} - '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/type-utils': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.26.1 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -5160,14 +5597,43 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/type-utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.1 + eslint: 9.28.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.26.1 '@typescript-eslint/types': 8.26.1 '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.26.1 debug: 4.4.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.1 + debug: 4.4.0 + eslint: 9.28.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -5182,17 +5648,28 @@ snapshots: '@typescript-eslint/types': 8.32.1 '@typescript-eslint/visitor-keys': 8.32.1 - '@typescript-eslint/type-utils@8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) debug: 4.4.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) ts-api-utils: 2.0.1(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.0 + eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.26.1': {} '@typescript-eslint/types@8.32.1': {} @@ -5225,24 +5702,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.28.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.26.1 '@typescript-eslint/types': 8.26.1 '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.32.1 '@typescript-eslint/types': 8.32.1 '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -5257,27 +5734,27 @@ snapshots: '@typescript-eslint/types': 8.32.1 eslint-visitor-keys: 4.2.0 - '@unocss/config@66.1.1': + '@unocss/config@66.1.4': dependencies: - '@unocss/core': 66.1.1 + '@unocss/core': 66.1.4 unconfig: 7.3.2 - '@unocss/core@66.1.1': {} + '@unocss/core@66.1.4': {} - '@unocss/eslint-config@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@unocss/eslint-config@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@unocss/eslint-plugin': 66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@unocss/eslint-plugin': 66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) transitivePeerDependencies: - eslint - supports-color - typescript - '@unocss/eslint-plugin@66.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@unocss/eslint-plugin@66.1.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@unocss/config': 66.1.1 - '@unocss/core': 66.1.1 - '@unocss/rule-utils': 66.1.1 + '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@unocss/config': 66.1.4 + '@unocss/core': 66.1.4 + '@unocss/rule-utils': 66.1.4 magic-string: 0.30.17 synckit: 0.9.2 transitivePeerDependencies: @@ -5285,90 +5762,144 @@ snapshots: - supports-color - typescript - '@unocss/extractor-arbitrary-variants@66.1.1': + '@unocss/extractor-arbitrary-variants@66.1.4': dependencies: - '@unocss/core': 66.1.1 + '@unocss/core': 66.1.4 - '@unocss/inspector@66.1.1(vue@3.5.13(typescript@5.8.3))': + '@unocss/inspector@66.1.4(vue@3.5.16(typescript@5.8.3))': dependencies: - '@unocss/core': 66.1.1 - '@unocss/rule-utils': 66.1.1 + '@unocss/core': 66.1.4 + '@unocss/rule-utils': 66.1.4 colorette: 2.0.20 gzip-size: 6.0.0 sirv: 3.0.1 - vue-flow-layout: 0.1.1(vue@3.5.13(typescript@5.8.3)) + vue-flow-layout: 0.1.1(vue@3.5.16(typescript@5.8.3)) transitivePeerDependencies: - vue - '@unocss/preset-icons@66.1.1': + '@unocss/preset-icons@66.1.4': dependencies: '@iconify/utils': 2.3.0 - '@unocss/core': 66.1.1 + '@unocss/core': 66.1.4 ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@66.1.1': + '@unocss/preset-mini@66.1.4': dependencies: - '@unocss/core': 66.1.1 - '@unocss/extractor-arbitrary-variants': 66.1.1 - '@unocss/rule-utils': 66.1.1 + '@unocss/core': 66.1.4 + '@unocss/extractor-arbitrary-variants': 66.1.4 + '@unocss/rule-utils': 66.1.4 - '@unocss/preset-uno@66.1.1': + '@unocss/preset-uno@66.1.4': dependencies: - '@unocss/core': 66.1.1 - '@unocss/preset-wind3': 66.1.1 + '@unocss/core': 66.1.4 + '@unocss/preset-wind3': 66.1.4 - '@unocss/preset-wind3@66.1.1': + '@unocss/preset-wind3@66.1.4': dependencies: - '@unocss/core': 66.1.1 - '@unocss/preset-mini': 66.1.1 - '@unocss/rule-utils': 66.1.1 + '@unocss/core': 66.1.4 + '@unocss/preset-mini': 66.1.4 + '@unocss/rule-utils': 66.1.4 - '@unocss/rule-utils@66.1.1': + '@unocss/rule-utils@66.1.4': dependencies: - '@unocss/core': 66.1.1 + '@unocss/core': 66.1.4 magic-string: 0.30.17 - '@unocss/transformer-directives@66.1.1': + '@unocss/transformer-directives@66.1.4': dependencies: - '@unocss/core': 66.1.1 - '@unocss/rule-utils': 66.1.1 + '@unocss/core': 66.1.4 + '@unocss/rule-utils': 66.1.4 css-tree: 3.1.0 - '@unocss/transformer-variant-group@66.1.1': + '@unocss/transformer-variant-group@66.1.4': dependencies: - '@unocss/core': 66.1.1 + '@unocss/core': 66.1.4 - '@unocss/vite@66.1.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3))': + '@unocss/vite@66.1.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.1.1 - '@unocss/core': 66.1.1 - '@unocss/inspector': 66.1.1(vue@3.5.13(typescript@5.8.3)) + '@unocss/config': 66.1.4 + '@unocss/core': 66.1.4 + '@unocss/inspector': 66.1.4(vue@3.5.16(typescript@5.8.3)) chokidar: 3.6.0 magic-string: 0.30.17 pathe: 2.0.3 tinyglobby: 0.2.13 unplugin-utils: 0.2.4 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - vue - '@vitejs/plugin-vue-jsx@4.1.2(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3))': + '@unrs/resolver-binding-darwin-arm64@1.7.12': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.7.12': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.7.12': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.7.12': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.7.12': dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.10) - '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.26.10) - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) - vue: 3.5.13(typescript@5.8.3) + '@napi-rs/wasm-runtime': 0.2.11 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.7.12': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.7.12': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.7.12': + optional: true + + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + dependencies: + '@babel/core': 7.27.4 + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) + '@rolldown/pluginutils': 1.0.0-beta.13 + '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.4) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) + vue: 3.5.16(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) - vue: 3.5.13(typescript@5.8.3) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) + vue: 3.5.16(typescript@5.8.3) '@volar/language-core@2.4.12': dependencies: @@ -5400,6 +5931,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@vue/babel-plugin-jsx@1.4.0(@babel/core@7.27.4)': + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.27.4) + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.10 + '@babel/types': 7.26.10 + '@vue/babel-helper-vue-transform-on': 1.4.0 + '@vue/babel-plugin-resolve-type': 1.4.0(@babel/core@7.27.4) + '@vue/shared': 3.5.13 + optionalDependencies: + '@babel/core': 7.27.4 + transitivePeerDependencies: + - supports-color + '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.26.10)': dependencies: '@babel/code-frame': 7.26.2 @@ -5411,6 +5958,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.27.4)': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/core': 7.27.4 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/parser': 7.26.10 + '@vue/compiler-sfc': 3.5.13 + transitivePeerDependencies: + - supports-color + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.26.10 @@ -5419,11 +5977,24 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 + '@vue/compiler-core@3.5.16': + dependencies: + '@babel/parser': 7.27.5 + '@vue/shared': 3.5.16 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + '@vue/compiler-dom@3.5.13': dependencies: '@vue/compiler-core': 3.5.13 '@vue/shared': 3.5.13 + '@vue/compiler-dom@3.5.16': + dependencies: + '@vue/compiler-core': 3.5.16 + '@vue/shared': 3.5.16 + '@vue/compiler-sfc@3.5.13': dependencies: '@babel/parser': 7.26.10 @@ -5436,11 +6007,28 @@ snapshots: postcss: 8.5.3 source-map-js: 1.2.1 + '@vue/compiler-sfc@3.5.16': + dependencies: + '@babel/parser': 7.27.5 + '@vue/compiler-core': 3.5.16 + '@vue/compiler-dom': 3.5.16 + '@vue/compiler-ssr': 3.5.16 + '@vue/shared': 3.5.16 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.3 + source-map-js: 1.2.1 + '@vue/compiler-ssr@3.5.13': dependencies: '@vue/compiler-dom': 3.5.13 '@vue/shared': 3.5.13 + '@vue/compiler-ssr@3.5.16': + dependencies: + '@vue/compiler-dom': 3.5.16 + '@vue/shared': 3.5.16 + '@vue/compiler-vue2@2.7.16': dependencies: de-indent: 1.0.2 @@ -5450,30 +6038,20 @@ snapshots: '@vue/devtools-api@7.7.2': dependencies: - '@vue/devtools-kit': 7.7.2 + '@vue/devtools-kit': 7.7.6 - '@vue/devtools-core@7.7.6(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3))': + '@vue/devtools-core@7.7.6(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 7.7.6 '@vue/devtools-shared': 7.7.6 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) - vue: 3.5.13(typescript@5.8.3) + vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) + vue: 3.5.16(typescript@5.8.3) transitivePeerDependencies: - vite - '@vue/devtools-kit@7.7.2': - dependencies: - '@vue/devtools-shared': 7.7.2 - birpc: 0.2.19 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - superjson: 2.2.2 - '@vue/devtools-kit@7.7.6': dependencies: '@vue/devtools-shared': 7.7.6 @@ -5484,10 +6062,6 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.2': - dependencies: - rfdc: 1.4.1 - '@vue/devtools-shared@7.7.6': dependencies: rfdc: 1.4.1 @@ -5505,47 +6079,44 @@ snapshots: optionalDependencies: typescript: 5.8.3 - '@vue/reactivity@3.5.13': + '@vue/reactivity@3.5.16': dependencies: - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.16 - '@vue/runtime-core@3.5.13': + '@vue/runtime-core@3.5.16': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.16 + '@vue/shared': 3.5.16 - '@vue/runtime-dom@3.5.13': + '@vue/runtime-dom@3.5.16': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.16 + '@vue/runtime-core': 3.5.16 + '@vue/shared': 3.5.16 csstype: 3.1.3 - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))': + '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.8.3))': dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.8.3) + '@vue/compiler-ssr': 3.5.16 + '@vue/shared': 3.5.16 + vue: 3.5.16(typescript@5.8.3) '@vue/shared@3.5.13': {} - '@vueuse/core@13.1.0(vue@3.5.13(typescript@5.8.3))': + '@vue/shared@3.5.16': {} + + '@vueuse/core@13.3.0(vue@3.5.16(typescript@5.8.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.1.0 - '@vueuse/shared': 13.1.0(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) + '@vueuse/metadata': 13.3.0 + '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) + vue: 3.5.16(typescript@5.8.3) - '@vueuse/metadata@13.1.0': {} + '@vueuse/metadata@13.3.0': {} - '@vueuse/shared@13.1.0(vue@3.5.13(typescript@5.8.3))': + '@vueuse/shared@13.3.0(vue@3.5.16(typescript@5.8.3))': dependencies: - vue: 3.5.13(typescript@5.8.3) - - accepts@2.0.0: - dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 + vue: 3.5.16(typescript@5.8.3) acorn-jsx@5.3.2(acorn@8.14.1): dependencies: @@ -5562,9 +6133,9 @@ snapshots: alien-signals@1.0.4: {} - alova@3.2.10: + alova@3.3.0: dependencies: - '@alova/shared': 1.1.2 + '@alova/shared': 1.3.0 rate-limiter-flexible: 5.0.5 ansi-colors@4.1.3: {} @@ -5583,7 +6154,7 @@ snapshots: ansi-styles@6.2.1: {} - ansis@3.17.0: {} + ansis@4.1.0: {} anymatch@3.1.3: dependencies: @@ -5666,26 +6237,10 @@ snapshots: binary-searching@2.0.5: {} - birpc@0.2.19: {} - birpc@2.3.0: {} bluebird@3.7.2: {} - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.0 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - boolbase@1.0.0: {} brace-expansion@1.1.11: @@ -5725,19 +6280,21 @@ snapshots: builtin-modules@4.0.0: {} - bumpp@10.1.0: + builtin-modules@5.0.0: {} + + bumpp@10.1.1: dependencies: - ansis: 3.17.0 + ansis: 4.1.0 args-tokenizer: 0.3.0 - c12: 3.0.3 + c12: 3.0.4 cac: 6.7.14 escalade: 3.2.0 jsonc-parser: 3.3.1 - package-manager-detector: 1.1.0 - semver: 7.7.1 - tinyexec: 0.3.2 - tinyglobby: 0.2.12 - yaml: 2.7.0 + package-manager-detector: 1.3.0 + semver: 7.7.2 + tinyexec: 1.0.1 + tinyglobby: 0.2.13 + yaml: 2.8.0 transitivePeerDependencies: - magicast @@ -5745,15 +6302,13 @@ snapshots: dependencies: run-applescript: 7.0.0 - bytes@3.1.2: {} - - c12@3.0.3: + c12@3.0.4: dependencies: chokidar: 4.0.3 confbox: 0.2.2 defu: 6.1.4 - dotenv: 16.4.7 - exsolve: 1.0.4 + dotenv: 16.5.0 + exsolve: 1.0.5 giget: 2.0.0 jiti: 2.4.2 ohash: 2.0.11 @@ -5902,20 +6457,10 @@ snapshots: consola@3.4.2: {} - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - convert-gitmoji@0.1.5: {} convert-source-map@2.0.0: {} - cookie-signature@1.2.2: {} - - cookie@0.7.2: {} - copy-anything@3.0.5: dependencies: is-what: 4.1.16 @@ -6018,6 +6563,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.1: + dependencies: + ms: 2.1.3 + decode-named-character-reference@1.1.0: dependencies: character-entities: 2.0.2 @@ -6066,8 +6615,6 @@ snapshots: delegate@3.2.0: {} - depd@2.0.0: {} - dequal@2.0.3: {} destr@2.0.3: {} @@ -6117,7 +6664,7 @@ snapshots: domelementtype: 2.3.0 domhandler: 4.3.1 - dotenv@16.4.7: {} + dotenv@16.5.0: {} dunder-proto@1.0.1: dependencies: @@ -6136,8 +6683,6 @@ snapshots: tslib: 2.3.0 zrender: 5.6.1 - ee-first@1.1.1: {} - electron-to-chromium@1.5.120: {} emoji-regex@8.0.0: {} @@ -6146,8 +6691,6 @@ snapshots: emojis-list@3.0.0: {} - encodeurl@2.0.0: {} - enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 @@ -6271,25 +6814,27 @@ snapshots: escalade@3.2.0: {} - escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.26.0(jiti@2.4.2)): + eslint-compat-utils@0.5.1(eslint@9.28.0(jiti@2.4.2)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) semver: 7.7.1 - eslint-config-flat-gitignore@2.1.0(eslint@9.26.0(jiti@2.4.2)): + eslint-config-flat-gitignore@2.1.0(eslint@9.28.0(jiti@2.4.2)): dependencies: - '@eslint/compat': 1.2.7(eslint@9.26.0(jiti@2.4.2)) - eslint: 9.26.0(jiti@2.4.2) + '@eslint/compat': 1.2.7(eslint@9.28.0(jiti@2.4.2)) + eslint: 9.28.0(jiti@2.4.2) - eslint-config-prettier@10.1.1(eslint@9.26.0(jiti@2.4.2)): + eslint-config-prettier@10.1.1(eslint@9.28.0(jiti@2.4.2)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) + + eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)): + dependencies: + eslint: 9.28.0(jiti@2.4.2) eslint-import-resolver-node@0.3.9: dependencies: @@ -6301,22 +6846,40 @@ snapshots: eslint-parser-plain@0.1.1: {} - eslint-plugin-es-x@7.8.0(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-es-x@7.8.0(eslint@9.28.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.28.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.26.0(jiti@2.4.2) - eslint-compat-utils: 0.5.1(eslint@9.26.0(jiti@2.4.2)) + eslint: 9.28.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-import-x@4.6.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + eslint-plugin-import-x@4.11.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/utils': 8.32.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + comment-parser: 1.4.1 + debug: 4.4.0 + eslint: 9.28.0(jiti@2.4.2) + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.10.0 + is-glob: 4.0.3 + minimatch: 10.0.1 + semver: 7.7.1 + stable-hash: 0.0.5 + tslib: 2.8.1 + unrs-resolver: 1.7.12 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-import-x@4.6.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3): dependencies: '@types/doctrine': 0.0.9 '@typescript-eslint/scope-manager': 8.26.1 - '@typescript-eslint/utils': 8.26.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.26.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) debug: 4.4.0 doctrine: 3.0.0 enhanced-resolve: 5.18.1 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.10.0 is-glob: 4.0.3 @@ -6328,35 +6891,56 @@ snapshots: - supports-color - typescript - eslint-plugin-n@17.16.2(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-n@17.16.2(eslint@9.28.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.28.0(jiti@2.4.2)) enhanced-resolve: 5.18.1 - eslint: 9.26.0(jiti@2.4.2) - eslint-plugin-es-x: 7.8.0(eslint@9.26.0(jiti@2.4.2)) + eslint: 9.28.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.28.0(jiti@2.4.2)) get-tsconfig: 4.10.0 globals: 15.15.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.7.1 - eslint-plugin-prettier@5.2.3(eslint-config-prettier@10.1.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3): + eslint-plugin-n@17.18.0(eslint@9.28.0(jiti@2.4.2)): dependencies: - eslint: 9.26.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + enhanced-resolve: 5.18.1 + eslint: 9.28.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.28.0(jiti@2.4.2)) + get-tsconfig: 4.10.0 + globals: 15.15.0 + ignore: 5.3.2 + minimatch: 9.0.5 + semver: 7.7.1 + + eslint-plugin-prettier@5.2.3(eslint-config-prettier@10.1.1(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3): + dependencies: + eslint: 9.28.0(jiti@2.4.2) prettier: 3.5.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 optionalDependencies: - eslint-config-prettier: 10.1.1(eslint@9.26.0(jiti@2.4.2)) + eslint-config-prettier: 10.1.1(eslint@9.28.0(jiti@2.4.2)) - eslint-plugin-unicorn@57.0.0(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-prettier@5.4.0(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(prettier@3.5.3): + dependencies: + eslint: 9.28.0(jiti@2.4.2) + prettier: 3.5.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.11.8 + optionalDependencies: + eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@2.4.2)) + + eslint-plugin-unicorn@57.0.0(eslint@9.28.0(jiti@2.4.2)): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.28.0(jiti@2.4.2)) ci-info: 4.2.0 clean-regexp: 1.0.0 core-js-compat: 3.41.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) esquery: 1.6.0 globals: 15.15.0 indent-string: 5.0.0 @@ -6369,15 +6953,36 @@ snapshots: semver: 7.7.1 strip-indent: 4.0.0 - eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))): + eslint-plugin-unicorn@59.0.1(eslint@9.28.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) - eslint: 9.26.0(jiti@2.4.2) + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@eslint/plugin-kit': 0.2.8 + ci-info: 4.2.0 + clean-regexp: 1.0.0 + core-js-compat: 3.41.0 + eslint: 9.28.0(jiti@2.4.2) + esquery: 1.6.0 + find-up-simple: 1.0.1 + globals: 16.1.0 + indent-string: 5.0.0 + is-builtin-module: 5.0.0 + jsesc: 3.1.0 + pluralize: 8.0.0 + regexp-tree: 0.1.27 + regjsparser: 0.12.0 + semver: 7.7.1 + strip-indent: 4.0.0 + + eslint-plugin-vue@10.2.0(eslint@9.28.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2))): + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + eslint: 9.28.0(jiti@2.4.2) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.7.1 - vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) + vue-eslint-parser: 10.1.3(eslint@9.28.0(jiti@2.4.2)) xml-name-validator: 4.0.0 eslint-scope@8.3.0: @@ -6389,20 +6994,19 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.26.0(jiti@2.4.2): + eslint@9.28.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.2 - '@eslint/core': 0.13.0 + '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.2.8 + '@eslint/js': 9.28.0 + '@eslint/plugin-kit': 0.3.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 - '@modelcontextprotocol/sdk': 1.11.3 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -6427,7 +7031,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.4 optionalDependencies: jiti: 2.4.2 transitivePeerDependencies: @@ -6457,12 +7060,6 @@ snapshots: etag@1.8.1: {} - eventsource-parser@3.0.2: {} - - eventsource@3.0.7: - dependencies: - eventsource-parser: 3.0.2 - evtd@0.2.4: {} execa@9.1.0: @@ -6480,13 +7077,13 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - execa@9.5.3: + execa@9.6.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 - human-signals: 8.0.0 + human-signals: 8.0.1 is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 @@ -6507,44 +7104,10 @@ snapshots: transitivePeerDependencies: - supports-color - express-rate-limit@7.5.0(express@5.1.0): - dependencies: - express: 5.1.0 - - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.1 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - exsolve@1.0.4: {} + exsolve@1.0.5: {} + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -6595,10 +7158,6 @@ snapshots: dependencies: reusify: 1.1.0 - fdir@6.4.3(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - fdir@6.4.4(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -6622,17 +7181,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - find-up-simple@1.0.1: {} find-up@5.0.0: @@ -6667,14 +7215,10 @@ snapshots: es-set-tostringtag: 2.1.0 mime-types: 2.1.35 - forwarded@0.2.0: {} - fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 - fresh@2.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -6785,6 +7329,8 @@ snapshots: globals@16.0.0: {} + globals@16.1.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -6870,21 +7416,9 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - human-signals@7.0.0: {} - human-signals@8.0.0: {} - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 + human-signals@8.0.1: {} icss-replace-symbols@1.1.0: {} @@ -6894,6 +7428,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + image-size@0.5.5: {} immediate@3.0.6: {} @@ -6919,8 +7455,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - ipaddr.js@1.9.1: {} - is-accessor-descriptor@1.0.1: dependencies: hasown: 2.0.2 @@ -6958,6 +7492,10 @@ snapshots: dependencies: builtin-modules: 4.0.0 + is-builtin-module@5.0.0: + dependencies: + builtin-modules: 5.0.0 + is-callable@1.2.7: {} is-core-module@2.16.1: @@ -7041,8 +7579,6 @@ snapshots: dependencies: isobject: 3.0.1 - is-promise@4.0.0: {} - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -7268,10 +7804,6 @@ snapshots: mdn-data@2.12.2: {} - media-typer@1.1.0: {} - - merge-descriptors@2.0.0: {} - merge-options@1.0.1: dependencies: is-plain-obj: 1.1.0 @@ -7441,16 +7973,10 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: {} - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - min-indent@1.0.1: {} minimatch@10.0.1: @@ -7495,10 +8021,10 @@ snapshots: muggle-string@0.4.1: {} - naive-ui@2.41.0(vue@3.5.13(typescript@5.8.3)): + naive-ui@2.41.1(vue@3.5.16(typescript@5.8.3)): dependencies: '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) - '@css-render/vue3-ssr': 0.15.14(vue@3.5.13(typescript@5.8.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.16(typescript@5.8.3)) '@types/katex': 0.16.7 '@types/lodash': 4.17.16 '@types/lodash-es': 4.17.12 @@ -7513,10 +8039,10 @@ snapshots: lodash-es: 4.17.21 seemly: 0.3.10 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.5.13(typescript@5.8.3)) - vooks: 0.2.12(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) - vueuc: 0.4.64(vue@3.5.13(typescript@5.8.3)) + vdirs: 0.1.8(vue@3.5.16(typescript@5.8.3)) + vooks: 0.2.12(vue@3.5.16(typescript@5.8.3)) + vue: 3.5.16(typescript@5.8.3) + vueuc: 0.4.64(vue@3.5.16(typescript@5.8.3)) nanoid@3.3.11: {} @@ -7538,9 +8064,9 @@ snapshots: transitivePeerDependencies: - supports-color - natural-compare@1.4.0: {} + napi-postinstall@0.2.4: {} - negotiator@1.0.0: {} + natural-compare@1.4.0: {} node-addon-api@7.1.1: optional: true @@ -7625,14 +8151,6 @@ snapshots: ohash@2.0.11: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - open@10.1.0: dependencies: default-browser: 5.2.1 @@ -7671,7 +8189,7 @@ snapshots: dependencies: quansync: 0.2.10 - package-manager-detector@1.1.0: {} + package-manager-detector@1.3.0: {} parent-module@1.0.1: dependencies: @@ -7685,8 +8203,6 @@ snapshots: parse-ms@4.0.0: {} - parseurl@1.3.3: {} - pascalcase@0.1.1: {} path-browserify@1.0.1: {} @@ -7709,8 +8225,6 @@ snapshots: lru-cache: 11.0.2 minipass: 7.1.2 - path-to-regexp@8.2.0: {} - pathe@0.2.0: {} pathe@1.1.2: {} @@ -7725,15 +8239,13 @@ snapshots: picomatch@4.0.2: {} - pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)): + pinia@3.0.3(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3)): dependencies: '@vue/devtools-api': 7.7.2 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) optionalDependencies: typescript: 5.8.3 - pkce-challenge@5.0.0: {} - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -7859,11 +8371,6 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - proxy-from-env@1.1.0: {} punycode@2.3.1: {} @@ -7881,17 +8388,8 @@ snapshots: queue-microtask@1.2.3: {} - range-parser@1.2.1: {} - rate-limiter-flexible@5.0.5: {} - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - rc9@2.1.2: dependencies: defu: 6.1.4 @@ -8020,16 +8518,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.36.0 fsevents: 2.3.3 - router@2.2.0: - dependencies: - debug: 4.4.0 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.2.0 - transitivePeerDependencies: - - supports-color - run-applescript@7.0.0: {} run-parallel@1.2.0: @@ -8061,9 +8549,7 @@ snapshots: dependencies: ret: 0.1.15 - safer-buffer@2.1.2: {} - - sass@1.88.0: + sass@1.89.1: dependencies: chokidar: 4.0.3 immutable: 5.0.3 @@ -8081,30 +8567,7 @@ snapshots: semver@7.7.1: {} - send@1.2.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color + semver@7.7.2: {} set-function-length@1.2.2: dependencies: @@ -8135,8 +8598,6 @@ snapshots: is-plain-object: 2.0.4 split-string: 3.1.0 - setprototypeof@1.2.0: {} - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -8180,11 +8641,11 @@ snapshots: lodash: 4.17.21 lodash-es: 4.17.21 - simplebar-vue@2.4.1(vue@3.5.13(typescript@5.8.3)): + simplebar-vue@2.4.1(vue@3.5.16(typescript@5.8.3)): dependencies: simplebar-core: 1.3.1 - vue: 3.5.13(typescript@5.8.3) - vue-demi: 0.13.11(vue@3.5.13(typescript@5.8.3)) + vue: 3.5.16(typescript@5.8.3) + vue-demi: 0.13.11(vue@3.5.16(typescript@5.8.3)) transitivePeerDependencies: - '@vue/composition-api' @@ -8257,6 +8718,8 @@ snapshots: stable-hash@0.0.4: {} + stable-hash@0.0.5: {} + stable@0.1.8: {} static-extend@0.1.2: @@ -8264,8 +8727,6 @@ snapshots: define-property: 0.2.5 object-copy: 0.1.0 - statuses@2.0.1: {} - strict-uri-encode@1.1.0: {} string-width@4.2.3: @@ -8371,12 +8832,16 @@ snapshots: picocolors: 1.1.1 stable: 0.1.8 + synckit@0.11.8: + dependencies: + '@pkgr/core': 0.2.7 + synckit@0.9.2: dependencies: '@pkgr/core': 0.1.1 tslib: 2.8.1 - tailwind-merge@3.2.0: {} + tailwind-merge@3.3.0: {} tapable@2.2.1: {} @@ -8386,16 +8851,18 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.12: - dependencies: - fdir: 6.4.3(picomatch@4.0.2) - picomatch: 4.0.2 + tinyexec@1.0.1: {} tinyglobby@0.2.13: dependencies: fdir: 6.4.4(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + tinymce@7.8.0: {} to-object-path@0.3.0: @@ -8418,8 +8885,6 @@ snapshots: regex-not: 1.0.2 safe-regex: 1.1.0 - toidentifier@1.0.1: {} - totalist@3.0.1: {} traverse@0.6.11: @@ -8455,12 +8920,6 @@ snapshots: type-fest@4.37.0: {} - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -8558,9 +9017,7 @@ snapshots: universalify@2.0.1: {} - unpipe@1.0.0: {} - - unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.13): + unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.16): dependencies: '@antfu/install-pkg': 1.0.0 '@iconify/utils': 2.3.0 @@ -8568,7 +9025,7 @@ snapshots: local-pkg: 1.1.1 unplugin: 2.2.1 optionalDependencies: - '@vue/compiler-sfc': 3.5.13 + '@vue/compiler-sfc': 3.5.16 transitivePeerDependencies: - supports-color @@ -8577,19 +9034,19 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.2 - unplugin-vue-components@28.5.0(@babel/parser@7.26.10)(vue@3.5.13(typescript@5.8.3)): + unplugin-vue-components@28.7.0(@babel/parser@7.27.5)(vue@3.5.16(typescript@5.8.3)): dependencies: chokidar: 3.6.0 - debug: 4.4.0 + debug: 4.4.1 local-pkg: 1.1.1 magic-string: 0.30.17 mlly: 1.7.4 - tinyglobby: 0.2.13 + tinyglobby: 0.2.14 unplugin: 2.3.4 unplugin-utils: 0.2.4 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) optionalDependencies: - '@babel/parser': 7.26.10 + '@babel/parser': 7.27.5 transitivePeerDependencies: - supports-color @@ -8611,6 +9068,28 @@ snapshots: picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 + unrs-resolver@1.7.12: + dependencies: + napi-postinstall: 0.2.4 + optionalDependencies: + '@unrs/resolver-binding-darwin-arm64': 1.7.12 + '@unrs/resolver-binding-darwin-x64': 1.7.12 + '@unrs/resolver-binding-freebsd-x64': 1.7.12 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.12 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.12 + '@unrs/resolver-binding-linux-arm64-gnu': 1.7.12 + '@unrs/resolver-binding-linux-arm64-musl': 1.7.12 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.12 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.12 + '@unrs/resolver-binding-linux-riscv64-musl': 1.7.12 + '@unrs/resolver-binding-linux-s390x-gnu': 1.7.12 + '@unrs/resolver-binding-linux-x64-gnu': 1.7.12 + '@unrs/resolver-binding-linux-x64-musl': 1.7.12 + '@unrs/resolver-binding-wasm32-wasi': 1.7.12 + '@unrs/resolver-binding-win32-arm64-msvc': 1.7.12 + '@unrs/resolver-binding-win32-ia32-msvc': 1.7.12 + '@unrs/resolver-binding-win32-x64-msvc': 1.7.12 + unset-value@1.0.0: dependencies: has-value: 0.3.1 @@ -8639,16 +9118,16 @@ snapshots: vary@1.1.2: {} - vdirs@0.1.8(vue@3.5.13(typescript@5.8.3)): + vdirs@0.1.8(vue@3.5.16(typescript@5.8.3)): dependencies: evtd: 0.2.4 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) - vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) - vite-plugin-inspect@0.8.9(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-plugin-inspect@0.8.9(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.4(rollup@4.36.0) @@ -8659,7 +9138,7 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.1 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - rollup - supports-color @@ -8668,23 +9147,23 @@ snapshots: dependencies: monaco-editor: 0.52.2 - vite-plugin-progress@0.0.7(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-plugin-progress@0.0.7(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: picocolors: 1.1.1 progress: 2.0.3 rd: 2.0.1 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) - vite-plugin-static-copy@3.0.0(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-plugin-static-copy@3.0.0(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.0 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.13 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) - vite-plugin-svg-icons@2.0.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-plugin-svg-icons@2.0.1(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@types/svgo': 2.6.4 cors: 2.8.5 @@ -8694,27 +9173,27 @@ snapshots: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.7.6(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)): + vite-plugin-vue-devtools@7.7.6(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)): dependencies: - '@vue/devtools-core': 7.7.6(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.3)) + '@vue/devtools-core': 7.7.6(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) '@vue/devtools-kit': 7.7.6 '@vue/devtools-shared': 7.7.6 - execa: 9.5.3 + execa: 9.6.0 sirv: 3.0.1 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) - vite-plugin-inspect: 0.8.9(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) - vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) + vite-plugin-inspect: 0.8.9(rollup@4.36.0)(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) + vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0)): + vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@babel/core': 7.26.10 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.10) @@ -8725,11 +9204,11 @@ snapshots: '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.17 - vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(sass@1.88.0)(tsx@4.19.4)(yaml@2.7.0): + vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(sass@1.89.1)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.1 fdir: 6.4.4(picomatch@4.0.2) @@ -8738,39 +9217,39 @@ snapshots: rollup: 4.36.0 tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 22.15.17 + '@types/node': 22.15.30 fsevents: 2.3.3 jiti: 2.4.2 - sass: 1.88.0 + sass: 1.89.1 tsx: 4.19.4 - yaml: 2.7.0 + yaml: 2.8.0 - vooks@0.2.12(vue@3.5.13(typescript@5.8.3)): + vooks@0.2.12(vue@3.5.16(typescript@5.8.3)): dependencies: evtd: 0.2.4 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) vscode-uri@3.1.0: {} - vue-advanced-cropper@2.8.9(vue@3.5.13(typescript@5.8.3)): + vue-advanced-cropper@2.8.9(vue@3.5.16(typescript@5.8.3)): dependencies: classnames: 2.5.1 debounce: 1.2.1 easy-bem: 1.1.1 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) - vue-demi@0.13.11(vue@3.5.13(typescript@5.8.3)): + vue-demi@0.13.11(vue@3.5.16(typescript@5.8.3)): dependencies: - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) vue-draggable-plus@0.6.0(@types/sortablejs@1.15.8): dependencies: '@types/sortablejs': 1.15.8 - vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2)): + vue-eslint-parser@10.1.3(eslint@9.28.0(jiti@2.4.2)): dependencies: debug: 4.4.0 - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.28.0(jiti@2.4.2) eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -8780,21 +9259,21 @@ snapshots: transitivePeerDependencies: - supports-color - vue-flow-layout@0.1.1(vue@3.5.13(typescript@5.8.3)): + vue-flow-layout@0.1.1(vue@3.5.16(typescript@5.8.3)): dependencies: - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) - vue-i18n@11.1.3(vue@3.5.13(typescript@5.8.3)): + vue-i18n@11.1.5(vue@3.5.16(typescript@5.8.3)): dependencies: - '@intlify/core-base': 11.1.3 - '@intlify/shared': 11.1.3 + '@intlify/core-base': 11.1.5 + '@intlify/shared': 11.1.5 '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) - vue-router@4.5.1(vue@3.5.13(typescript@5.8.3)): + vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.8.3) + vue: 3.5.16(typescript@5.8.3) vue-tsc@2.2.10(typescript@5.8.3): dependencies: @@ -8802,26 +9281,26 @@ snapshots: '@vue/language-core': 2.2.10(typescript@5.8.3) typescript: 5.8.3 - vue@3.5.13(typescript@5.8.3): + vue@3.5.16(typescript@5.8.3): dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.3)) - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.16 + '@vue/compiler-sfc': 3.5.16 + '@vue/runtime-dom': 3.5.16 + '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.8.3)) + '@vue/shared': 3.5.16 optionalDependencies: typescript: 5.8.3 - vueuc@0.4.64(vue@3.5.13(typescript@5.8.3)): + vueuc@0.4.64(vue@3.5.16(typescript@5.8.3)): dependencies: - '@css-render/vue3-ssr': 0.15.14(vue@3.5.13(typescript@5.8.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.16(typescript@5.8.3)) '@juggle/resize-observer': 3.4.0 css-render: 0.15.14 evtd: 0.2.4 seemly: 0.3.10 - vdirs: 0.1.8(vue@3.5.13(typescript@5.8.3)) - vooks: 0.2.12(vue@3.5.13(typescript@5.8.3)) - vue: 3.5.13(typescript@5.8.3) + vdirs: 0.1.8(vue@3.5.16(typescript@5.8.3)) + vooks: 0.2.12(vue@3.5.16(typescript@5.8.3)) + vue: 3.5.16(typescript@5.8.3) webpack-sources@3.2.3: {} @@ -8886,15 +9365,13 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - xml-name-validator@4.0.0: {} y18n@5.0.8: {} yallist@3.1.1: {} - yaml@2.7.0: {} + yaml@2.8.0: {} yargs-parser@21.1.1: {} @@ -8912,12 +9389,6 @@ snapshots: yoctocolors@2.1.1: {} - zod-to-json-schema@3.24.5(zod@3.24.4): - dependencies: - zod: 3.24.4 - - zod@3.24.4: {} - zrender@5.6.1: dependencies: tslib: 2.3.0 diff --git a/src/assets/svg-icon/bell.svg b/src/assets/svg-icon/bell.svg new file mode 100644 index 00000000..bffd0ce6 --- /dev/null +++ b/src/assets/svg-icon/bell.svg @@ -0,0 +1 @@ + diff --git a/src/components/common/data-table.vue b/src/components/common/data-table.vue new file mode 100644 index 00000000..cc5ce083 --- /dev/null +++ b/src/components/common/data-table.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/custom/dept-tree-select.vue b/src/components/custom/dept-tree-select.vue index 8277c8eb..457c4cf1 100644 --- a/src/components/custom/dept-tree-select.vue +++ b/src/components/custom/dept-tree-select.vue @@ -2,7 +2,7 @@ import { useAttrs } from 'vue'; import type { TreeSelectProps } from 'naive-ui'; import { useLoading } from '@sa/hooks'; -import { fetchGetDeptSelect } from '@/service/api/system'; +import { fetchGetDeptTree } from '@/service/api/system'; defineOptions({ name: 'DeptTreeSelect' }); @@ -13,16 +13,21 @@ interface Props { defineProps(); const value = defineModel('value', { required: false }); -const options = defineModel('options', { required: false, default: [] }); +const options = defineModel('options', { required: false, default: [] }); +const expandedKeys = defineModel('expandedKeys', { required: false, default: [] }); const attrs: TreeSelectProps = useAttrs(); const { loading, startLoading, endLoading } = useLoading(); async function getDeptList() { startLoading(); - const { error, data } = await fetchGetDeptSelect(); + const { error, data } = await fetchGetDeptTree(); if (error) return; options.value = data; + // 设置默认展开的节点 + if (data?.length && !expandedKeys.value.length) { + expandedKeys.value = [data[0].id]; + } endLoading(); } @@ -32,13 +37,13 @@ getDeptList(); diff --git a/src/components/custom/dict-tag.vue b/src/components/custom/dict-tag.vue index cf8464e4..eaaeeb11 100644 --- a/src/components/custom/dict-tag.vue +++ b/src/components/custom/dict-tag.vue @@ -3,6 +3,7 @@ import { computed, useAttrs } from 'vue'; import type { TagProps } from 'naive-ui'; import { useDict } from '@/hooks/business/dict'; import { isNotNull } from '@/utils/common'; +import { $t } from '@/locales'; defineOptions({ name: 'DictTag' }); @@ -23,13 +24,18 @@ const props = withDefaults(defineProps(), { const attrs = useAttrs() as TagProps; +const { transformDictData } = useDict(props.dictCode, props.immediate); + const dictTagData = computed(() => { if (props.dictData) { - return [props.dictData]; + const dictData = props.dictData; + if (dictData.dictLabel?.startsWith(`dict.${dictData.dictType}.`)) { + dictData.dictLabel = $t(dictData.dictLabel as App.I18n.I18nKey); + } + return [dictData]; } // 避免 props.value 为 0 时,无法触发 if (props.dictCode && isNotNull(props.value)) { - const { transformDictData } = useDict(props.dictCode, props.immediate); return transformDictData(props.value) || []; } @@ -44,8 +50,8 @@ const dictTagData = computed(() => { :key="item.dictValue" class="m-1" :class="[item.cssClass]" - :type="item.listClass" v-bind="attrs" + :type="item.listClass || 'default'" > {{ item.dictLabel }} diff --git a/src/components/custom/file-upload.vue b/src/components/custom/file-upload.vue index 62c0b80c..46a4b18c 100644 --- a/src/components/custom/file-upload.vue +++ b/src/components/custom/file-upload.vue @@ -1,9 +1,10 @@ diff --git a/src/components/custom/menu-tree.vue b/src/components/custom/menu-tree.vue index fdb9960f..4e5da0c1 100644 --- a/src/components/custom/menu-tree.vue +++ b/src/components/custom/menu-tree.vue @@ -9,11 +9,13 @@ defineOptions({ name: 'MenuTree' }); interface Props { immediate?: boolean; + showHeader?: boolean; [key: string]: any; } const props = withDefaults(defineProps(), { - immediate: true + immediate: true, + showHeader: true }); const { bool: expandAll } = useBoolean(); @@ -49,7 +51,6 @@ onMounted(() => { } }); -// 添加 watch 监听 expandAll 的变化,options有值后,计算expandedKeys watch([expandAll, options], ([newVal]) => { if (newVal) { // 展开所有节点 @@ -80,6 +81,21 @@ function getAllMenuIds(menu: Api.System.MenuList) { return menuIds; } +/** 获取所有叶子节点的 ID(没有子节点的节点) */ +function getLeafMenuIds(menu: Api.System.MenuList): CommonType.IdType[] { + const leafIds: CommonType.IdType[] = []; + menu.forEach(item => { + if (!item.children || item.children.length === 0) { + // 是叶子节点 + leafIds.push(item.id!); + } else { + // 有子节点,递归获取子节点中的叶子节点 + leafIds.push(...getLeafMenuIds(item.children)); + } + }); + return leafIds; +} + function handleCheckedTreeNodeAll(checked: boolean) { if (checked) { checkedKeys.value = getAllMenuIds(options.value); @@ -88,16 +104,30 @@ function handleCheckedTreeNodeAll(checked: boolean) { checkedKeys.value = []; } -function getCheckedMenuIds() { +function getCheckedMenuIds(isCascade: boolean = false) { const menuIds = menuTreeRef.value?.getCheckedData()?.keys as string[]; const indeterminateData = menuTreeRef.value?.getIndeterminateData(); - if (cascade.value) { + if (cascade.value || isCascade) { const parentIds: string[] = indeterminateData?.keys.filter(item => !menuIds?.includes(String(item))) as string[]; menuIds?.push(...parentIds); } return menuIds; } +watch(cascade, () => { + if (cascade.value) { + // 获取当前菜单树中的所有叶子节点ID + const allLeafIds = getLeafMenuIds(options.value); + // 筛选出当前选中项中的叶子节点 + const selectedLeafIds = checkedKeys.value.filter(id => allLeafIds.includes(id)); + // 重新设置选中状态为只包含叶子节点,让组件基于父子联动规则重新计算父节点状态 + checkedKeys.value = selectedLeafIds; + return; + } + // 禁用父子联动时,将半选中的父节点也加入到选中列表 + checkedKeys.value = getCheckedMenuIds(true); +}); + defineExpose({ getCheckedMenuIds, refresh: getMenuList @@ -106,7 +136,7 @@ defineExpose({ diff --git a/src/layouts/modules/theme-drawer/modules/table-props.vue b/src/layouts/modules/theme-drawer/modules/table-props.vue new file mode 100644 index 00000000..ac84e5ce --- /dev/null +++ b/src/layouts/modules/theme-drawer/modules/table-props.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts index acf2d6a4..92be6f67 100644 --- a/src/locales/langs/en-us.ts +++ b/src/locales/langs/en-us.ts @@ -135,6 +135,9 @@ const local: App.I18n.Schema = { }, multilingual: { visible: 'Display multilingual button' + }, + globalSearch: { + visible: 'Display GlobalSearch button' } }, tab: { @@ -165,6 +168,20 @@ const local: App.I18n.Schema = { visible: 'Watermark Full Screen Visible', text: 'Watermark Text' }, + tablePropsTitle: 'Table Props', + table: { + size: { + title: 'Table Size', + small: 'Small', + medium: 'Medium', + large: 'Large' + }, + bordered: 'Bordered', + bottomBordered: 'Bottom Bordered', + singleColumn: 'Single Column', + singleLine: 'Single Line', + striped: 'Striped' + }, themeDrawerTitle: 'Theme Configuration', pageFunTitle: 'Page Function', resetCacheStrategy: { @@ -222,6 +239,13 @@ const local: App.I18n.Schema = { 'workflow_process-instance': 'Process Instance', workflow_leave: 'Leave Apply' }, + dict: { + sys_user_sex: { + male: 'Male', + female: 'Female', + unknown: 'Unknown' + } + }, page: { login: { common: { @@ -579,6 +603,7 @@ const local: App.I18n.Schema = { buttonPermissionList: 'Button Permission List', emptyMenu: 'Empty Menu', menuDetail: 'Menu Detail', + cascadeDeleteContent: 'Cascade delete menu will delete the selected menu and all its sub-menus, are you sure?', iconifyTip: 'iconify address:`https://icones.js.org`', isFrameTip: 'If you choose External Link, the routing address needs to start with `http(s)://`', isCacheTip: @@ -603,6 +628,10 @@ const local: App.I18n.Schema = { required: 'Please select Menu Icon', invalid: 'Menu Icon cannot be empty' }, + menuIds: { + required: 'Please select Menu', + invalid: 'Menu cannot be empty' + }, menuName: { required: 'Please enter Menu Name', invalid: 'Menu Name cannot be empty' @@ -660,7 +689,8 @@ const local: App.I18n.Schema = { button: 'Button', addMenu: 'Add Menu', addChildMenu: 'Add Child Menu', - editMenu: 'Edit Menu' + editMenu: 'Edit Menu', + cascadeDelete: 'Cascade Delete Menu' }, notice: { title: 'Notice List', diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts index 6faa420d..64a840d9 100644 --- a/src/locales/langs/zh-cn.ts +++ b/src/locales/langs/zh-cn.ts @@ -135,6 +135,9 @@ const local: App.I18n.Schema = { }, multilingual: { visible: '显示多语言按钮' + }, + globalSearch: { + visible: '显示全局搜索按钮' } }, tab: { @@ -165,6 +168,20 @@ const local: App.I18n.Schema = { visible: '显示全屏水印', text: '水印文本' }, + tablePropsTitle: '表格配置', + table: { + size: { + title: '表格大小', + small: '小', + medium: '中', + large: '大' + }, + bordered: '边框', + bottomBordered: '底部边框', + singleColumn: '设定行的分割线', + singleLine: '设定列的分割线', + striped: '斑马线条纹' + }, themeDrawerTitle: '主题配置', pageFunTitle: '页面功能', resetCacheStrategy: { @@ -222,6 +239,13 @@ const local: App.I18n.Schema = { 'workflow_process-instance': '流程实例', workflow_leave: '请假申请' }, + dict: { + sys_user_sex: { + male: '男', + female: '女', + unknown: '未知' + } + }, page: { login: { common: { @@ -579,6 +603,7 @@ const local: App.I18n.Schema = { buttonPermissionList: '按钮权限列表', emptyMenu: '暂无菜单', menuDetail: '菜单详情', + cascadeDeleteContent: '级联删除菜单将删除所选中的菜单,是否继续?', iconifyTip: 'iconify 地址:https://icones.js.org', isFrameTip: '选择是外链则路由地址需要以`http(s)://`开头', isCacheTip: '选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致', @@ -597,6 +622,10 @@ const local: App.I18n.Schema = { required: '请选择菜单类型', invalid: '菜单类型不能为空' }, + menuIds: { + required: '请选择菜单', + invalid: '菜单不能为空' + }, icon: { required: '请选择菜单图标', invalid: '菜单图标不能为空' @@ -658,7 +687,8 @@ const local: App.I18n.Schema = { button: '按钮', addMenu: '新增菜单', addChildMenu: '新增子菜单', - editMenu: '编辑菜单' + editMenu: '编辑菜单', + cascadeDelete: '级联删除菜单' }, notice: { title: '通知公告列表', diff --git a/src/plugins/app.ts b/src/plugins/app.ts index 1a0d8999..4943341f 100644 --- a/src/plugins/app.ts +++ b/src/plugins/app.ts @@ -25,8 +25,8 @@ export function setupAppVersionNotification() { const buildTime = await getHtmlBuildTime(); - // If build time hasn't changed, no update is needed - if (buildTime === BUILD_TIME) { + // If failed to get build time or build time hasn't changed, no update is needed. + if (!buildTime || buildTime === BUILD_TIME) { return; } @@ -88,16 +88,22 @@ export function setupAppVersionNotification() { } } -async function getHtmlBuildTime() { +async function getHtmlBuildTime(): Promise { const baseUrl = import.meta.env.VITE_BASE_URL || '/'; - const res = await fetch(`${baseUrl}index.html?time=${Date.now()}`); + try { + const res = await fetch(`${baseUrl}index.html?time=${Date.now()}`); - const html = await res.text(); + if (!res.ok) { + console.error('getHtmlBuildTime error:', res.status, res.statusText); + return null; + } - const match = html.match(//); - - const buildTime = match?.[1] || ''; - - return buildTime; + const html = await res.text(); + const match = html.match(//); + return match?.[1] || null; + } catch (error) { + console.error('getHtmlBuildTime error:', error); + return null; + } } diff --git a/src/router/elegant/helper.ts b/src/router/elegant/helper.ts deleted file mode 100644 index 023a4d66..00000000 --- a/src/router/elegant/helper.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable no-console */ -/** 后台返回的路由动态生成name 解决缓存问题 感谢 @fourteendp 详见 https://github.com/vbenjs/vue-vben-admin/issues/3927 */ -import type { Component } from 'vue'; -import { defineComponent, h } from 'vue'; - -interface Options { - name?: string; -} - -export type RouteComponentLoader = () => Promise; - -/** - * 作用相当于给组件包了一层 & 设置name 解决keepAlive问题 - * - * @param loader 导入的路由 - * @param options options - * @returns components - */ -export function createCustomNameComponent( - loader: RouteComponentLoader, - options: Options = {} -): () => Promise { - const { name } = options; - let component: Component | null = null; - - const load = async () => { - try { - const { default: loadedComponent } = await loader(); - component = loadedComponent; - } catch (error) { - console.error(`Cannot resolve component ${name}, error:`, error); - } - }; - - return async () => { - if (!component) { - await load(); - } - - return Promise.resolve( - defineComponent({ - name, - render() { - return h(component as Component); - } - }) - ); - }; -} diff --git a/src/service/api/system/menu.ts b/src/service/api/system/menu.ts index 29853dc8..926b1ad7 100644 --- a/src/service/api/system/menu.ts +++ b/src/service/api/system/menu.ts @@ -59,3 +59,11 @@ export function fetchGetTenantPackageMenuTreeSelect(packageId: CommonType.IdType method: 'get' }); } + +// 级联删除菜单 +export function fetchCascadeDeleteMenu(menuIds: CommonType.IdType[]) { + return request({ + url: `/system/menu/cascade/${menuIds.join(',')}`, + method: 'delete' + }); +} diff --git a/src/service/api/system/oss.ts b/src/service/api/system/oss.ts index 2a1d1c52..23a6e07d 100644 --- a/src/service/api/system/oss.ts +++ b/src/service/api/system/oss.ts @@ -1,4 +1,3 @@ -import type { AxiosRequestConfig, GenericAbortSignal } from 'axios'; import { request } from '@/service/request'; /** 获取文件管理列表 */ @@ -18,36 +17,10 @@ export function fetchBatchDeleteOss(ossIds: CommonType.IdType[]) { }); } -/** Axios上传进度事件 */ -export type AxiosProgressEvent = AxiosRequestConfig['onUploadProgress']; - -/** 默认上传结果 */ -export interface UploadResult { - url: string; - fileName: string; - ossId: string; -} - -export interface UploadApiOptions { - onUploadProgress?: AxiosProgressEvent; - signal?: GenericAbortSignal; -} - -/** 上传文件接口 */ -export function uploadApi(file: File | Blob, options?: UploadApiOptions) { - const { onUploadProgress, signal } = options ?? {}; - - const formData = new FormData(); - formData.append('file', file); - - return request({ - url: '/resource/oss/upload', - method: 'post', - data: formData, - onUploadProgress, - headers: { - 'Content-Type': 'multipart/form-data' - }, - signal +// 查询OSS对象基于id串 +export function fetchGetOssListByIds(ossIds: CommonType.IdType[]) { + return request({ + url: `/resource/oss/listByIds/${ossIds.join(',')}`, + method: 'get' }); } diff --git a/src/service/api/system/role.ts b/src/service/api/system/role.ts index f1da7745..378f658e 100644 --- a/src/service/api/system/role.ts +++ b/src/service/api/system/role.ts @@ -36,6 +36,15 @@ export function fetchUpdateRoleStatus(data: Api.System.RoleOperateParams) { }); } +/** 修改角色数据权限 */ +export function fetchUpdateRoleDataScope(data: Api.System.RoleOperateParams) { + return request({ + url: '/system/role/dataScope', + method: 'put', + data + }); +} + /** 批量删除角色信息 */ export function fetchBatchDeleteRole(roleIds: CommonType.IdType[]) { return request({ diff --git a/src/store/modules/auth/index.ts b/src/store/modules/auth/index.ts index 02f4f66d..d6092298 100644 --- a/src/store/modules/auth/index.ts +++ b/src/store/modules/auth/index.ts @@ -12,6 +12,7 @@ import { clearAuthStorage, getToken } from './shared'; export const useAuthStore = defineStore(SetupStoreId.Auth, () => { const route = useRoute(); + const authStore = useAuthStore(); const routeStore = useRouteStore(); const tabStore = useTabStore(); const { toLogin, redirectFromLogin } = useRouterPush(false); @@ -37,8 +38,6 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => { /** Reset auth store */ async function resetStore() { - const authStore = useAuthStore(); - recordUserId(); clearAuthStorage(); diff --git a/src/store/modules/dict/index.ts b/src/store/modules/dict/index.ts index da19ca55..c105fc01 100644 --- a/src/store/modules/dict/index.ts +++ b/src/store/modules/dict/index.ts @@ -1,11 +1,17 @@ import { ref } from 'vue'; import { defineStore } from 'pinia'; +import { $t } from '@/locales'; export const useDictStore = defineStore('dict', () => { const dictData = ref<{ [key: string]: Api.System.DictData[] }>({}); const getDict = (key: string) => { - return dictData.value[key]; + return dictData.value[key]?.map(item => ({ + ...item, + dictLabel: item.dictLabel?.startsWith(`dict.${item.dictType}.`) + ? $t(item.dictLabel as App.I18n.I18nKey) + : item.dictLabel + })); }; const setDict = (key: string, dict: Api.System.DictData[]) => { diff --git a/src/store/modules/notice/index.ts b/src/store/modules/notice/index.ts index f2904a09..8af29067 100644 --- a/src/store/modules/notice/index.ts +++ b/src/store/modules/notice/index.ts @@ -1,5 +1,6 @@ import { reactive } from 'vue'; import { defineStore } from 'pinia'; +import { SetupStoreId } from '@/enum'; interface NoticeItem { title?: string; @@ -8,7 +9,7 @@ interface NoticeItem { time: string; } -export const useNoticeStore = defineStore('notice', () => { +export const useNoticeStore = defineStore(SetupStoreId.Notice, () => { const state = reactive({ notices: [] as NoticeItem[] }); @@ -21,6 +22,10 @@ export const useNoticeStore = defineStore('notice', () => { state.notices.splice(state.notices.indexOf(notice), 1); }; + const readNotice = (notice: NoticeItem) => { + state.notices[state.notices.indexOf(notice)].read = true; + }; + // 实现全部已读 const readAll = () => { state.notices.forEach((item: any) => { @@ -31,10 +36,12 @@ export const useNoticeStore = defineStore('notice', () => { const clearNotice = () => { state.notices = []; }; + return { state, addNotice, removeNotice, + readNotice, readAll, clearNotice }; diff --git a/src/store/modules/route/index.ts b/src/store/modules/route/index.ts index 6edff7ea..d45391bb 100644 --- a/src/store/modules/route/index.ts +++ b/src/store/modules/route/index.ts @@ -103,6 +103,9 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => { // eslint-disable-next-line complexity function parseRouter(route: ElegantConstRoute, parent?: ElegantConstRoute) { route.meta = route.meta ? route.meta : { title: route.name }; + if (route.meta.title.startsWith('route.')) { + route.meta.i18nKey = route.meta.title as App.I18n.I18nKey; + } const isLayout = route.component === 'Layout'; const isFramePage = route.component === 'FrameView'; const isParentLayout = route.component === 'ParentView'; diff --git a/src/store/modules/tab/index.ts b/src/store/modules/tab/index.ts index 78aaac69..5f2e0ffc 100644 --- a/src/store/modules/tab/index.ts +++ b/src/store/modules/tab/index.ts @@ -100,7 +100,9 @@ export const useTabStore = defineStore(SetupStoreId.Tab, () => { const removedTabRouteKey = tabs.value[removeTabIndex].routeKey; const isRemoveActiveTab = activeTabId.value === tabId; - const nextTab = tabs.value[removeTabIndex + 1] || homeTab.value; + + // if remove the last tab, then switch to the second last tab + const nextTab = tabs.value[removeTabIndex + 1] || tabs.value[removeTabIndex - 1] || homeTab.value; // remove tab tabs.value.splice(removeTabIndex, 1); diff --git a/src/theme/settings.ts b/src/theme/settings.ts index 57bc26d3..bb8b9bb9 100644 --- a/src/theme/settings.ts +++ b/src/theme/settings.ts @@ -30,6 +30,9 @@ export const themeSettings: App.Theme.ThemeSetting = { }, multilingual: { visible: true + }, + globalSearch: { + visible: true } }, tab: { @@ -57,6 +60,14 @@ export const themeSettings: App.Theme.ThemeSetting = { visible: import.meta.env.VITE_WATERMARK === 'Y', text: 'RuoYi-Vue-Plus' }, + table: { + bordered: true, + bottomBordered: true, + singleColumn: false, + singleLine: true, + size: 'small', + striped: false + }, tokens: { light: { colors: { diff --git a/src/typings/api/monitor.api.d.ts b/src/typings/api/monitor.api.d.ts index acec1ce6..06bc1ebe 100644 --- a/src/typings/api/monitor.api.d.ts +++ b/src/typings/api/monitor.api.d.ts @@ -10,6 +10,9 @@ declare namespace Api { * backend api module: "monitor" */ namespace Monitor { + /** 业务操作类型 */ + type BusinessType = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'; + /** oper log */ type OperLog = Common.CommonRecord<{ /** 日志主键 */ @@ -19,13 +22,13 @@ declare namespace Api { /** 系统模块 */ title: string; /** 操作类型 */ - businessType: number; + businessType: Monitor.BusinessType; /** 方法名称 */ method: string; /** 请求方式 */ requestMethod: string; /** 操作类别 */ - operatorType: number; + operatorType: string; /** 操作人员 */ operName: string; /** 部门名称 */ @@ -41,7 +44,7 @@ declare namespace Api { /** 返回参数 */ jsonResult: string; /** 操作状态 */ - status: number; + status: Common.EnableStatus; /** 错误消息 */ errorMsg: string; /** 操作时间 */ @@ -70,7 +73,7 @@ declare namespace Api { /** 客户端 */ clientKey: string; /** 设备类型 */ - deviceType: string; + deviceType: System.DeviceType; /** 登录IP地址 */ ipaddr: string; /** 登录地点 */ @@ -80,7 +83,7 @@ declare namespace Api { /** 操作系统 */ os: string; /** 登录状态(0成功 1失败) */ - status: string; + status: Common.EnableStatus; /** 提示消息 */ msg: string; /** 访问时间 */ @@ -149,7 +152,7 @@ declare namespace Api { /** 所在部门 */ deptName: string; /** 设备类型 */ - deviceType: string; + deviceType: System.DeviceType; /** 登录时间 */ loginTime: number; /** 令牌ID */ diff --git a/src/typings/api/system.api.d.ts b/src/typings/api/system.api.d.ts index 23e5c82f..d91b0fef 100644 --- a/src/typings/api/system.api.d.ts +++ b/src/typings/api/system.api.d.ts @@ -34,7 +34,7 @@ declare namespace Api { /** 显示顺序 */ roleSort: number; /** 角色状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 是否管理员 */ superAdmin: boolean; }>; @@ -115,7 +115,7 @@ declare namespace Api { /** 密码 */ password: string; /** 帐号状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 最后登录IP */ loginIp: string; /** 最后登录时间 */ @@ -356,7 +356,7 @@ declare namespace Api { /** 字典键值 */ dictValue: string; /** 是否默认(Y是 N否) */ - isDefault: string; + isDefault: Common.YesOrNoStatus; /** 表格回显样式 */ listClass: NaiveUI.ThemeColor; /** 备注 */ @@ -402,7 +402,7 @@ declare namespace Api { /** 邮箱 */ email: string; /** 部门状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 子部门 */ children: Dept[]; }>; @@ -440,7 +440,7 @@ declare namespace Api { /** 显示顺序 */ postSort: number; /** 状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 备注 */ remark: string; }>; @@ -476,7 +476,7 @@ declare namespace Api { /** 参数键值 */ configValue: string; /** 是否内置 */ - configType: string; + configType: Common.YesOrNoStatus; /** 备注 */ remark: string; }>; @@ -523,7 +523,7 @@ declare namespace Api { /** 用户数量(-1不限制) */ accountCount: number; /** 租户状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 删除标志(0代表存在 1代表删除) */ delFlag: string; }>; @@ -577,7 +577,7 @@ declare namespace Api { /** 菜单树选择项是否关联显示 */ menuCheckStrictly: boolean; /** 状态(0正常 1停用) */ - status: string; + status: Common.EnableStatus; /** 删除标志(0代表存在 1代表删除) */ delFlag: string; }>; @@ -602,6 +602,9 @@ declare namespace Api { /** tenant package select list */ type TenantPackageSelectList = Common.CommonRecord>; + /** 通知公告类型 */ + type NoticeType = '1' | '2'; + /** notice */ type Notice = Common.CommonRecord<{ /** 公告ID */ @@ -611,11 +614,11 @@ declare namespace Api { /** 公告标题 */ noticeTitle: string; /** 公告类型 */ - noticeType: string; + noticeType: System.NoticeType; /** 公告内容 */ noticeContent: string; /** 公告状态 */ - status: string; + status: Common.EnableStatus; /** 创建者 */ createByName: string; /** 备注 */ @@ -635,6 +638,12 @@ declare namespace Api { /** notice list */ type NoticeList = Api.Common.PaginatingQueryRecord; + /** 授权类型 */ + type GrantType = 'password' | 'sms' | 'password' | 'email' | 'xcx' | 'social'; + + /** 设备类型 */ + type DeviceType = 'pc' | 'android' | 'ios' | 'xcx'; + /** client */ type Client = Common.CommonRecord<{ /** id */ @@ -646,17 +655,17 @@ declare namespace Api { /** 客户端秘钥 */ clientSecret: string; /** 授权类型 */ - grantType: string; + grantType: System.GrantType; /** 授权类型列表 */ - grantTypeList: string[]; + grantTypeList: System.GrantType[]; /** 设备类型 */ - deviceType: string; + deviceType: System.DeviceType; /** token活跃超时时间 */ activeTimeout: number; /** token固定超时 */ timeout: number; /** 状态 */ - status: string; + status: Common.EnableStatus; /** 删除标志(0代表存在 1代表删除) */ delFlag: string; }>; @@ -758,13 +767,13 @@ declare namespace Api { /** 自定义域名 */ domain: string; /** 是否https(Y=是,N=否) */ - isHttps: Api.Common.YesOrNoStatus; + isHttps: Common.YesOrNoStatus; /** 域 */ region: string; /** 桶权限类型 */ - accessPolicy: Api.System.OssAccessPolicy; + accessPolicy: System.OssAccessPolicy; /** 是否默认(0=是,1=否) */ - status: Api.Common.EnableStatus; + status: Common.EnableStatus; /** 扩展字段 */ ext1: string; /** 备注 */ diff --git a/src/typings/app.d.ts b/src/typings/app.d.ts index b37b9083..99669476 100644 --- a/src/typings/app.d.ts +++ b/src/typings/app.d.ts @@ -58,6 +58,10 @@ declare namespace App { /** Whether to show the multilingual */ visible: boolean; }; + globalSearch: { + /** Whether to show the GlobalSearch */ + visible: boolean; + }; }; /** Tab */ tab: { @@ -109,6 +113,20 @@ declare namespace App { /** Watermark text */ text: string; }; + table: { + /** Whether to show the table border */ + bordered: boolean; + /** Whether to show the table bottom border */ + bottomBordered: boolean; + /** Whether to show the table single column */ + singleColumn: boolean; + /** Whether to show the table single line */ + singleLine: boolean; + /** Whether to show the table size */ + size: UnionKey.ThemeTableSize; + /** Whether to show the table striped */ + striped: boolean; + }; /** define some theme settings tokens, will transform to css variables */ tokens: { light: ThemeSettingToken; @@ -401,6 +419,9 @@ declare namespace App { multilingual: { visible: string; }; + globalSearch: { + visible: string; + }; }; tab: { visible: string; @@ -426,6 +447,15 @@ declare namespace App { visible: string; text: string; }; + tablePropsTitle: string; + table: { + size: { title: string } & Record; + bordered: string; + bottomBordered: string; + singleColumn: string; + singleLine: string; + striped: string; + }; themeDrawerTitle: string; pageFunTitle: string; resetCacheStrategy: { title: string } & Record; @@ -437,6 +467,7 @@ declare namespace App { }; }; route: Record; + dict: Record>; page: { common: { id: string; @@ -680,6 +711,7 @@ declare namespace App { buttonPermissionList: string; emptyMenu: string; menuDetail: string; + cascadeDeleteContent: string; iconifyTip: string; isFrameTip: string; isCacheTip: string; @@ -691,6 +723,7 @@ declare namespace App { form: { parentId: FormMsg; menuType: FormMsg; + menuIds: FormMsg; icon: FormMsg; menuName: FormMsg; orderNum: FormMsg; @@ -717,6 +750,7 @@ declare namespace App { addMenu: string; addChildMenu: string; editMenu: string; + cascadeDelete: string; }; notice: { title: string; diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index ddee2f6e..586f01a9 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -15,6 +15,7 @@ declare module 'vue' { copy: typeof import('./../components/custom/dept-tree-select copy.vue')['default'] CountTo: typeof import('./../components/custom/count-to.vue')['default'] DarkModeContainer: typeof import('./../components/common/dark-mode-container.vue')['default'] + DataTable: typeof import('./../components/common/data-table.vue')['default'] DeptTree: typeof import('./../components/custom/dept-tree.vue')['default'] DeptTreeSelect: typeof import('./../components/custom/dept-tree-select.vue')['default'] DictRadio: typeof import('./../components/custom/dict-radio.vue')['default'] @@ -64,6 +65,7 @@ declare module 'vue' { NA: typeof import('naive-ui')['NA'] NAlert: typeof import('naive-ui')['NAlert'] NAvatar: typeof import('naive-ui')['NAvatar'] + NBadge: typeof import('naive-ui')['NBadge'] NBreadcrumb: typeof import('naive-ui')['NBreadcrumb'] NBreadcrumbItem: typeof import('naive-ui')['NBreadcrumbItem'] NButton: typeof import('naive-ui')['NButton'] @@ -84,6 +86,7 @@ declare module 'vue' { NDrawerContent: typeof import('naive-ui')['NDrawerContent'] NDropdown: typeof import('naive-ui')['NDropdown'] NDynamicInput: typeof import('naive-ui')['NDynamicInput'] + NEllipsis: typeof import('naive-ui')['NEllipsis'] NEmpty: typeof import('naive-ui')['NEmpty'] NForm: typeof import('naive-ui')['NForm'] NFormItem: typeof import('naive-ui')['NFormItem'] @@ -130,6 +133,7 @@ declare module 'vue' { NUpload: typeof import('naive-ui')['NUpload'] NUploadDragger: typeof import('naive-ui')['NUploadDragger'] NWatermark: typeof import('naive-ui')['NWatermark'] + OssUpload: typeof import('./../components/custom/oss-upload.vue')['default'] PinToggler: typeof import('./../components/common/pin-toggler.vue')['default'] PostSelect: typeof import('./../components/custom/post-select.vue')['default'] ReloadButton: typeof import('./../components/common/reload-button.vue')['default'] diff --git a/src/typings/union-key.d.ts b/src/typings/union-key.d.ts index a783294b..dc27a701 100644 --- a/src/typings/union-key.d.ts +++ b/src/typings/union-key.d.ts @@ -51,6 +51,15 @@ declare namespace UnionKey { */ type ThemeTabMode = import('@sa/materials').PageTabMode; + /** + * The table size + * + * - small: small size + * - medium: medium size + * - large: large size + */ + type ThemeTableSize = 'small' | 'medium' | 'large'; + /** Unocss animate key */ type UnoCssAnimateKey = | 'pulse' diff --git a/src/utils/common.ts b/src/utils/common.ts index 22ac43e7..b5489f37 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,3 +1,4 @@ +import { AcceptType } from '@/enum/business'; import { $t } from '@/locales'; /** * Transform record to option @@ -87,8 +88,7 @@ export function isNull(value: any) { /** 判断是否为图片类型 */ export function isImage(suffix: string) { - const imgSuffixList = ['.jpg', '.jpeg', '.png', '.gif', '.webp']; - return imgSuffixList.includes(suffix.toLowerCase()); + return AcceptType.Image.split(',').includes(suffix.toLowerCase()); } /** diff --git a/src/utils/format.ts b/src/utils/icon-tag-format.ts similarity index 100% rename from src/utils/format.ts rename to src/utils/icon-tag-format.ts diff --git a/src/views/_builtin/user-center/modules/online-table.vue b/src/views/_builtin/user-center/modules/online-table.vue index d5d4c8af..34690301 100644 --- a/src/views/_builtin/user-center/modules/online-table.vue +++ b/src/views/_builtin/user-center/modules/online-table.vue @@ -4,7 +4,7 @@ import { useLoading } from '@sa/hooks'; import { fetchForceLogout, fetchGetOnlineDeviceList } from '@/service/api/monitor'; import { useAppStore } from '@/store/modules/app'; import { useTable } from '@/hooks/common/table'; -import { getBrowserIcon, getOsIcon } from '@/utils/format'; +import { getBrowserIcon, getOsIcon } from '@/utils/icon-tag-format'; import { $t } from '@/locales'; import ButtonIcon from '@/components/custom/button-icon.vue'; import SvgIcon from '@/components/custom/svg-icon.vue'; @@ -16,12 +16,8 @@ defineOptions({ const appStore = useAppStore(); const { loading: btnLoading, startLoading: startBtnLoading, endLoading: endBtnLoading } = useLoading(false); -const { columns, data, loading, mobilePagination, getData } = useTable({ +const { columns, data, loading, getData } = useTable({ apiFn: fetchGetOnlineDeviceList, - apiParams: { - pageNum: 1, - pageSize: 15 - }, columns: () => [ { title: '用户名', key: 'userName', align: 'center', minWidth: 120 }, { title: 'IP地址', key: 'ipaddr', align: 'center', minWidth: 120 }, @@ -109,7 +105,6 @@ async function forceLogout(tokenId: string) { :loading="loading" remote :row-key="row => row.noticeId" - :pagination="mobilePagination" class="h-full" /> diff --git a/src/views/demo/demo/index.vue b/src/views/demo/demo/index.vue index fcc883fc..b9818f03 100644 --- a/src/views/demo/demo/index.vue +++ b/src/views/demo/demo/index.vue @@ -184,11 +184,10 @@ async function handleExport() { @refresh="getData" /> - ; +type RuleKey = Extract; const rules: Record = { id: createRequiredRule('主键不能为空'), deptId: createRequiredRule('部门不能为空'), userId: createRequiredRule('用户不能为空'), + orderNum: createRequiredRule('排序号不能为空'), testKey: createRequiredRule('key 键不能为空'), value: createRequiredRule('值不能为空') }; @@ -124,7 +125,7 @@ watch(visible, () => { - + diff --git a/src/views/demo/tree/index.vue b/src/views/demo/tree/index.vue index ac748e67..44866eab 100644 --- a/src/views/demo/tree/index.vue +++ b/src/views/demo/tree/index.vue @@ -209,12 +209,11 @@ function handleExport() { - -import { getBrowserIcon, getOsIcon } from '@/utils/format'; +import { getBrowserIcon, getOsIcon } from '@/utils/icon-tag-format'; import { $t } from '@/locales'; defineOptions({ diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue index 80b3f7e1..df4bc061 100644 --- a/src/views/monitor/online/index.vue +++ b/src/views/monitor/online/index.vue @@ -5,7 +5,7 @@ import { useAppStore } from '@/store/modules/app'; import { useAuth } from '@/hooks/business/auth'; import { useTable } from '@/hooks/common/table'; import { useDict } from '@/hooks/business/dict'; -import { getBrowserIcon, getOsIcon } from '@/utils/format'; +import { getBrowserIcon, getOsIcon } from '@/utils/icon-tag-format'; import ButtonIcon from '@/components/custom/button-icon.vue'; import DictTag from '@/components/custom/dict-tag.vue'; import SvgIcon from '@/components/custom/svg-icon.vue'; diff --git a/src/views/monitor/operlog/modules/oper-log-view-drawer.vue b/src/views/monitor/operlog/modules/oper-log-view-drawer.vue index 849364c0..c6baea2b 100644 --- a/src/views/monitor/operlog/modules/oper-log-view-drawer.vue +++ b/src/views/monitor/operlog/modules/oper-log-view-drawer.vue @@ -1,6 +1,6 @@ + + + + diff --git a/src/views/system/menu/modules/menu-operate-drawer.vue b/src/views/system/menu/modules/menu-operate-drawer.vue index 65b57f05..e523ae44 100644 --- a/src/views/system/menu/modules/menu-operate-drawer.vue +++ b/src/views/system/menu/modules/menu-operate-drawer.vue @@ -83,8 +83,28 @@ const rules: Record = { component: createRequiredRule($t('page.system.menu.form.component.invalid')) }; -const isBtn = computed(() => model.menuType === 'F'); +// 是否为目录类型 +const isCatalog = computed(() => model.menuType === 'M'); + +// 是否为菜单类型 const isMenu = computed(() => model.menuType === 'C'); + +// 是否为按钮类型 +const isBtn = computed(() => model.menuType === 'F'); + +// 外链类型 +const isExternalType = computed(() => model.isFrame === '0'); + +// 内部类型 +const isInternalType = computed(() => model.isFrame === '1'); + +// iframe类型 +const isIframeType = computed(() => model.isFrame === '2'); + +// 本地图标类型 +const isLocalIcon = computed(() => iconType.value === '2'); + +// 本地图标 const localIcons = getLocalMenuIcons(); const localIconOptions = localIcons.map(item => ({ label: () => ( @@ -102,7 +122,7 @@ function handleInitModel() { if (props.operateType === 'edit' && props.rowData) { Object.assign(model, props.rowData); - if (isMenu.value && model.isFrame === '1') { + if (isMenu.value && isInternalType.value) { model.component = model.component?.slice(0, -6); } iconType.value = model.icon?.startsWith('local-icon-') ? '2' : '1'; @@ -118,6 +138,44 @@ function closeDrawer() { visible.value = false; } +// 处理路径 +function processPath(path: string | null | undefined): string { + return path?.startsWith('/') ? path.substring(1) : path || ''; +} + +// 处理组件 +function processComponent(component: string | null | undefined): string { + if (isCatalog.value && isInternalType.value) { + return 'Layout'; + } + if (isIframeType.value || isExternalType.value) { + return 'FrameView'; + } + if (isMenu.value && isInternalType.value) { + return component?.endsWith('/index') ? component : `${component || ''}/index`; + } + return component || ''; +} + +function processQueryParam(queryParam: string | null | undefined): string { + // 外链类型不需要查询参数 + if (isExternalType.value) { + return ''; + } + + // 内部链接类型,处理动态参数 + if (isInternalType.value && queryList.value.length) { + return JSON.stringify(Object.fromEntries(queryList.value.map(({ key, value }) => [key, value]))); + } + + // iframe类型,直接使用原始参数 + if (isIframeType.value) { + return queryParam || ''; + } + + return ''; +} + async function handleSubmit() { await validate(); @@ -133,77 +191,36 @@ async function handleSubmit() { visible: menuVisible, status, perms, - remark + remark, + component, + queryParam } = model; - let queryParam = model.queryParam; - if (isFrame === '0') { - queryParam = ''; - } else if (isFrame === '1' && queryList.value.length) { - const queryObj: { [key: string]: string } = {}; - queryList.value.forEach(item => (queryObj[item.key] = item.value)); - queryParam = JSON.stringify(queryObj); - } - - const path = model.path?.startsWith('/') ? model.path?.substring(1) : model.path; - - let component = model.component; - if (isFrame === '1' && menuType === 'M') { - component = 'Layout'; - } else if (isFrame === '2') { - component = 'FrameView'; - } else if (isMenu.value && model.isFrame === '1') { - component = component?.endsWith('/index') ? component : `${component}/index`; - } - - // request - if (props.operateType === 'add') { - const { error } = await fetchCreateMenu({ - menuName, - path, - parentId, - orderNum, - queryParam, - isFrame, - isCache, - menuType, - visible: menuVisible, - status, - perms, - icon, - component, - remark - }); - if (error) { - return; - } - window.$message?.success($t('common.addSuccess')); - } - - if (props.operateType === 'edit') { - const { error } = await fetchUpdateMenu({ - menuId, - menuName, - path, - parentId, - orderNum, - queryParam, - isFrame, - isCache, - menuType, - visible: menuVisible, - status, - perms, - icon, - component, - remark - }); - if (error) { - return; - } - window.$message?.success($t('common.updateSuccess')); + const payload = { + menuName, + path: processPath(model.path), + parentId, + orderNum, + queryParam: processQueryParam(queryParam), + isFrame, + isCache, + menuType, + visible: menuVisible, + status, + perms, + icon, + component: processComponent(component), + remark + }; + + const { error } = + props.operateType === 'add' ? await fetchCreateMenu(payload) : await fetchUpdateMenu({ ...payload, menuId }); + + if (error) { + return; } + window.$message?.success($t(props.operateType === 'add' ? 'common.addSuccess' : 'common.updateSuccess')); closeDrawer(); emit('submitted', menuType!); } @@ -224,7 +241,7 @@ function onCreate() {