From 13dc621ff7b4df0494e42e824b7ef55d20100c3e Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Tue, 20 Oct 2026 11:06:50 +0200 Subject: [PATCH] =?UTF-8?q?chore(deps):=20=E5=89=8D=E7=AB=AF=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=97=B6=E5=8D=87=E7=BA=A7=E5=88=B0=20vue-router=205?= =?UTF-8?q?=20/=20pinia=204=20/=20vueuse=2015=20/=20vue-i18n=2011=20/=20ax?= =?UTF-8?q?ios=201.20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webui/package.json | 16 +- webui/pnpm-lock.yaml | 804 +++++++++--------- webui/src/pages/index.vue | 4 +- .../index/bangumi-torrents/[id]/index.vue | 4 +- webui/src/pages/index/log.vue | 6 +- webui/src/pages/index/plugins/[id].vue | 4 +- webui/src/router/index.test.ts | 10 + webui/src/router/index.ts | 4 +- webui/src/utils/axios.ts | 3 +- webui/types/dts/auto-imports.d.ts | 10 +- webui/types/dts/router-type.d.ts | 414 ++++++--- webui/vite.config.ts | 7 +- webui/vitest.config.ts | 2 + 13 files changed, 726 insertions(+), 562 deletions(-) create mode 100644 webui/src/router/index.test.ts diff --git a/webui/package.json b/webui/package.json index aba2392e..7bf18d81 100644 --- a/webui/package.json +++ b/webui/package.json @@ -24,14 +24,15 @@ }, "dependencies": { "@headlessui/vue": "^1.7.23", - "@vueuse/core": "^10.11.1", - "axios": "^1.7.9", - "naive-ui": "^2.44.1", - "pinia": "^2.2.2", - "vue": "^3.5.8", - "vue-i18n": "^9.14.2", + "@vue/devtools-api": "^8.2.1", + "@vueuse/core": "^15.0.0", + "axios": "^1.20.0", + "naive-ui": "^2.45.3", + "pinia": "^4.1.0", + "vue": "^3.5.44", + "vue-i18n": "^11.4.16", "vue-inline-svg": "^3.1.4", - "vue-router": "^4.4.5", + "vue-router": "^5.4.0", "vuedraggable": "^4.1.0" }, "devDependencies": { @@ -61,7 +62,6 @@ "unocss": "^66.11.0", "unplugin-auto-import": "^21.1.0", "unplugin-vue-components": "^32.1.0", - "unplugin-vue-router": "^0.6.4", "vite": "^8.3.4", "vitest": "^5.0.5", "vue-tsc": "^3.3.13" diff --git a/webui/pnpm-lock.yaml b/webui/pnpm-lock.yaml index abd5f33c..c830ead6 100644 --- a/webui/pnpm-lock.yaml +++ b/webui/pnpm-lock.yaml @@ -168,34 +168,37 @@ importers: dependencies: '@headlessui/vue': specifier: ^1.7.23 - version: 1.7.23(vue@3.5.8(typescript@6.0.3)) + version: 1.7.23(vue@3.5.44(typescript@6.0.3)) + '@vue/devtools-api': + specifier: ^8.2.1 + version: 8.2.1 '@vueuse/core': - specifier: ^10.11.1 - version: 10.11.1(vue@3.5.8(typescript@6.0.3)) + specifier: ^15.0.0 + version: 15.0.0(vue@3.5.44(typescript@6.0.3)) axios: - specifier: ^1.7.9 - version: 1.18.1(debug@4.3.7(supports-color@8.1.1))(supports-color@8.1.1) + specifier: ^1.20.0 + version: 1.20.0(debug@4.3.7(supports-color@8.1.1))(supports-color@8.1.1) naive-ui: - specifier: ^2.44.1 - version: 2.44.1(vue@3.5.8(typescript@6.0.3)) + specifier: ^2.45.3 + version: 2.45.3(vue@3.5.44(typescript@6.0.3)) pinia: - specifier: ^2.2.2 - version: 2.2.2(typescript@6.0.3)(vue@3.5.8(typescript@6.0.3)) + specifier: ^4.1.0 + version: 4.1.0(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)) vue: - specifier: ^3.5.8 - version: 3.5.8(typescript@6.0.3) + specifier: ^3.5.44 + version: 3.5.44(typescript@6.0.3) vue-i18n: - specifier: ^9.14.2 - version: 9.14.5(vue@3.5.8(typescript@6.0.3)) + specifier: ^11.4.16 + version: 11.4.16(vue@3.5.44(typescript@6.0.3)) vue-inline-svg: specifier: ^3.1.4 - version: 3.1.4(vue@3.5.8(typescript@6.0.3)) + version: 3.1.4(vue@3.5.44(typescript@6.0.3)) vue-router: - specifier: ^4.4.5 - version: 4.4.5(vue@3.5.8(typescript@6.0.3)) + specifier: ^5.4.0 + version: 5.4.0(@vue/compiler-sfc@3.5.44)(pinia@4.1.0(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)))(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)) vuedraggable: specifier: ^4.1.0 - version: 4.1.0(vue@3.5.8(typescript@6.0.3)) + version: 4.1.0(vue@3.5.44(typescript@6.0.3)) devDependencies: '@antfu/eslint-config': specifier: ^0.38.6 @@ -205,13 +208,13 @@ importers: version: link:packages/plugin-ui '@icon-park/vue-next': specifier: ^1.4.2 - version: 1.4.2(vue@3.5.8(typescript@6.0.3)) + version: 1.4.2(vue@3.5.44(typescript@6.0.3)) '@iconify-json/simple-icons': specifier: 1.2.89 version: 1.2.89 '@intlify/unplugin-vue-i18n': specifier: ^11.2.7 - version: 11.2.7(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3)) + version: 11.2.7(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)))(vue@3.5.44(typescript@6.0.3)) '@playwright/test': specifier: 1.64.1 version: 1.64.1 @@ -223,7 +226,7 @@ importers: version: 10.6.2(@types/react@18.3.8)(react@18.2.0)(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0)) '@storybook/vue3-vite': specifier: ^10.6.2 - version: 10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3)) + version: 10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)) '@types/node': specifier: ^24 version: 24.19.2 @@ -235,10 +238,10 @@ importers: version: 66.11.0 '@vitejs/plugin-vue': specifier: ^6.0.10 - version: 6.0.10(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3)) + version: 6.0.10(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)) '@vue/test-utils': specifier: ^2.5.1 - version: 2.5.1(@vue/compiler-dom@3.5.8)(@vue/server-renderer@3.5.8(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3)) + version: 2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3)) eslint: specifier: ^8.57.1 version: 8.57.1(supports-color@8.1.1) @@ -271,13 +274,10 @@ importers: version: 66.11.0(@oxc-project/types@0.154.0)(cac@7.1.0)(rolldown@1.2.14)(srvx@1.0.6)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) unplugin-auto-import: specifier: ^21.1.0 - version: 21.1.0(@vueuse/core@10.11.1(vue@3.5.8(typescript@6.0.3)))(oxc-parser@0.153.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) + version: 21.1.0(@vueuse/core@15.0.0(vue@3.5.44(typescript@6.0.3)))(oxc-parser@0.153.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) unplugin-vue-components: specifier: ^32.1.0 - version: 32.1.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3)) - unplugin-vue-router: - specifier: ^0.6.4 - version: 0.6.4(vue-router@4.4.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3))(webpack-sources@3.2.3) + version: 32.1.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)) vite: specifier: ^8.3.4 version: 8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1) @@ -330,10 +330,26 @@ packages: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@8.0.6': + resolution: {integrity: sha512-+6HYEBnsDRZHJtUTAEfMQd0zMDqdFHS7C+5vAsEZqBUr3vEMWOWlHJ0Jz1gS8jJIlCvLsuA6ivmeoqzH936YcA==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@8.0.6': + resolution: {integrity: sha512-HYx0YmuchRxRSpnjvcNffnPS8DCauKNmnumIuHG3jnQAVewRA7kfJGwF13ayEpSZs7s4R/oBH4eppuXcAQd5JQ==} + engines: {node: ^22.18.0 || >=24.11.0} + '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} @@ -343,6 +359,16 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.9': + resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@8.0.7': + resolution: {integrity: sha512-UkDwEbPO1px2JQSrdh4qIgaH1JgG7GO/pFeJkpxhDxIETkT/QvGpnigXIw75ViHYPtIgKITmVUJqLjiO+JuWjA==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + '@babel/runtime@7.25.6': resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} @@ -351,6 +377,14 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + + '@babel/types@8.0.6': + resolution: {integrity: sha512-c+xgSWboV2pdwXP67BUWDVRHi2BO5Q3KwxyFVs7taVTY+fsK47/L51ZXQoV9rozHJDNHvJ4v4WEsI/IlxV2l2A==} + engines: {node: ^22.18.0 || >=24.11.0} + '@bufbuild/protobuf@2.16.0': resolution: {integrity: sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q==} @@ -746,18 +780,18 @@ packages: vue-i18n: optional: true - '@intlify/core-base@9.14.5': - resolution: {integrity: sha512-5ah5FqZG4pOoHjkvs8mjtv+gPKYU0zCISaYNjBNNqYiaITxW8ZtVih3GS/oTOqN8d9/mDLyrjD46GBApNxmlsA==} - engines: {node: '>= 16'} + '@intlify/core-base@11.4.16': + resolution: {integrity: sha512-xB8nMdMRLNx7b0zPvrHy0+N9uq9Vfi1aUxHqWgn2e2/TbjCKy8HfoFpnUXXxVP8I0p1ccd6LFSC3XsFjZ3vweA==} + engines: {node: '>= 22'} + + '@intlify/devtools-types@11.4.16': + resolution: {integrity: sha512-Bl7arICsKgwcSEQuZJun3swenN4jwSpg35lCpijFznYbW9GvkfH4wLxcI5+gz7d/EHqu66UT9CZDIdnQdgMAGg==} + engines: {node: '>= 22'} '@intlify/message-compiler@11.4.16': resolution: {integrity: sha512-p4lDWmBAsi3ja+PuEfPRavYyvqkYn/Upxz7UpnyI9LgIIy8XawcGIDzN+k99Z+99etO3HmDXGeTxnJIJGgSZ+g==} engines: {node: '>= 22'} - '@intlify/message-compiler@9.14.5': - resolution: {integrity: sha512-IHzgEu61/YIpQV5Pc3aRWScDcnFKWvQA9kigcINcCBXN8mbW+vk9SK+lDxA6STzKQsVJxUPg9ACC52pKKo3SVQ==} - engines: {node: '>= 16'} - '@intlify/shared@10.0.8': resolution: {integrity: sha512-BcmHpb5bQyeVNrptC3UhzpBZB/YHHDoEREOUERrmF2BRxsyOEuRrq+Z96C/D4+2KJb8kuHiouzAei7BXlG0YYw==} engines: {node: '>= 16'} @@ -766,10 +800,6 @@ packages: resolution: {integrity: sha512-xehmkbEgbbNh/V+d8r3hFup0ViaN29YTJSAfRr28C54rxjyZEO0RNQKqW7VVajj16gLdglotNjiq+sIVNtHGzw==} engines: {node: '>= 22'} - '@intlify/shared@9.14.5': - resolution: {integrity: sha512-9gB+E53BYuAEMhbCAxVgG38EZrk59sxBtv3jSizNL2hEWlgjBjAw1AwpLHtNaeda12pe6W20OGEa0TwuMSRbyQ==} - engines: {node: '>= 16'} - '@intlify/unplugin-vue-i18n@11.2.7': resolution: {integrity: sha512-S+kF2s8tve3GZ93C6Y9K7HtS2NGQrXkbUPO0g7e7Fz2xf1kjurk4cnu7G3hsfy9GPckRSGtUYrgB+54/fRgHUA==} engines: {node: '>= 22.13'} @@ -1563,8 +1593,8 @@ packages: '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@types/web-bluetooth@0.0.20': - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} '@types/whatwg-mimetype@3.0.2': resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} @@ -1807,46 +1837,68 @@ packages: typescript: optional: true - '@vue-macros/common@1.14.0': - resolution: {integrity: sha512-xwQhDoEXRNXobNQmdqOD20yUGdVLVLZe4zhDlT9q/E+z+mvT3wukaAoJG80XRnv/BcgOOCVpxqpkQZ3sNTgjWA==} - engines: {node: '>=16.14.0'} + '@vue-macros/common@3.1.4': + resolution: {integrity: sha512-/5Fv+6DgIcM9ajY05ZmKBv+LMX1M9A0X+IUwDRVdt67ciw8OV9bvG2r34p3RiEadlsQybjhKPRKNXDC8Bp23cw==} + engines: {node: '>=20.19.0'} peerDependencies: vue: ^2.7.0 || ^3.2.25 peerDependenciesMeta: vue: optional: true + '@vue/compiler-core@3.5.44': + resolution: {integrity: sha512-k34nCytbK8PQ1gR2mGROYOw6Pnv/mumqIdrZ3x2tbyXZDWm7ViKGLTfdB+DRrWqEQsLgGJvn0WN9jBif5zCTLQ==} + '@vue/compiler-core@3.5.8': resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} + '@vue/compiler-dom@3.5.44': + resolution: {integrity: sha512-W5AoBFWdw1lQAKiHowkfgFKFab82oSRT6sGsPfw/q1GRjsy/ZJFLHGhJyBRIFN9APLTUduDH9U2JAiPOIyKuYg==} + '@vue/compiler-dom@3.5.8': resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} + '@vue/compiler-sfc@3.5.44': + resolution: {integrity: sha512-dzHmQ4jXTpdr5FjIQUeykVakN/uzqFbUo9/C5ikBFg3a3PeM6uRxeczx1ZbXBML0/zJstEh3ygYipzR5Z7b2Pw==} + '@vue/compiler-sfc@3.5.8': resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} + '@vue/compiler-ssr@3.5.44': + resolution: {integrity: sha512-xr5gb1JVHlfXJwSlRz1FeP6uxoazdzHuMTVLE7up+4Vrqxk219CvxLPxD9NXBt47yvZW7+p4DXfyp4O1fkByIA==} + '@vue/compiler-ssr@3.5.8': resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/devtools-api@8.2.1': + resolution: {integrity: sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A==} + + '@vue/devtools-kit@8.2.1': + resolution: {integrity: sha512-FIGIuq3AWReEpbAHY/cRGeHDfI0qOb8OCQ3YjbEAX04uaxIDbGc9rhkbVcG7rnfHPXE3RsU5KrWOu9V/okd8AQ==} + + '@vue/devtools-shared@8.2.1': + resolution: {integrity: sha512-Fkac7lUdGReh6pVOi3AYPRGe82LQqRmAfThW7RRligOAP0ZA/Z1z9XLHDM9dv34pV2HRc79DK8uKPeG2fLnA/g==} + '@vue/language-core@3.3.13': resolution: {integrity: sha512-axA0Xemn5LuUKuKWob0/kVq7xQ2mJJM6VqA9Exvt35nM9yRC31goWVve/G/Zb2ZCLsXC8FHYjjfXlnshknSCew==} - '@vue/reactivity@3.5.8': - resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} + '@vue/reactivity@3.5.44': + resolution: {integrity: sha512-u+QJdKeBBEADkPdevsL+6E12QlYVfBD8Zcw5qjDQKtamI6l14KyqazJMobhCKelhWN5zpyKUiEDoTyHE93cqWw==} - '@vue/runtime-core@3.5.8': - resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} + '@vue/runtime-core@3.5.44': + resolution: {integrity: sha512-uEa/ndwjhrrhnOfb2p+sZy6zeoamJOISqaLSJGk/8R6nABT1ZldpzcJoPzKj+zHVomVBPcmQYyC2r4LtvDV6CQ==} - '@vue/runtime-dom@3.5.8': - resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} + '@vue/runtime-dom@3.5.44': + resolution: {integrity: sha512-3fc4ARcXVhVBaJ3ujWiNZJARD6pkyRcwG+ZYhMzjKtKUp7MAY0HLwr7r3Smep3Li6ZaWT6ewdmx8XqdaD5oNZg==} - '@vue/server-renderer@3.5.8': - resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} - peerDependencies: - vue: 3.5.8 + '@vue/server-renderer@3.5.44': + resolution: {integrity: sha512-R4S1UoH4h5Frrauv8Z5XE5TxV9oBiUSgWIC4TyVK1FK+RocRnOLwFA5Xcmo2011RlgJp+AbZCnw6afrhlgRuUQ==} + + '@vue/shared@3.5.44': + resolution: {integrity: sha512-H82XLH0DjmSOdbEwO15x3QTo1f5PWEtv237eLpYKc0mqLu+B8hnq16lFWmuBmNurkeiG3wr+oM1FhOll/YVFRg==} '@vue/shared@3.5.8': resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} @@ -1861,14 +1913,21 @@ packages: '@vue/server-renderer': optional: true - '@vueuse/core@10.11.1': - resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + '@vueuse/core@15.0.0': + resolution: {integrity: sha512-Zv67h5mrk7YHDJsRObx+DXaCBz6RKBUpxqLesJ+3xZNPG6yuQs7ja7kg3veFrrouYLWAqydQ7CwGEbLVxB43Ng==} + engines: {node: '>=22'} + peerDependencies: + vue: ^3.5.0 - '@vueuse/metadata@10.11.1': - resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} + '@vueuse/metadata@15.0.0': + resolution: {integrity: sha512-sfWE5LADAKJ0KnjtGliMdSN8Ij/L7uP6rXIZlgPloAI4zvvefbw6H5Lt7KJA6RqQOYgVqWF5Guj50HHMIzygBg==} + engines: {node: '>=22'} - '@vueuse/shared@10.11.1': - resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + '@vueuse/shared@15.0.0': + resolution: {integrity: sha512-vbNXhGrbV53xPOMSyOzMHQRvhMgZf7oNDw2RChUetVxwTIEkInQ1joZ9JbT0G3z2n2AJNjvmCWeM9ySYrnvogA==} + engines: {node: '>=22'} + peerDependencies: + vue: ^3.5.0 '@webcontainer/env@1.1.1': resolution: {integrity: sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==} @@ -1923,10 +1982,6 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1974,17 +2029,21 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-kit@1.2.0: - resolution: {integrity: sha512-7TnogTQQZEagrHcOcddY0PqXPxVqFoNPPsKoa42Peyc83iinzT+QPKoRLDmzpaUVWZbgqSoHtezsTIoJyyBE+Q==} - engines: {node: '>=16.14.0'} + ast-kit@2.2.0: + resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} + engines: {node: '>=20.19.0'} + + ast-kit@3.0.0: + resolution: {integrity: sha512-8OG92q3R35qjC/4i6BLBMg8IB+fClWu/1PEwg2Z9Rn+BuNaiEgJzpzn+pxWOdHJWDCAwu2JP0wCDTozAM4QirQ==} + engines: {node: ^22.18.0 || >=24.11.0} ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} - ast-walker-scope@0.4.2: - resolution: {integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==} - engines: {node: '>=16.14.0'} + ast-walker-scope@0.10.0: + resolution: {integrity: sha512-KzvoxDfXNz2Gm8KYLh47K3qcY3Zza3WKOuh2xoqa7LBu6MDKWAZLovJtU9DuAd/Er+rhQHCRn619lHS5U+qmhw==} + engines: {node: ^22.18.0 || >=24.11.0} async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} @@ -1996,8 +2055,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.18.1: - resolution: {integrity: sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==} + axios@1.20.0: + resolution: {integrity: sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==} babel-walk@3.0.0-canary-5: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} @@ -2010,9 +2069,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -2094,10 +2152,6 @@ packages: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} @@ -2143,9 +2197,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -2195,6 +2246,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -2855,6 +2909,9 @@ packages: resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} engines: {node: '>=12.0.0'} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2926,10 +2983,6 @@ packages: is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -3099,11 +3152,6 @@ packages: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - jsonc-eslint-parser@2.4.0: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3202,10 +3250,6 @@ packages: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - local-pkg@1.2.1: resolution: {integrity: sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==} engines: {node: '>=14'} @@ -3246,9 +3290,9 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string-ast@0.6.2: - resolution: {integrity: sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==} - engines: {node: '>=16.14.0'} + magic-string-ast@1.0.3: + resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} + engines: {node: '>=20.19.0'} magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} @@ -3313,9 +3357,6 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} @@ -3325,8 +3366,8 @@ packages: muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - naive-ui@2.44.1: - resolution: {integrity: sha512-reo8Esw0p58liZwbUutC7meW24Xbn3EwNv91zReWKm2W4JPu+zfgJRn/F7aO0BFmvN+h2brA2M5lRvYqLq4kuA==} + naive-ui@2.45.3: + resolution: {integrity: sha512-D83gJ+6zUdkQ5DuUbmlfyaM1t8pV5WMPa6KmL9mByqQuiL12qBdA0n/iEIth4dQw1x/duNGpOS2anpt5FKO1kw==} engines: {node: '>=20'} peerDependencies: vue: ^3.0.0 @@ -3361,10 +3402,6 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - nostics@1.3.0: resolution: {integrity: sha512-wzRsrJwNlFbqIRQt8aCeL2WE8USip/uuvGSOZV1D02CxX8ABTMbw8IywKjH7yWHETMXbWJI4OBpihg9rmz2Vyg==} @@ -3510,9 +3547,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -3537,21 +3571,16 @@ packages: resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} - pinia@2.2.2: - resolution: {integrity: sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==} + pinia@4.1.0: + resolution: {integrity: sha512-+5/HMuVjYQfKlCD5xQ7zfXn1xUzYFEa7pd0DQK5SaMfZCaFRTHlaH/c02N1FoGOdlzSiwf5EOPgJx//1QDw6gw==} peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.3.0 + '@vue/devtools-api': ^8.2.1 + typescript: '>=5.6.0' + vue: ^3.5.11 peerDependenciesMeta: - '@vue/composition-api': - optional: true typescript: optional: true - pkg-types@1.2.0: - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -3685,10 +3714,6 @@ packages: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - readdirp@5.1.1: resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==} engines: {node: '>= 20.19.0'} @@ -4173,9 +4198,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} @@ -4246,24 +4268,6 @@ packages: '@nuxt/kit': optional: true - unplugin-vue-router@0.6.4: - resolution: {integrity: sha512-9THVhhtbVFxbsIibjK59oPwMI1UCxRWRPX7azSkTUABsxovlOXJys5SJx0kd/0oKIqNJuYgkRfAgPuO77SqCOg==} - deprecated: 'Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html' - peerDependencies: - vue-router: ^4.1.0 - peerDependenciesMeta: - vue-router: - optional: true - - unplugin@1.14.1: - resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} - engines: {node: '>=14.0.0'} - peerDependencies: - webpack-sources: ^3 - peerDependenciesMeta: - webpack-sources: - optional: true - unplugin@2.3.11: resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} @@ -4450,17 +4454,6 @@ packages: vue-component-type-helpers@3.3.13: resolution: {integrity: sha512-02KCxSmKDhIITjKyJ4QT5csP6L0WoRborLqY/34a40+S9uvMvdNgMV0yVjO3p2Gkz3ZoPmFz/0JsGHacwJYTxw==} - vue-demi@0.14.10: - resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue-docgen-api@4.79.2: resolution: {integrity: sha512-n9ENAcs+40awPZMsas7STqjkZiVlIjxIKgiJr5rSohDP0/JCrD9VtlzNojafsA1MChm/hz2h3PDtUedx3lbgfA==} peerDependencies: @@ -4472,10 +4465,9 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@9.14.5: - resolution: {integrity: sha512-0jQ9Em3ymWngyiIkj0+c/k7WgaPO+TNzjKSNq9BvBQaKJECqn9cd9fL4tkDhB5G1QBskGl9YxxbDAhgbFtpe2g==} - engines: {node: '>= 16'} - deprecated: v9 and v10 no longer supported. please migrate to v11. about maintenance status, see https://vue-i18n.intlify.dev/guide/maintenance.html + vue-i18n@11.4.16: + resolution: {integrity: sha512-Kv9tp6iTmaAeOwop7hkAo28N1IBsbSVpnxyE26b6gqc4Q2E9Ke3ZHHA3oqqwS6/cYLT1henZU4etTaLQxrK98Q==} + engines: {node: '>= 22'} peerDependencies: vue: ^3.0.0 @@ -4489,10 +4481,23 @@ packages: peerDependencies: vue: ^3 - vue-router@4.4.5: - resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} + vue-router@5.4.0: + resolution: {integrity: sha512-pFvcYcxinDHjZUlf7AzFBrT8r8Xqvv4uMHoJnjc+EqPawXQvHTkF8S4tfSmQLpriVHUGfkaKlI7Et0KRjTMTdw==} peerDependencies: - vue: ^3.2.0 + '@pinia/colada': '>=0.21.2' + '@vue/compiler-sfc': ^3.5.34 || ^4.0.0 + pinia: ^3.0.4 || ^4.0.2 + vite: ^7.3.0 || ^8.0.0 + vue: ^3.5.34 || ^4.0.0 + peerDependenciesMeta: + '@pinia/colada': + optional: true + '@vue/compiler-sfc': + optional: true + pinia: + optional: true + vite: + optional: true vue-tsc@3.3.13: resolution: {integrity: sha512-jE4/bXdOMSHVxEGgQCqNllJy+9N3Gx6tfSAsg0yhFK/MAN6eXqISihupnDEKSCt12VVnjN2gI3AqLYcqoh5x/A==} @@ -4500,8 +4505,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.8: - resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} + vue@3.5.44: + resolution: {integrity: sha512-dvvmaOCG7lAMkJTPqPwWeGMsPS6DIsFsfZDUgBp9V6mHf9b3+/wyVwYR4Es+WV6uJC0FKRxp81Obcq0ZwUcGFQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4513,15 +4518,11 @@ packages: peerDependencies: vue: ^3.0.1 - vueuc@0.4.65: - resolution: {integrity: sha512-lXuMl+8gsBmruudfxnMF9HW4be8rFziylXFu1VHVNbLVhRTXXV4njvpRuJapD/8q+oFEMSfQMH16E/85VoWRyQ==} + vueuc@0.4.66: + resolution: {integrity: sha512-hHrZl+0AsrUvqYPBXSXQ2QaSrO3razjeUseLAhJWlOS/Hdfw/Y2MU05fOTP1qn1A3121gMxsHLaEz2V6CkWdTg==} peerDependencies: vue: ^3.0.11 - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} @@ -4689,8 +4690,16 @@ snapshots: '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-string-parser@8.0.6': {} + '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-identifier@8.0.6': {} + '@babel/highlight@7.24.7': dependencies: '@babel/helper-validator-identifier': 7.24.7 @@ -4702,6 +4711,14 @@ snapshots: dependencies: '@babel/types': 7.25.6 + '@babel/parser@7.29.9': + dependencies: + '@babel/types': 7.29.8 + + '@babel/parser@8.0.7': + dependencies: + '@babel/types': 8.0.6 + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 @@ -4712,6 +4729,16 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@babel/types@8.0.6': + dependencies: + '@babel/helper-string-parser': 8.0.6 + '@babel/helper-validator-identifier': 8.0.6 + '@bufbuild/protobuf@2.16.0': {} '@colordx/core@7.3.0': {} @@ -4720,9 +4747,9 @@ snapshots: dependencies: css-render: 0.15.14 - '@css-render/vue3-ssr@0.15.14(vue@3.5.8(typescript@6.0.3))': + '@css-render/vue3-ssr@0.15.14(vue@3.5.44(typescript@6.0.3))': dependencies: - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@emnapi/core@1.11.0': dependencies: @@ -4930,10 +4957,10 @@ snapshots: '@eslint/js@8.57.1': {} - '@headlessui/vue@1.7.23(vue@3.5.8(typescript@6.0.3))': + '@headlessui/vue@1.7.23(vue@3.5.44(typescript@6.0.3))': dependencies: - '@tanstack/vue-virtual': 3.10.8(vue@3.5.8(typescript@6.0.3)) - vue: 3.5.8(typescript@6.0.3) + '@tanstack/vue-virtual': 3.10.8(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) '@humanwhocodes/config-array@0.13.0(supports-color@8.1.1)': dependencies: @@ -4947,9 +4974,9 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@icon-park/vue-next@1.4.2(vue@3.5.8(typescript@6.0.3))': + '@icon-park/vue-next@1.4.2(vue@3.5.44(typescript@6.0.3))': dependencies: - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@iconify-json/simple-icons@1.2.89': dependencies: @@ -4963,7 +4990,7 @@ snapshots: '@iconify/types': 2.0.0 import-meta-resolve: 4.2.0 - '@intlify/bundle-utils@11.2.7(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)))': + '@intlify/bundle-utils@11.2.7(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)))': dependencies: '@intlify/message-compiler': 11.4.16 '@intlify/shared': 11.4.16 @@ -4973,34 +5000,33 @@ snapshots: source-map-js: 1.2.2 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 9.14.5(vue@3.5.8(typescript@6.0.3)) + vue-i18n: 11.4.16(vue@3.5.44(typescript@6.0.3)) - '@intlify/core-base@9.14.5': + '@intlify/core-base@11.4.16': dependencies: - '@intlify/message-compiler': 9.14.5 - '@intlify/shared': 9.14.5 + '@intlify/devtools-types': 11.4.16 + '@intlify/message-compiler': 11.4.16 + '@intlify/shared': 11.4.16 + + '@intlify/devtools-types@11.4.16': + dependencies: + '@intlify/core-base': 11.4.16 + '@intlify/shared': 11.4.16 '@intlify/message-compiler@11.4.16': dependencies: '@intlify/shared': 11.4.16 source-map-js: 1.2.2 - '@intlify/message-compiler@9.14.5': - dependencies: - '@intlify/shared': 9.14.5 - source-map-js: 1.2.1 - '@intlify/shared@10.0.8': {} '@intlify/shared@11.4.16': {} - '@intlify/shared@9.14.5': {} - - '@intlify/unplugin-vue-i18n@11.2.7(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3))': + '@intlify/unplugin-vue-i18n@11.2.7(supports-color@8.1.1)(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)))(vue@3.5.44(typescript@6.0.3))': dependencies: - '@intlify/bundle-utils': 11.2.7(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3))) + '@intlify/bundle-utils': 11.2.7(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3))) '@intlify/shared': 11.4.16 - '@intlify/vue-i18n-extensions': 8.0.0(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3)) + '@intlify/vue-i18n-extensions': 8.0.0(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)))(vue@3.5.44(typescript@6.0.3)) '@rollup/pluginutils': 5.1.1 '@typescript-eslint/scope-manager': 8.71.2 '@typescript-eslint/typescript-estree': 8.71.2(supports-color@8.1.1)(typescript@6.0.3) @@ -5009,23 +5035,23 @@ snapshots: picocolors: 1.1.1 tinyglobby: 0.2.17 unplugin: 2.3.11 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) optionalDependencies: vite: 8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1) - vue-i18n: 9.14.5(vue@3.5.8(typescript@6.0.3)) + vue-i18n: 11.4.16(vue@3.5.44(typescript@6.0.3)) transitivePeerDependencies: - rollup - supports-color - typescript - '@intlify/vue-i18n-extensions@8.0.0(vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3))': + '@intlify/vue-i18n-extensions@8.0.0(vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)))(vue@3.5.44(typescript@6.0.3))': dependencies: '@babel/parser': 7.25.6 '@intlify/shared': 10.0.8 '@vue/compiler-dom': 3.5.8 optionalDependencies: - vue: 3.5.8(typescript@6.0.3) - vue-i18n: 9.14.5(vue@3.5.8(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) + vue-i18n: 11.4.16(vue@3.5.44(typescript@6.0.3)) '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -5449,10 +5475,10 @@ snapshots: optionalDependencies: '@types/react': 18.3.8 - '@storybook/vue3-vite@10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3))': + '@storybook/vue3-vite@10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3))': dependencies: '@storybook/builder-vite': 10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) - '@storybook/vue3': 10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vue@3.5.8(typescript@6.0.3)) + '@storybook/vue3': 10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)) magic-string: 1.4.3 storybook: 10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0) vite: 8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1) @@ -5461,26 +5487,26 @@ snapshots: transitivePeerDependencies: - vue - '@storybook/vue3@10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vue@3.5.8(typescript@6.0.3))': + '@storybook/vue3@10.6.2(storybook@10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0))(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3))': dependencies: '@storybook/global': 5.0.0 '@vue/compiler-dom': 3.5.8 '@vue/language-core': 3.3.13 storybook: 10.6.2(@types/react@18.3.8)(prettier@2.8.8)(react@18.2.0) type-fest: 5.10.0 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vue-component-meta: 3.3.13(typescript@6.0.3) vue-component-type-helpers: 3.3.13 - vue-docgen-api: 4.79.2(vue@3.5.8(typescript@6.0.3)) + vue-docgen-api: 4.79.2(vue@3.5.44(typescript@6.0.3)) optionalDependencies: typescript: 6.0.3 '@tanstack/virtual-core@3.10.8': {} - '@tanstack/vue-virtual@3.10.8(vue@3.5.8(typescript@6.0.3))': + '@tanstack/vue-virtual@3.10.8(vue@3.5.44(typescript@6.0.3))': dependencies: '@tanstack/virtual-core': 3.10.8 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@testing-library/dom@10.4.2': dependencies: @@ -5555,7 +5581,7 @@ snapshots: '@types/unist@2.0.11': {} - '@types/web-bluetooth@0.0.20': {} + '@types/web-bluetooth@0.0.21': {} '@types/whatwg-mimetype@3.0.2': {} @@ -5881,11 +5907,11 @@ snapshots: - ocache - srvx - '@vitejs/plugin-vue@6.0.10(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3))': + '@vitejs/plugin-vue@6.0.10(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3))': dependencies: '@rolldown/pluginutils': 1.0.1 vite: 8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1) - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) '@vitest/expect@3.2.4': dependencies: @@ -5934,18 +5960,23 @@ snapshots: optionalDependencies: typescript: 6.0.3 - '@vue-macros/common@1.14.0(vue@3.5.8(typescript@6.0.3))': + '@vue-macros/common@3.1.4(vue@3.5.44(typescript@6.0.3))': dependencies: - '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.1 - '@vue/compiler-sfc': 3.5.8 - ast-kit: 1.2.0 - local-pkg: 0.5.0 - magic-string-ast: 0.6.2 + '@vue/compiler-sfc': 3.5.44 + ast-kit: 2.2.0 + local-pkg: 1.2.1 + magic-string-ast: 1.0.3 + unplugin-utils: 0.3.2 optionalDependencies: - vue: 3.5.8(typescript@6.0.3) - transitivePeerDependencies: - - rollup + vue: 3.5.44(typescript@6.0.3) + + '@vue/compiler-core@3.5.44': + dependencies: + '@babel/parser': 7.29.9 + '@vue/shared': 3.5.44 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.2 '@vue/compiler-core@3.5.8': dependencies: @@ -5955,11 +5986,28 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 + '@vue/compiler-dom@3.5.44': + dependencies: + '@vue/compiler-core': 3.5.44 + '@vue/shared': 3.5.44 + '@vue/compiler-dom@3.5.8': dependencies: '@vue/compiler-core': 3.5.8 '@vue/shared': 3.5.8 + '@vue/compiler-sfc@3.5.44': + dependencies: + '@babel/parser': 7.29.9 + '@vue/compiler-core': 3.5.44 + '@vue/compiler-dom': 3.5.44 + '@vue/compiler-ssr': 3.5.44 + '@vue/shared': 3.5.44 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.31 + source-map-js: 1.2.2 + '@vue/compiler-sfc@3.5.8': dependencies: '@babel/parser': 7.25.6 @@ -5972,6 +6020,11 @@ snapshots: postcss: 8.4.47 source-map-js: 1.2.1 + '@vue/compiler-ssr@3.5.44': + dependencies: + '@vue/compiler-dom': 3.5.44 + '@vue/shared': 3.5.44 + '@vue/compiler-ssr@3.5.8': dependencies: '@vue/compiler-dom': 3.5.8 @@ -5979,6 +6032,19 @@ snapshots: '@vue/devtools-api@6.6.4': {} + '@vue/devtools-api@8.2.1': + dependencies: + '@vue/devtools-kit': 8.2.1 + + '@vue/devtools-kit@8.2.1': + dependencies: + '@vue/devtools-shared': 8.2.1 + birpc: 2.9.0 + hookable: 5.5.3 + perfect-debounce: 2.1.0 + + '@vue/devtools-shared@8.2.1': {} + '@vue/language-core@3.3.13': dependencies: '@volar/language-core': 2.4.28 @@ -5989,57 +6055,53 @@ snapshots: path-browserify: 1.0.1 picomatch: 4.0.7 - '@vue/reactivity@3.5.8': + '@vue/reactivity@3.5.44': dependencies: - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.44 - '@vue/runtime-core@3.5.8': + '@vue/runtime-core@3.5.44': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.44 + '@vue/shared': 3.5.44 - '@vue/runtime-dom@3.5.8': + '@vue/runtime-dom@3.5.44': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/runtime-core': 3.5.8 - '@vue/shared': 3.5.8 - csstype: 3.1.3 + '@vue/reactivity': 3.5.44 + '@vue/runtime-core': 3.5.44 + '@vue/shared': 3.5.44 + csstype: 3.2.3 - '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@6.0.3))': + '@vue/server-renderer@3.5.44': dependencies: - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 - vue: 3.5.8(typescript@6.0.3) + '@vue/compiler-ssr': 3.5.44 + '@vue/runtime-dom': 3.5.44 + '@vue/shared': 3.5.44 + + '@vue/shared@3.5.44': {} '@vue/shared@3.5.8': {} - '@vue/test-utils@2.5.1(@vue/compiler-dom@3.5.8)(@vue/server-renderer@3.5.8(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3))': + '@vue/test-utils@2.5.1(@vue/compiler-dom@3.5.44)(@vue/server-renderer@3.5.44)(vue@3.5.44(typescript@6.0.3))': dependencies: - '@vue/compiler-dom': 3.5.8 + '@vue/compiler-dom': 3.5.44 js-beautify: 2.0.3 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vue-component-type-helpers: 3.3.13 optionalDependencies: - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@6.0.3)) + '@vue/server-renderer': 3.5.44 - '@vueuse/core@10.11.1(vue@3.5.8(typescript@6.0.3))': + '@vueuse/core@15.0.0(vue@3.5.44(typescript@6.0.3))': dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.8(typescript@6.0.3)) - vue-demi: 0.14.10(vue@3.5.8(typescript@6.0.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 15.0.0 + '@vueuse/shared': 15.0.0(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) - '@vueuse/metadata@10.11.1': {} + '@vueuse/metadata@15.0.0': {} - '@vueuse/shared@10.11.1(vue@3.5.8(typescript@6.0.3))': + '@vueuse/shared@15.0.0(vue@3.5.44(typescript@6.0.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.8(typescript@6.0.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue + vue: 3.5.44(typescript@6.0.3) '@webcontainer/env@1.1.1': {} @@ -6057,7 +6119,7 @@ snapshots: agent-base@6.0.2(supports-color@8.1.1): dependencies: - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -6082,11 +6144,6 @@ snapshots: ansi-styles@5.2.0: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - argparse@2.0.1: {} aria-query@5.1.3: @@ -6153,19 +6210,26 @@ snapshots: assertion-error@2.0.1: {} - ast-kit@1.2.0: + ast-kit@2.2.0: dependencies: - '@babel/parser': 7.25.6 - pathe: 1.1.2 + '@babel/parser': 7.29.9 + pathe: 2.0.3 + + ast-kit@3.0.0: + dependencies: + '@babel/parser': 8.0.7 + estree-walker: 3.0.3 + pathe: 2.0.3 ast-types@0.16.1: dependencies: tslib: 2.7.0 - ast-walker-scope@0.4.2: + ast-walker-scope@0.10.0: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 8.0.7 + '@babel/types': 8.0.6 + ast-kit: 3.0.0 async-validator@4.2.5: {} @@ -6175,7 +6239,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@1.18.1(debug@4.3.7(supports-color@8.1.1))(supports-color@8.1.1): + axios@1.20.0(debug@4.3.7(supports-color@8.1.1))(supports-color@8.1.1): dependencies: follow-redirects: 1.16.0(debug@4.3.7(supports-color@8.1.1)) form-data: 4.0.6 @@ -6193,7 +6257,7 @@ snapshots: balanced-match@4.0.4: {} - binary-extensions@2.3.0: {} + birpc@2.9.0: {} boolbase@1.0.0: {} @@ -6277,18 +6341,6 @@ snapshots: check-error@2.1.3: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@5.0.0: dependencies: readdirp: 5.1.1 @@ -6326,8 +6378,6 @@ snapshots: concat-map@0.0.1: {} - confbox@0.1.7: {} - confbox@0.1.8: {} confbox@0.3.1: {} @@ -6372,6 +6422,8 @@ snapshots: csstype@3.1.3: {} + csstype@3.2.3: {} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -7210,6 +7262,8 @@ snapshots: highlight.js@11.10.0: {} + hookable@5.5.3: {} + hosted-git-info@2.8.9: {} htmlparser2@8.0.2: @@ -7222,7 +7276,7 @@ snapshots: https-proxy-agent@5.0.1(supports-color@8.1.1): dependencies: agent-base: 6.0.2(supports-color@8.1.1) - debug: 4.3.7(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -7281,10 +7335,6 @@ snapshots: dependencies: has-bigints: 1.0.2 - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 @@ -7423,8 +7473,6 @@ snapshots: dependencies: minimist: 1.2.8 - json5@2.2.3: {} - jsonc-eslint-parser@2.4.0: dependencies: acorn: 8.12.1 @@ -7501,11 +7549,6 @@ snapshots: local-pkg@0.4.3: {} - local-pkg@0.5.0: - dependencies: - mlly: 1.7.1 - pkg-types: 1.2.0 - local-pkg@1.2.1: dependencies: mlly: 1.8.2 @@ -7538,9 +7581,9 @@ snapshots: lz-string@1.5.0: {} - magic-string-ast@0.6.2: + magic-string-ast@1.0.3: dependencies: - magic-string: 0.30.11 + magic-string: 0.30.21 magic-string@0.30.11: dependencies: @@ -7606,13 +7649,6 @@ snapshots: minipass@7.1.3: {} - mlly@1.7.1: - dependencies: - acorn: 8.12.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - ufo: 1.5.4 - mlly@1.8.2: dependencies: acorn: 8.19.0 @@ -7624,10 +7660,10 @@ snapshots: muggle-string@0.4.1: {} - naive-ui@2.44.1(vue@3.5.8(typescript@6.0.3)): + naive-ui@2.45.3(vue@3.5.44(typescript@6.0.3)): dependencies: '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) - '@css-render/vue3-ssr': 0.15.14(vue@3.5.8(typescript@6.0.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.44(typescript@6.0.3)) '@types/lodash': 4.17.24 '@types/lodash-es': 4.17.12 async-validator: 4.2.5 @@ -7641,10 +7677,10 @@ snapshots: lodash-es: 4.17.21 seemly: 0.3.10 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.5.8(typescript@6.0.3)) - vooks: 0.2.12(vue@3.5.8(typescript@6.0.3)) - vue: 3.5.8(typescript@6.0.3) - vueuc: 0.4.65(vue@3.5.8(typescript@6.0.3)) + vdirs: 0.1.8(vue@3.5.44(typescript@6.0.3)) + vooks: 0.2.12(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) + vueuc: 0.4.66(vue@3.5.44(typescript@6.0.3)) nanoid@3.3.20: {} @@ -7670,8 +7706,6 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} - nostics@1.3.0: {} nth-check@2.1.1: @@ -7879,8 +7913,6 @@ snapshots: path-type@4.0.0: {} - pathe@1.1.2: {} - pathe@2.0.3: {} pathval@2.0.1: {} @@ -7895,20 +7927,14 @@ snapshots: picomatch@4.0.7: {} - pinia@2.2.2(typescript@6.0.3)(vue@3.5.8(typescript@6.0.3)): + pinia@4.1.0(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)): dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.8(typescript@6.0.3) - vue-demi: 0.14.10(vue@3.5.8(typescript@6.0.3)) + '@vue/devtools-api': 8.2.1 + nostics: 1.3.0 + vue: 3.5.44(typescript@6.0.3) optionalDependencies: typescript: 6.0.3 - pkg-types@1.2.0: - dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -8068,10 +8094,6 @@ snapshots: parse-json: 5.2.0 type-fest: 0.6.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - readdirp@5.1.1: {} recast@0.23.9: @@ -8542,8 +8564,6 @@ snapshots: typescript@6.0.3: {} - ufo@1.5.4: {} - ufo@1.6.4: {} unbox-primitive@1.0.2: @@ -8632,7 +8652,7 @@ snapshots: - srvx - vite - unplugin-auto-import@21.1.0(@vueuse/core@10.11.1(vue@3.5.8(typescript@6.0.3)))(oxc-parser@0.153.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)): + unplugin-auto-import@21.1.0(@vueuse/core@15.0.0(vue@3.5.44(typescript@6.0.3)))(oxc-parser@0.153.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)): dependencies: local-pkg: 1.2.1 magic-string: 1.4.3 @@ -8641,7 +8661,7 @@ snapshots: unplugin: 3.4.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) unplugin-utils: 0.3.2 optionalDependencies: - '@vueuse/core': 10.11.1(vue@3.5.8(typescript@6.0.3)) + '@vueuse/core': 15.0.0(vue@3.5.44(typescript@6.0.3)) transitivePeerDependencies: - '@farmfe/core' - '@rsbuild/core' @@ -8660,7 +8680,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.7 - unplugin-vue-components@32.1.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.8(typescript@6.0.3)): + unplugin-vue-components@32.1.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)): dependencies: chokidar: 5.0.0 local-pkg: 1.2.1 @@ -8671,7 +8691,7 @@ snapshots: tinyglobby: 0.2.17 unplugin: 3.4.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) unplugin-utils: 0.3.2 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) transitivePeerDependencies: - '@farmfe/core' - '@rsbuild/core' @@ -8684,35 +8704,6 @@ snapshots: - vite - webpack - unplugin-vue-router@0.6.4(vue-router@4.4.5(vue@3.5.8(typescript@6.0.3)))(vue@3.5.8(typescript@6.0.3))(webpack-sources@3.2.3): - dependencies: - '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.1 - '@vue-macros/common': 1.14.0(vue@3.5.8(typescript@6.0.3)) - ast-walker-scope: 0.4.2 - chokidar: 3.6.0 - fast-glob: 3.3.2 - json5: 2.2.3 - local-pkg: 0.4.3 - mlly: 1.7.1 - pathe: 1.1.2 - scule: 1.3.0 - unplugin: 1.14.1(webpack-sources@3.2.3) - yaml: 2.5.1 - optionalDependencies: - vue-router: 4.4.5(vue@3.5.8(typescript@6.0.3)) - transitivePeerDependencies: - - rollup - - vue - - webpack-sources - - unplugin@1.14.1(webpack-sources@3.2.3): - dependencies: - acorn: 8.12.1 - webpack-virtual-modules: 0.6.2 - optionalDependencies: - webpack-sources: 3.2.3 - unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 @@ -8746,10 +8737,10 @@ snapshots: varint@6.0.0: {} - vdirs@0.1.8(vue@3.5.8(typescript@6.0.3)): + vdirs@0.1.8(vue@3.5.44(typescript@6.0.3)): dependencies: evtd: 0.2.4 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1): dependencies: @@ -8791,10 +8782,10 @@ snapshots: void-elements@3.1.0: {} - vooks@0.2.12(vue@3.5.8(typescript@6.0.3)): + vooks@0.2.12(vue@3.5.44(typescript@6.0.3)): dependencies: evtd: 0.2.4 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) vscode-jsonrpc@9.0.3: {} @@ -8823,11 +8814,7 @@ snapshots: vue-component-type-helpers@3.3.13: {} - vue-demi@0.14.10(vue@3.5.8(typescript@6.0.3)): - dependencies: - vue: 3.5.8(typescript@6.0.3) - - vue-docgen-api@4.79.2(vue@3.5.8(typescript@6.0.3)): + vue-docgen-api@4.79.2(vue@3.5.44(typescript@6.0.3)): dependencies: '@babel/parser': 7.25.6 '@babel/types': 7.25.6 @@ -8840,8 +8827,8 @@ snapshots: pug: 3.0.3 recast: 0.23.9 ts-map: 1.0.3 - vue: 3.5.8(typescript@6.0.3) - vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.8(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) + vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.44(typescript@6.0.3)) vue-eslint-parser@9.4.3(eslint@8.57.1(supports-color@8.1.1))(supports-color@8.1.1): dependencies: @@ -8856,25 +8843,55 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.5(vue@3.5.8(typescript@6.0.3)): + vue-i18n@11.4.16(vue@3.5.44(typescript@6.0.3)): dependencies: - '@intlify/core-base': 9.14.5 - '@intlify/shared': 9.14.5 + '@intlify/core-base': 11.4.16 + '@intlify/devtools-types': 11.4.16 + '@intlify/shared': 11.4.16 '@vue/devtools-api': 6.6.4 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.8(typescript@6.0.3)): + vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.44(typescript@6.0.3)): dependencies: - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - vue-inline-svg@3.1.4(vue@3.5.8(typescript@6.0.3)): + vue-inline-svg@3.1.4(vue@3.5.44(typescript@6.0.3)): dependencies: - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - vue-router@4.4.5(vue@3.5.8(typescript@6.0.3)): + vue-router@5.4.0(@vue/compiler-sfc@3.5.44)(pinia@4.1.0(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)))(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1))(vue@3.5.44(typescript@6.0.3)): dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.8(typescript@6.0.3) + '@vue-macros/common': 3.1.4(vue@3.5.44(typescript@6.0.3)) + '@vue/devtools-api': 8.2.1 + ast-walker-scope: 0.10.0 + chokidar: 5.0.0 + confbox: 0.3.1 + local-pkg: 1.2.1 + magic-string: 1.4.3 + mlly: 1.8.2 + muggle-string: 0.4.1 + nostics: 1.3.0 + pathe: 2.0.3 + picomatch: 4.0.7 + scule: 1.3.0 + tinyglobby: 0.2.17 + unplugin: 3.4.0(rolldown@1.2.14)(vite@8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1)) + unplugin-utils: 0.3.2 + vue: 3.5.44(typescript@6.0.3) + optionalDependencies: + '@vue/compiler-sfc': 3.5.44 + pinia: 4.1.0(@vue/devtools-api@8.2.1)(typescript@6.0.3)(vue@3.5.44(typescript@6.0.3)) + vite: 8.3.4(@types/node@24.19.2)(jiti@2.7.0)(sass-embedded@1.105.2)(sass@1.105.2)(terser@5.33.0)(yaml@2.5.1) + transitivePeerDependencies: + - '@farmfe/core' + - '@rsbuild/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rolldown + - rollup + - unloader + - webpack vue-tsc@3.3.13(typescript@6.0.3): dependencies: @@ -8882,34 +8899,31 @@ snapshots: '@vue/language-core': 3.3.13 typescript: 6.0.3 - vue@3.5.8(typescript@6.0.3): + vue@3.5.44(typescript@6.0.3): dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-sfc': 3.5.8 - '@vue/runtime-dom': 3.5.8 - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@6.0.3)) - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.44 + '@vue/compiler-sfc': 3.5.44 + '@vue/runtime-dom': 3.5.44 + '@vue/server-renderer': 3.5.44 + '@vue/shared': 3.5.44 optionalDependencies: typescript: 6.0.3 - vuedraggable@4.1.0(vue@3.5.8(typescript@6.0.3)): + vuedraggable@4.1.0(vue@3.5.44(typescript@6.0.3)): dependencies: sortablejs: 1.14.0 - vue: 3.5.8(typescript@6.0.3) + vue: 3.5.44(typescript@6.0.3) - vueuc@0.4.65(vue@3.5.8(typescript@6.0.3)): + vueuc@0.4.66(vue@3.5.44(typescript@6.0.3)): dependencies: - '@css-render/vue3-ssr': 0.15.14(vue@3.5.8(typescript@6.0.3)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.44(typescript@6.0.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.8(typescript@6.0.3)) - vooks: 0.2.12(vue@3.5.8(typescript@6.0.3)) - vue: 3.5.8(typescript@6.0.3) - - webpack-sources@3.2.3: - optional: true + vdirs: 0.1.8(vue@3.5.44(typescript@6.0.3)) + vooks: 0.2.12(vue@3.5.44(typescript@6.0.3)) + vue: 3.5.44(typescript@6.0.3) webpack-virtual-modules@0.6.2: {} diff --git a/webui/src/pages/index.vue b/webui/src/pages/index.vue index d54b7c91..2c414e8f 100644 --- a/webui/src/pages/index.vue +++ b/webui/src/pages/index.vue @@ -17,8 +17,8 @@ const { slots, loaded, loadFailed } = usePluginUi(); const pageTitle = computed(() => { const name = String(route.name ?? ''); if (name === 'Market') return t('market.title'); - if (name !== 'Plugin') return name; - const id = (route.params as Record).id; + if (route.name !== 'Plugin') return name; + const id = route.params.id; const ui = slots.value.find((s) => s.slot === 'page' && s.plugin_id === id); if (ui) return slotTitle(ui, lang.value === 'zh-CN' ? 'zh-CN' : 'en-US'); return loaded.value || loadFailed.value ? id : ''; diff --git a/webui/src/pages/index/bangumi-torrents/[id]/index.vue b/webui/src/pages/index/bangumi-torrents/[id]/index.vue index ecefe70f..6b3a8e77 100644 --- a/webui/src/pages/index/bangumi-torrents/[id]/index.vue +++ b/webui/src/pages/index/bangumi-torrents/[id]/index.vue @@ -6,13 +6,13 @@ definePage({ name: 'Bangumi Torrents', }); -const route = useRoute(); +const route = useRoute('Bangumi Torrents'); const router = useRouter(); const { t } = useI18n(); // KeepAlive 会复用同一实例,路由参数必须保持响应式;非法 id 归一为 null const bangumiId = computed(() => { - const id = Number((route.params as Record).id); + const id = Number(route.params.id); return Number.isInteger(id) && id > 0 ? id : null; }); diff --git a/webui/src/pages/index/log.vue b/webui/src/pages/index/log.vue index 87d86d76..4a64b190 100644 --- a/webui/src/pages/index/log.vue +++ b/webui/src/pages/index/log.vue @@ -1,5 +1,4 @@ diff --git a/webui/src/router/index.test.ts b/webui/src/router/index.test.ts new file mode 100644 index 00000000..c1d02d83 --- /dev/null +++ b/webui/src/router/index.test.ts @@ -0,0 +1,10 @@ +import { router } from './index'; + +// setup.ts 全局 mock 了 vue-router,这里换回真实模块 +vi.unmock('vue-router'); + +describe('router', () => { + it('should register file-based routes when the module loads', () => { + expect(router.getRoutes().length).toBeGreaterThan(0); + }); +}); diff --git a/webui/src/router/index.ts b/webui/src/router/index.ts index 8d3958da..05026b6d 100644 --- a/webui/src/router/index.ts +++ b/webui/src/router/index.ts @@ -1,7 +1,9 @@ -import { createRouter, createWebHashHistory } from 'vue-router/auto'; +import { createRouter, createWebHashHistory } from 'vue-router'; +import { routes } from 'vue-router/auto-routes'; const router = createRouter({ history: createWebHashHistory(), + routes, }); let setupChecked = false; diff --git a/webui/src/utils/axios.ts b/webui/src/utils/axios.ts index 7aef5614..79d76544 100644 --- a/webui/src/utils/axios.ts +++ b/webui/src/utils/axios.ts @@ -88,7 +88,8 @@ export function onResponseError(err: AxiosError) { // Handle network errors (no response from server) if (!err.response) { - if (!silent) { + // 页面跳转中断的请求(ECONNABORTED)不是网络故障,不弹提示 + if (!silent && err.code !== 'ECONNABORTED') { showErrorThrottled( returnUserLangText({ en: 'Network error. Please check your connection.', diff --git a/webui/types/dts/auto-imports.d.ts b/webui/types/dts/auto-imports.d.ts index 15428825..ecb80503 100644 --- a/webui/types/dts/auto-imports.d.ts +++ b/webui/types/dts/auto-imports.d.ts @@ -44,7 +44,7 @@ declare global { const defineAsyncComponent: typeof import('vue').defineAsyncComponent const defineComponent: typeof import('vue').defineComponent const defineLoader: typeof import('vue-router/auto').defineLoader - const definePage: typeof import('unplugin-vue-router/runtime')._definePage + const definePage: typeof import('vue-router/experimental').definePage const defineStore: typeof import('pinia').defineStore const dirtyConfigGroups: typeof import('../../src/utils/config-diff').dirtyConfigGroups const effectScope: typeof import('vue').effectScope @@ -77,8 +77,8 @@ declare global { const nextTick: typeof import('vue').nextTick const onActivated: typeof import('vue').onActivated const onBeforeMount: typeof import('vue').onBeforeMount - const onBeforeRouteLeave: typeof import('vue-router/auto').onBeforeRouteLeave - const onBeforeRouteUpdate: typeof import('vue-router/auto').onBeforeRouteUpdate + const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave + const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate const onBeforeUnmount: typeof import('vue').onBeforeUnmount const onBeforeUpdate: typeof import('vue').onBeforeUpdate const onDeactivated: typeof import('vue').onDeactivated @@ -165,8 +165,8 @@ declare global { const usePreferredDark: typeof import('@vueuse/core').usePreferredDark const useProgramStore: typeof import('../../src/store/program').useProgramStore const useRSSStore: typeof import('../../src/store/rss').useRSSStore - const useRoute: typeof import('vue-router/auto').useRoute - const useRouter: typeof import('vue-router/auto').useRouter + const useRoute: typeof import('vue-router').useRoute + const useRouter: typeof import('vue-router').useRouter const useSafeArea: typeof import('../../src/hooks/useSafeArea').useSafeArea const useSearchStore: typeof import('../../src/store/search').useSearchStore const useSetupStore: typeof import('../../src/store/setup').useSetupStore diff --git a/webui/types/dts/router-type.d.ts b/webui/types/dts/router-type.d.ts index c95c20ae..cf4b7422 100644 --- a/webui/types/dts/router-type.d.ts +++ b/webui/types/dts/router-type.d.ts @@ -1,154 +1,292 @@ /* eslint-disable */ /* prettier-ignore */ +// oxfmt-ignore // @ts-nocheck -// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️ +// noinspection ES6UnusedImports +// Generated by vue-router. !! DO NOT MODIFY THIS FILE !! // It's recommended to commit this file. // Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. -/// - import type { - // type safe route locations - RouteLocationTypedList, - RouteLocationResolvedTypedList, - RouteLocationNormalizedTypedList, - RouteLocationNormalizedLoadedTypedList, - RouteLocationAsString, - RouteLocationAsRelativeTypedList, - RouteLocationAsPathTypedList, - - // helper types - // route definitions RouteRecordInfo, ParamValue, ParamValueOneOrMore, ParamValueZeroOrMore, ParamValueZeroOrOne, - - // vue-router extensions - _RouterTyped, - RouterLinkTyped, - RouterLinkPropsTyped, - NavigationGuard, - UseLinkFnTyped, - - // data fetching - _DataLoader, - _DefineLoaderOptions, -} from 'unplugin-vue-router/types' - -declare module 'vue-router/auto/routes' { - export interface RouteNamedMap { - 'Index': RouteRecordInfo<'Index', '/', Record, Record>, - 'Bangumi List': RouteRecordInfo<'Bangumi List', '/bangumi', Record, Record>, - 'Bangumi Torrents': RouteRecordInfo<'Bangumi Torrents', '/bangumi-torrents/:id', { id: ParamValue }, { id: ParamValue }>, - 'Orphan Torrents': RouteRecordInfo<'Orphan Torrents', '/bangumi-torrents/orphans', Record, Record>, - 'Calendar': RouteRecordInfo<'Calendar', '/calendar', Record, Record>, - 'Config': RouteRecordInfo<'Config', '/config', Record, Record>, - 'Downloader': RouteRecordInfo<'Downloader', '/downloader', Record, Record>, - 'Log': RouteRecordInfo<'Log', '/log', Record, Record>, - 'Market': RouteRecordInfo<'Market', '/market/:id?', { id?: ParamValueZeroOrOne }, { id?: ParamValueZeroOrOne }>, - 'Player': RouteRecordInfo<'Player', '/player', Record, Record>, - 'Plugin': RouteRecordInfo<'Plugin', '/plugins/:id', { id: ParamValue }, { id: ParamValue }>, - 'RSS': RouteRecordInfo<'RSS', '/rss', Record, Record>, - 'Login': RouteRecordInfo<'Login', '/login', Record, Record>, - 'Setup': RouteRecordInfo<'Setup', '/setup', Record, Record>, - } -} - -declare module 'vue-router/auto' { - import type { RouteNamedMap } from 'vue-router/auto/routes' - - export type RouterTyped = _RouterTyped - - /** - * Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationNormalized = RouteLocationNormalizedTypedList[Name] - - /** - * Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationNormalizedLoaded = RouteLocationNormalizedLoadedTypedList[Name] - - /** - * Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`). - * Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationResolved = RouteLocationResolvedTypedList[Name] - - /** - * Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocation = RouteLocationTypedList[Name] - - /** - * Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic. - */ - export type RouteLocationRaw = - | RouteLocationAsString - | RouteLocationAsRelativeTypedList[Name] - | RouteLocationAsPathTypedList[Name] - - /** - * Generate a type safe params for a route location. Requires the name of the route to be passed as a generic. - */ - export type RouteParams = RouteNamedMap[Name]['params'] - /** - * Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic. - */ - export type RouteParamsRaw = RouteNamedMap[Name]['paramsRaw'] - - export function useRouter(): RouterTyped - export function useRoute(name?: Name): RouteLocationNormalizedLoadedTypedList[Name] - - export const useLink: UseLinkFnTyped - - export function onBeforeRouteLeave(guard: NavigationGuard): void - export function onBeforeRouteUpdate(guard: NavigationGuard): void - - export const RouterLink: RouterLinkTyped - export const RouterLinkProps: RouterLinkPropsTyped - - // Experimental Data Fetching - - export function defineLoader< - P extends Promise, - Name extends keyof RouteNamedMap = keyof RouteNamedMap, - isLazy extends boolean = false, - >( - name: Name, - loader: (route: RouteLocationNormalizedLoaded) => P, - options?: _DefineLoaderOptions, - ): _DataLoader, isLazy> - export function defineLoader< - P extends Promise, - isLazy extends boolean = false, - >( - loader: (route: RouteLocationNormalizedLoaded) => P, - options?: _DefineLoaderOptions, - ): _DataLoader, isLazy> - - export { - _definePage as definePage, - _HasDataLoaderMeta as HasDataLoaderMeta, - _setupDataFetchingGuard as setupDataFetchingGuard, - _stopDataFetchingScope as stopDataFetchingScope, - } from 'unplugin-vue-router/runtime' -} +} from 'vue-router' +import type { + _ExtractParamParserType, +} from 'vue-router/experimental' declare module 'vue-router' { - import type { RouteNamedMap } from 'vue-router/auto/routes' - - export interface TypesConfig { - beforeRouteUpdate: NavigationGuard - beforeRouteLeave: NavigationGuard - - $route: RouteLocationNormalizedLoadedTypedList[keyof RouteNamedMap] - $router: _RouterTyped - - RouterLink: RouterLinkTyped + interface TypesConfig { + _ParamParsers: {} + RouteNamedMap: import('vue-router/auto-routes').RouteNamedMap + _RouteFileInfoMap: import('vue-router/auto-routes')._RouteFileInfoMap } } + +declare module 'vue-router/auto-routes' { + /** + * Route name map generated by vue-router + */ + export interface RouteNamedMap { + 'Index': RouteRecordInfo< + 'Index', + '/', + Record, + Record, + | 'Bangumi List' + | 'Bangumi Torrents' + | 'Calendar' + | 'Config' + | 'Downloader' + | 'Log' + | 'Market' + | 'Orphan Torrents' + | 'Player' + | 'Plugin' + | 'RSS' + >, + 'Bangumi List': RouteRecordInfo< + 'Bangumi List', + '/bangumi', + Record, + Record, + | never + >, + 'Bangumi Torrents': RouteRecordInfo< + 'Bangumi Torrents', + '/bangumi-torrents/:id', + { id: ParamValue }, + { id: ParamValue }, + | never + >, + 'Orphan Torrents': RouteRecordInfo< + 'Orphan Torrents', + '/bangumi-torrents/orphans', + Record, + Record, + | never + >, + 'Calendar': RouteRecordInfo< + 'Calendar', + '/calendar', + Record, + Record, + | never + >, + 'Config': RouteRecordInfo< + 'Config', + '/config', + Record, + Record, + | never + >, + 'Downloader': RouteRecordInfo< + 'Downloader', + '/downloader', + Record, + Record, + | never + >, + 'Log': RouteRecordInfo< + 'Log', + '/log', + Record, + Record, + | never + >, + 'Market': RouteRecordInfo< + 'Market', + '/market/:id?', + { id?: ParamValueZeroOrOne }, + { id?: ParamValueZeroOrOne }, + | never + >, + 'Player': RouteRecordInfo< + 'Player', + '/player', + Record, + Record, + | never + >, + 'Plugin': RouteRecordInfo< + 'Plugin', + '/plugins/:id', + { id: ParamValue }, + { id: ParamValue }, + | never + >, + 'RSS': RouteRecordInfo< + 'RSS', + '/rss', + Record, + Record, + | never + >, + 'Login': RouteRecordInfo< + 'Login', + '/login', + Record, + Record, + | never + >, + 'Setup': RouteRecordInfo< + 'Setup', + '/setup', + Record, + Record, + | never + >, + } + + /** + * Route file to route info map by vue-router. + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. + * + * Each key is a file path relative to the project root with 2 properties: + * - routes: union of route names of the possible routes when in this page (passed to useRoute<...>()) + * - views: names of nested views (can be passed to ) + * + * @internal + */ + export interface _RouteFileInfoMap { + 'src/pages/index.vue': { + routes: + | 'Bangumi List' + | 'Bangumi Torrents' + | 'Calendar' + | 'Config' + | 'Downloader' + | 'Index' + | 'Log' + | 'Market' + | 'Orphan Torrents' + | 'Player' + | 'Plugin' + | 'RSS' + views: + | 'default' + pathParamNames: + | never + } + 'src/pages/index/bangumi.vue': { + routes: + | 'Bangumi List' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/bangumi-torrents/[id]/index.vue': { + routes: + | 'Bangumi Torrents' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/bangumi-torrents/orphans/index.vue': { + routes: + | 'Orphan Torrents' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/calendar.vue': { + routes: + | 'Calendar' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/config.vue': { + routes: + | 'Config' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/downloader.vue': { + routes: + | 'Downloader' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/log.vue': { + routes: + | 'Log' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/market/[[id]].vue': { + routes: + | 'Market' + views: + | never + pathParamNames: + | 'id' + } + 'src/pages/index/player.vue': { + routes: + | 'Player' + views: + | never + pathParamNames: + | never + } + 'src/pages/index/plugins/[id].vue': { + routes: + | 'Plugin' + views: + | never + pathParamNames: + | 'id' + } + 'src/pages/index/rss.vue': { + routes: + | 'RSS' + views: + | never + pathParamNames: + | never + } + 'src/pages/login.vue': { + routes: + | 'Login' + views: + | never + pathParamNames: + | never + } + 'src/pages/setup.vue': { + routes: + | 'Setup' + views: + | never + pathParamNames: + | never + } + } + + /** + * Get a union of possible route names in a certain route component file. + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. + * + * @internal + */ + export type _RouteNamesForFilePath = + _RouteFileInfoMap extends Record + ? Info['routes'] + : keyof RouteNamedMap +} + +export {} diff --git a/webui/vite.config.ts b/webui/vite.config.ts index 64fd0471..f3c7ded4 100644 --- a/webui/vite.config.ts +++ b/webui/vite.config.ts @@ -4,8 +4,8 @@ import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; -import VueRouter from 'unplugin-vue-router/vite'; -import { VueRouterAutoImports } from 'unplugin-vue-router'; +import VueRouter from 'vue-router/vite'; +import { VueRouterAutoImports } from 'vue-router/unplugin'; import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'; // 与后端给 SPA 文档加的响应头一致(backend/src/main.py)。只加在 preview: @@ -48,9 +48,6 @@ export default defineConfig({ include: resolve(import.meta.dirname, './src/i18n/**'), }), ], - // unplugin-vue-i18n 11 只产出 AST 形式的文案,vue-i18n 9 要打开 JIT 才认 AST; - // vue-i18n 升到 10+ 后默认开启,届时删掉这一项 - define: { __INTLIFY_JIT_COMPILATION__: true }, css: { preprocessorOptions: { scss: { diff --git a/webui/vitest.config.ts b/webui/vitest.config.ts index 84990db5..ba03438c 100644 --- a/webui/vitest.config.ts +++ b/webui/vitest.config.ts @@ -1,9 +1,11 @@ import { defineConfig } from 'vitest/config'; import vue from '@vitejs/plugin-vue'; +import VueRouter from 'vue-router/vite'; import AutoImport from 'unplugin-auto-import/vite'; export default defineConfig({ plugins: [ + VueRouter({ dts: false }), vue(), AutoImport({ imports: ['vue', 'vitest', 'pinia'],