3 Commits

Author SHA1 Message Date
0eb36e8a2a chore(deps): update vite packages
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
/ lint-build-and-check (push) Successful in 6m8s
/ playwright (push) Successful in 1m39s
/ cleanup_surge (push) Successful in 12s
/ surge (push) Successful in 3m30s
2025-07-04 13:40:16 +08:00
5487dc321e feat: enhance responsive design for sidebar and drawer in AppLayout
All checks were successful
/ build-and-deploy-to-vercel (push) Successful in 3m12s
/ cleanup_surge (push) Successful in 21s
/ surge (push) Successful in 3m4s
/ playwright (push) Successful in 1m43s
/ lint-build-and-check (push) Successful in 6m5s
2025-07-04 12:34:55 +08:00
ec4906f441 feat: update layout configuration to use naive-ui/AppLayout
All checks were successful
/ build-and-deploy-to-vercel (push) Successful in 3m15s
/ surge (push) Successful in 3m32s
/ playwright (push) Successful in 1m3s
/ cleanup_surge (push) Successful in 13s
/ lint-build-and-check (push) Successful in 6m2s
2025-07-04 12:06:40 +08:00
5 changed files with 426 additions and 102 deletions

View File

@ -149,7 +149,7 @@
"unplugin-vue-markdown": "^29.1.0",
"unplugin-vue-router": "^0.14.0",
"vfonts": "^0.0.3",
"vite": "^7.0.1",
"vite": "^7.0.2",
"vite-plugin-checker": "^0.9.3",
"vite-plugin-fake-server": "^2.2.0",
"vite-plugin-image-tools": "^2.0.2",

194
pnpm-lock.yaml generated
View File

@ -5,7 +5,7 @@ settings:
excludeLinksFromLockfile: false
overrides:
vite: ^7.0.1
vite: ^7.0.2
vue-tsc: ^3.0.0
'@primevue/auto-import-resolver': ^4.3.5
@ -217,10 +217,10 @@ importers:
version: 1.3.0
'@vitejs/plugin-vue':
specifier: ^6.0.0
version: 6.0.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
version: 6.0.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@vitejs/plugin-vue-jsx':
specifier: ^5.0.1
version: 5.0.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
version: 5.0.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@vitest/eslint-plugin':
specifier: ^1.3.4
version: 1.3.4(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
@ -292,16 +292,16 @@ importers:
version: 5.8.3
unocss:
specifier: 66.3.2
version: 66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
version: 66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss-preset-animations:
specifier: ^1.2.1
version: 1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
version: 1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
unocss-preset-chinese:
specifier: ^0.3.3
version: 0.3.3(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
version: 0.3.3(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
unocss-preset-shadcn:
specifier: ^0.5.0
version: 0.5.0(unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))))(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
version: 0.5.0(unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))))(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
unplugin-auto-import:
specifier: ^19.3.0
version: 19.3.0(@nuxt/kit@3.17.5)(@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3)))
@ -313,10 +313,10 @@ importers:
version: 28.8.0(@babel/parser@7.27.7)(@nuxt/kit@3.17.5)(vue@3.5.17(typescript@5.8.3))
unplugin-vue-macros:
specifier: ^2.14.5
version: 2.14.5(@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3)))(esbuild@0.25.5)(rollup@4.42.0)(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))(vue@3.5.17(typescript@5.8.3))
version: 2.14.5(@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3)))(esbuild@0.25.5)(rollup@4.42.0)(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))(vue@3.5.17(typescript@5.8.3))
unplugin-vue-markdown:
specifier: ^29.1.0
version: 29.1.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
version: 29.1.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
unplugin-vue-router:
specifier: ^0.14.0
version: 0.14.0(@vue/compiler-sfc@3.5.17)(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3))
@ -324,11 +324,11 @@ importers:
specifier: ^0.0.3
version: 0.0.3
vite:
specifier: ^7.0.1
version: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
specifier: ^7.0.2
version: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-checker:
specifier: ^0.9.3
version: 0.9.3(eslint@9.30.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))
version: 0.9.3(eslint@9.30.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))
vite-plugin-fake-server:
specifier: ^2.2.0
version: 2.2.0
@ -337,25 +337,25 @@ importers:
version: 2.0.2
vite-plugin-purgecss-updated-v5:
specifier: ^1.2.6
version: 1.2.6(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
version: 1.2.6(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-plugin-singlefile:
specifier: ^2.3.0
version: 2.3.0(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
version: 2.3.0(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-plugin-static-copy:
specifier: ^3.1.0
version: 3.1.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
version: 3.1.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-plugin-vue-devtools:
specifier: ^7.7.7
version: 7.7.7(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
version: 7.7.7(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
vite-plugin-vue-layouts:
specifier: ^0.11.0
version: 0.11.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3))
version: 0.11.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3))
vite-plugin-vue-meta-layouts:
specifier: ^0.5.1
version: 0.5.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))
version: 0.5.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))
vite-plugin-webfont-dl:
specifier: ^3.10.5
version: 3.10.5(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
version: 3.10.5(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vue-component-type-helpers:
specifier: ^3.0.0
version: 3.0.0
@ -1847,7 +1847,7 @@ packages:
'@unocss/astro@66.3.2':
resolution: {integrity: sha512-O3cmQyAQsSqRSI3CkDpm3to4CrkYPyxrO7XHO0QpfTl2XcFoYsVNTAHnIKdxPG9gjZcB7x03gpRMZKjQHreihA==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
peerDependenciesMeta:
vite:
optional: true
@ -1941,7 +1941,7 @@ packages:
'@unocss/vite@66.3.2':
resolution: {integrity: sha512-m1et66BVSbaLcoHJy6dt0esEnLZnBDO0pdXIXJH+oqCmjjDdKquPXdCa1lei90sjeS+VnO59c5b/Nz5EwZPRYQ==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
'@unrs/resolver-binding-android-arm-eabi@1.9.2':
resolution: {integrity: sha512-tS+lqTU3N0kkthU+rYp0spAYq15DU8ld9kXkaKg9sbQqJNF+WPMuNHZQGCgdxrUOEO0j22RKMwRVhF1HTl+X8A==}
@ -2053,14 +2053,14 @@ packages:
resolution: {integrity: sha512-X7qmQMXbdDh+sfHUttXokPD0cjPkMFoae7SgbkF9vi3idGUKmxLcnU2Ug49FHwiKXebfzQRIm5yK3sfCJzNBbg==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vue: ^3.0.0
'@vitejs/plugin-vue@6.0.0':
resolution: {integrity: sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vue: ^3.2.25
'@vitest/eslint-plugin@1.3.4':
@ -2182,7 +2182,7 @@ packages:
resolution: {integrity: sha512-bsNFXYZpLT6wiqBiJ5Ej4n76b/mV/S6y+R9Djd3r9smr7BneYcNtYuIFZU3BeQKP6+Zb+QEXPvp7jWhM4nQG+w==}
engines: {node: '>=16.14.0'}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
peerDependenciesMeta:
vite:
optional: true
@ -5020,7 +5020,7 @@ packages:
engines: {node: '>=14'}
peerDependencies:
'@unocss/webpack': 66.3.2
vite: ^7.0.1
vite: ^7.0.2
peerDependenciesMeta:
'@unocss/webpack':
optional: true
@ -5048,7 +5048,7 @@ packages:
rolldown: '*'
rollup: ^3.2.0 || ^4.0.0
unplugin: ^1.0.0 || ^2.0.0
vite: ^7.0.1
vite: ^7.0.2
webpack: 4 || 5
peerDependenciesMeta:
'@rspack/core':
@ -5120,7 +5120,7 @@ packages:
resolution: {integrity: sha512-BvDFrhsiXzVvzfq1y68jtZwHg1NYJBteSXmUK4zMdX1HT2QtKw8yimjUbDwuI1K9TW/1/L6QYiRQSl1OkHcxWg==}
engines: {node: '>=20'}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
unplugin-vue-router@0.14.0:
resolution: {integrity: sha512-ipjunvS5e2aFHBAUFuLbHl2aHKbXXXBhTxGT9wZx66fNVPdEQzVVitF8nODr1plANhTTa3UZ+DQu9uyLngMzoQ==}
@ -5209,7 +5209,7 @@ packages:
vite-hot-client@2.0.4:
resolution: {integrity: sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-checker@0.9.3:
resolution: {integrity: sha512-Tf7QBjeBtG7q11zG0lvoF38/2AVUzzhMNu+Wk+mcsJ00Rk/FpJ4rmUviVJpzWkagbU13cGXvKpt7CMiqtxVTbQ==}
@ -5221,7 +5221,7 @@ packages:
optionator: ^0.9.4
stylelint: '>=16'
typescript: '*'
vite: ^7.0.1
vite: ^7.0.2
vls: '*'
vti: '*'
vue-tsc: ^3.0.0
@ -5256,7 +5256,7 @@ packages:
engines: {node: '>=14'}
peerDependencies:
'@nuxt/kit': '*'
vite: ^7.0.1
vite: ^7.0.2
peerDependenciesMeta:
'@nuxt/kit':
optional: true
@ -5264,52 +5264,52 @@ packages:
vite-plugin-purgecss-updated-v5@1.2.6:
resolution: {integrity: sha512-t29hpGKP1NsIEDgnuocK+0k3QPNIYa4WxP85exOLGWFHmS5lidHRRT5g77jFY+IJMM8q2r7he03NrYwvLaXXTw==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-singlefile@2.3.0:
resolution: {integrity: sha512-DAcHzYypM0CasNLSz/WG0VdKOCxGHErfrjOoyIPiNxTPTGmO6rRD/te93n1YL/s+miXq66ipF1brMBikf99c6A==}
engines: {node: '>18.0.0'}
peerDependencies:
rollup: ^4.44.1
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-static-copy@3.1.0:
resolution: {integrity: sha512-ONFBaYoN1qIiCxMCfeHI96lqLza7ujx/QClIXp4kEULUbyH2qLgYoaL8JHhk3FWjSB4TpzoaN3iMCyCFldyXzw==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-vue-devtools@7.7.7:
resolution: {integrity: sha512-d0fIh3wRcgSlr4Vz7bAk4va1MkdqhQgj9ANE/rBhsAjOnRfTLs2ocjFMvSUOsv6SRRXU9G+VM7yMgqDb6yI4iQ==}
engines: {node: '>=v14.21.3'}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-vue-inspector@5.3.1:
resolution: {integrity: sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite-plugin-vue-layouts@0.11.0:
resolution: {integrity: sha512-uh6NW7lt+aOXujK4eHfiNbeo55K9OTuB7fnv+5RVc4OBn/cZull6ThXdYH03JzKanUfgt6QZ37NbbtJ0og59qw==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vue: ^3.2.4
vue-router: ^4.0.11
vite-plugin-vue-meta-layouts@0.5.1:
resolution: {integrity: sha512-iqy11j2oBIflxwBh4CCqbK3jl03hXO4RYYuj5/IvIe4m86zy7v2xwLOpyGZwP4RVRtJJTkXIiqTKQhR81ucVsg==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vue-router: '>=4.0.14'
vite-plugin-webfont-dl@3.10.5:
resolution: {integrity: sha512-CyqyopMZm4SuhRFvWOfqRcpuyboOfsV479HUSVmpoBUhtvBAKcEVwn0jWNMjyxdzufq4aAU9XpX9FD2fsA1dZA==}
peerDependencies:
vite: ^7.0.1
vite: ^7.0.2
vite@7.0.1:
resolution: {integrity: sha512-BiKOQoW5HGR30E6JDeNsati6HnSPMVEKbkIWbCiol+xKeu3g5owrjy7kbk/QEMuzCV87dSUTvycYKmlcfGKq3Q==}
vite@7.0.2:
resolution: {integrity: sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@ -7031,13 +7031,13 @@ snapshots:
unhead: 2.0.11
vue: 3.5.17(typescript@5.8.3)
'@unocss/astro@66.3.2(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
'@unocss/astro@66.3.2(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
dependencies:
'@unocss/core': 66.3.2
'@unocss/reset': 66.3.2
'@unocss/vite': 66.3.2(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@unocss/vite': 66.3.2(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
optionalDependencies:
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- vue
@ -7185,7 +7185,7 @@ snapshots:
dependencies:
'@unocss/core': 66.3.2
'@unocss/vite@66.3.2(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
'@unocss/vite@66.3.2(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
dependencies:
'@ampproject/remapping': 2.3.0
'@unocss/config': 66.3.2
@ -7196,7 +7196,7 @@ snapshots:
pathe: 2.0.3
tinyglobby: 0.2.14
unplugin-utils: 0.2.4
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- vue
@ -7267,21 +7267,21 @@ snapshots:
dependencies:
vue: 3.5.17(typescript@5.8.3)
'@vitejs/plugin-vue-jsx@5.0.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
'@vitejs/plugin-vue-jsx@5.0.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
dependencies:
'@babel/core': 7.27.7
'@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.7)
'@rolldown/pluginutils': 1.0.0-beta.21
'@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.7)
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@6.0.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
'@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.19
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vue: 3.5.17(typescript@5.8.3)
'@vitest/eslint-plugin@1.3.4(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)':
@ -7425,12 +7425,12 @@ snapshots:
transitivePeerDependencies:
- vue
'@vue-macros/devtools@0.4.1(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))':
'@vue-macros/devtools@0.4.1(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))':
dependencies:
sirv: 3.0.1
vue: 3.5.17(typescript@5.8.3)
optionalDependencies:
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- typescript
@ -7679,14 +7679,14 @@ snapshots:
dependencies:
'@vue/devtools-kit': 7.7.6
'@vue/devtools-core@7.7.7(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
'@vue/devtools-core@7.7.7(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))':
dependencies:
'@vue/devtools-kit': 7.7.7
'@vue/devtools-shared': 7.7.7
mitt: 3.0.1
nanoid: 5.1.5
pathe: 2.0.3
vite-hot-client: 2.0.4(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-hot-client: 2.0.4(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies:
- vite
@ -10521,27 +10521,27 @@ snapshots:
universalify@2.0.1: {}
unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
dependencies:
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
optionalDependencies:
'@unocss/preset-wind3': 66.3.2
unocss-preset-chinese@0.3.3(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
unocss-preset-chinese@0.3.3(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
dependencies:
'@unocss/core': 0.62.4
'@unocss/preset-mini': 0.62.4
optionalDependencies:
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss-preset-shadcn@0.5.0(unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))))(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
unocss-preset-shadcn@0.5.0(unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))))(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))):
dependencies:
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss-preset-animations: 1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
unocss: 66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
unocss-preset-animations: 1.2.1(@unocss/preset-wind3@66.3.2)(unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))
unocss@66.3.2(postcss@8.5.6)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)):
unocss@66.3.2(postcss@8.5.6)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)):
dependencies:
'@unocss/astro': 66.3.2(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@unocss/astro': 66.3.2(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@unocss/cli': 66.3.2
'@unocss/core': 66.3.2
'@unocss/postcss': 66.3.2(postcss@8.5.6)
@ -10559,9 +10559,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.3.2
'@unocss/transformer-directives': 66.3.2
'@unocss/transformer-variant-group': 66.3.2
'@unocss/vite': 66.3.2(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@unocss/vite': 66.3.2(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
optionalDependencies:
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- postcss
- supports-color
@ -10579,12 +10579,12 @@ snapshots:
'@nuxt/kit': 3.17.5
'@vueuse/core': 13.4.0(vue@3.5.17(typescript@5.8.3))
unplugin-combine@1.2.1(esbuild@0.25.5)(rollup@4.42.0)(unplugin@1.16.1)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
unplugin-combine@1.2.1(esbuild@0.25.5)(rollup@4.42.0)(unplugin@1.16.1)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
optionalDependencies:
esbuild: 0.25.5
rollup: 4.42.0
unplugin: 1.16.1
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.17):
dependencies:
@ -10628,7 +10628,7 @@ snapshots:
transitivePeerDependencies:
- vue
unplugin-vue-macros@2.14.5(@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3)))(esbuild@0.25.5)(rollup@4.42.0)(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))(vue@3.5.17(typescript@5.8.3)):
unplugin-vue-macros@2.14.5(@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3)))(esbuild@0.25.5)(rollup@4.42.0)(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3))(vue@3.5.17(typescript@5.8.3)):
dependencies:
'@vue-macros/better-define': 1.11.4(vue@3.5.17(typescript@5.8.3))
'@vue-macros/boolean-prop': 0.5.5(vue@3.5.17(typescript@5.8.3))
@ -10643,7 +10643,7 @@ snapshots:
'@vue-macros/define-render': 1.6.6(vue@3.5.17(typescript@5.8.3))
'@vue-macros/define-slots': 1.2.6(vue@3.5.17(typescript@5.8.3))
'@vue-macros/define-stylex': 0.2.3(vue@3.5.17(typescript@5.8.3))
'@vue-macros/devtools': 0.4.1(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
'@vue-macros/devtools': 0.4.1(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
'@vue-macros/export-expose': 0.3.5(vue@3.5.17(typescript@5.8.3))
'@vue-macros/export-props': 0.6.5(vue@3.5.17(typescript@5.8.3))
'@vue-macros/export-render': 0.3.5(vue@3.5.17(typescript@5.8.3))
@ -10660,7 +10660,7 @@ snapshots:
'@vue-macros/short-vmodel': 1.5.5(vue@3.5.17(typescript@5.8.3))
'@vue-macros/volar': 0.30.15(typescript@5.8.3)(vue-tsc@3.0.0(typescript@5.8.3))(vue@3.5.17(typescript@5.8.3))
unplugin: 1.16.1
unplugin-combine: 1.2.1(esbuild@0.25.5)(rollup@4.42.0)(unplugin@1.16.1)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
unplugin-combine: 1.2.1(esbuild@0.25.5)(rollup@4.42.0)(unplugin@1.16.1)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
unplugin-vue-define-options: 1.5.5(vue@3.5.17(typescript@5.8.3))
vue: 3.5.17(typescript@5.8.3)
transitivePeerDependencies:
@ -10674,7 +10674,7 @@ snapshots:
- vue-tsc
- webpack
unplugin-vue-markdown@29.1.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
unplugin-vue-markdown@29.1.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
'@mdit-vue/plugin-component': 2.1.4
'@mdit-vue/plugin-frontmatter': 2.1.4
@ -10684,7 +10684,7 @@ snapshots:
markdown-it-async: 2.2.0
unplugin: 2.3.5
unplugin-utils: 0.2.4
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
unplugin-vue-router@0.14.0(@vue/compiler-sfc@3.5.17)(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3)):
dependencies:
@ -10793,11 +10793,11 @@ snapshots:
vfonts@0.0.3: {}
vite-hot-client@2.0.4(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-hot-client@2.0.4(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-checker@0.9.3(eslint@9.30.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3)):
vite-plugin-checker@0.9.3(eslint@9.30.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-tsc@3.0.0(typescript@5.8.3)):
dependencies:
'@babel/code-frame': 7.27.1
chokidar: 4.0.3
@ -10807,7 +10807,7 @@ snapshots:
strip-ansi: 7.1.0
tiny-invariant: 1.3.3
tinyglobby: 0.2.14
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vscode-uri: 3.1.0
optionalDependencies:
eslint: 9.30.1(jiti@2.4.2)
@ -10828,7 +10828,7 @@ snapshots:
sharp: 0.33.5
svgo: 3.3.2
vite-plugin-inspect@0.8.9(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-inspect@0.8.9(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.42.0)
@ -10839,50 +10839,50 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.1.1
sirv: 3.0.1
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
optionalDependencies:
'@nuxt/kit': 3.17.5
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-purgecss-updated-v5@1.2.6(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-purgecss-updated-v5@1.2.6(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
purgecss: 7.0.2
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-singlefile@2.3.0(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-singlefile@2.3.0(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
micromatch: 4.0.8
rollup: 4.42.0
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-static-copy@3.1.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-static-copy@3.1.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(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.14
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-vue-devtools@7.7.7(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)):
vite-plugin-vue-devtools@7.7.7(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)):
dependencies:
'@vue/devtools-core': 7.7.7(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@vue/devtools-core': 7.7.7(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))
'@vue/devtools-kit': 7.7.7
'@vue/devtools-shared': 7.7.7
execa: 9.6.0
sirv: 3.0.1
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-plugin-vue-inspector: 5.3.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.17.5)(rollup@4.42.0)(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
vite-plugin-vue-inspector: 5.3.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))
transitivePeerDependencies:
- '@nuxt/kit'
- rollup
- supports-color
- vue
vite-plugin-vue-inspector@5.3.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-vue-inspector@5.3.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
'@babel/core': 7.27.4
'@babel/plugin-proposal-decorators': 7.27.1(@babel/core@7.27.4)
@ -10893,37 +10893,37 @@ snapshots:
'@vue/compiler-dom': 3.5.16
kolorist: 1.8.0
magic-string: 0.30.17
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- supports-color
vite-plugin-vue-layouts@0.11.0(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3)):
vite-plugin-vue-layouts@0.11.0(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)))(vue@3.5.17(typescript@5.8.3)):
dependencies:
debug: 4.4.1
fast-glob: 3.3.3
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vue: 3.5.17(typescript@5.8.3)
vue-router: 4.5.1(vue@3.5.17(typescript@5.8.3))
transitivePeerDependencies:
- supports-color
vite-plugin-vue-meta-layouts@0.5.1(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3))):
vite-plugin-vue-meta-layouts@0.5.1(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.17(typescript@5.8.3))):
dependencies:
local-pkg: 0.5.1
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vue-router: 4.5.1(vue@3.5.17(typescript@5.8.3))
vite-plugin-webfont-dl@3.10.5(vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
vite-plugin-webfont-dl@3.10.5(vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)):
dependencies:
axios: 1.10.0
clean-css: 5.3.3
flat-cache: 6.1.10
picocolors: 1.1.1
vite: 7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
vite: 7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0)
transitivePeerDependencies:
- debug
vite@7.0.1(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0):
vite@7.0.2(@types/node@22.16.0)(jiti@2.4.2)(less@4.3.0)(sass-embedded@1.89.1)(terser@5.42.0)(yaml@2.8.0):
dependencies:
esbuild: 0.25.5
fdir: 6.4.6(picomatch@4.0.2)

View File

@ -15,9 +15,11 @@ const themeConfig = computed(() => {
</script>
<template>
<a-config-provider :theme="themeConfig">
<RouterView />
</a-config-provider>
<n-config-provider preflight-style-disabled>
<a-config-provider :theme="themeConfig">
<RouterView />
</a-config-provider>
</n-config-provider>
<DynamicDialog /> <ConfirmDialog /> <Toast />
</template>

View File

@ -0,0 +1,321 @@
<script setup lang="ts">
import type { MenuOption } from 'naive-ui';
import { createGetRoutes } from '@/plugins/router';
const router = useRouter();
// 响应式断点检测
const isMobile = ref(false);
const isTablet = ref(false);
// 检测屏幕尺寸
const updateScreenSize = () => {
const width = window.innerWidth;
const wasMobile = isMobile.value;
isMobile.value = width < 768;
isTablet.value = width >= 768 && width < 1024;
// 当从移动端切换到桌面端时,关闭抽屉并重置折叠状态
if (wasMobile && !isMobile.value) {
drawerVisible.value = false;
collapsed.value = false;
}
// 当从桌面端切换到移动端时,关闭抽屉
else if (!wasMobile && isMobile.value) {
drawerVisible.value = false;
}
};
// 侧边栏状态管理
const collapsed = ref(false);
const drawerVisible = ref(false);
// 初始化屏幕尺寸检测
onMounted(() => {
updateScreenSize();
window.addEventListener('resize', updateScreenSize);
// 移动端默认收起侧边栏
if (isMobile.value) {
collapsed.value = true;
drawerVisible.value = false;
}
});
onUnmounted(() => {
window.removeEventListener('resize', updateScreenSize);
});
// 菜单项类型定义
type MenuItemWithRoute = MenuOption & {
routeName?: string;
parentId?: string;
originalPath?: string;
};
// 生成菜单项
const menuOptions = computed(() => {
let flatArray: MenuItemWithRoute[] = createGetRoutes(router)()
.filter((route) => !route.path.includes('/:'))
.filter((route) => !route.meta.hidden)
.map((route) => ({
key: route.path,
label: route.meta.title || `${(route.name as string) || route.path}`,
routeName: route.name as string,
}));
flatArray = flatArray.map((item) => {
const originalPath = item.key as string; // 保存原始路径
let id = item.key as string;
if (flatArray.some((item) => (item.key as string).startsWith(`${id}/`))) {
id = `${id}/index`;
}
// 去掉最前面的 /
id = id.replace(/^\//, '');
let parentId = id.replace(/\/[^/]+$/, '');
if (parentId === id) {
parentId = '_ROOT_';
}
return {
...item,
key: id,
parentId,
originalPath, // 保存原始路径用于后续映射
};
});
const groupItems: MenuItemWithRoute[] = [];
for (const flatArrayItem of flatArray) {
if (!groupItems.some((item) => item.key === flatArrayItem.parentId) && flatArrayItem.parentId !== '_ROOT_') {
let groupItemParentId = flatArrayItem.parentId!.replace(/\/[^/]+$/, '');
if (groupItemParentId === flatArrayItem.parentId) groupItemParentId = '_ROOT_';
groupItems.push({
key: flatArrayItem.parentId!,
label: `Group ${flatArrayItem.parentId}`,
parentId: groupItemParentId,
});
}
}
const tree = arrayToTree([...flatArray, ...groupItems], {
id: 'key',
parentId: 'parentId',
rootId: '_ROOT_',
});
// 递归转换树形结构为 naive-ui menu 格式
function convertToMenuOptions(tree: MenuItemWithRoute[]): MenuOption[] {
return tree.map((item) => {
const menuItem: MenuOption = {
key: item.key,
label: item.label,
};
if (item.children && item.children.length > 0) {
menuItem.children = convertToMenuOptions(item.children);
} else if (item.routeName) {
// 叶子节点,存储路由映射
menuRouteMap.set(item.key as string, item.routeName);
// 同时存储路径到 key 的映射(用于高亮显示)
if (item.originalPath) {
pathToKeyMap.set(item.originalPath, item.key as string);
}
(menuItem as MenuItemWithRoute).routeName = item.routeName;
}
return menuItem;
});
}
// 清空之前的映射
menuRouteMap.clear();
pathToKeyMap.clear();
const result = convertToMenuOptions(tree);
// 菜单生成后,重新设置当前选中的菜单项
nextTick(() => {
const currentPath = router.currentRoute.value.path;
const menuKey = pathToKeyMap.get(currentPath);
if (menuKey) {
selectedKey.value = menuKey;
} else {
const pathWithoutSlash = currentPath.replace(/^\//, '');
selectedKey.value = pathWithoutSlash;
}
});
return result;
});
// 当前选中的菜单项
const selectedKey = ref<string>();
// 存储菜单项与路由名称的映射
const menuRouteMap = new Map<string, string>();
// 存储路由路径与菜单 key 的映射(用于高亮显示)
const pathToKeyMap = new Map<string, string>();
// 处理菜单点击
const handleMenuSelect = (key: string, item: MenuOption) => {
const routeName = menuRouteMap.get(key) || (item as MenuItemWithRoute).routeName;
if (routeName) {
router.push({ name: routeName as never });
// 移动端点击菜单项后自动收起侧边栏
if (isMobile.value) {
drawerVisible.value = false;
}
}
};
// 监听路由变化,更新选中的菜单项
watch(
() => router.currentRoute.value.path,
(newPath) => {
// 使用路径到 key 的映射来找到对应的菜单项
const menuKey = pathToKeyMap.get(newPath);
if (menuKey) {
selectedKey.value = menuKey;
} else {
// 如果没有找到精确匹配,尝试去掉前面的 / 再匹配
const pathWithoutSlash = newPath.replace(/^\//, '');
selectedKey.value = pathWithoutSlash;
}
},
{ immediate: true },
);
// 切换侧边栏状态
const toggleSidebar = () => {
if (isMobile.value) {
// 移动端使用抽屉模式
drawerVisible.value = !drawerVisible.value;
} else {
// 桌面端使用折叠模式
collapsed.value = !collapsed.value;
}
};
</script>
<template>
<n-layout :has-sider="!isMobile">
<!-- 移动端抽屉 -->
<n-drawer
v-if="isMobile"
v-model:show="drawerVisible"
:width="280"
placement="left"
:trap-focus="false"
:block-scroll="false"
>
<n-drawer-content title="菜单" :native-scrollbar="false">
<n-menu :options="menuOptions" :value="selectedKey" @update:value="handleMenuSelect" />
</n-drawer-content>
</n-drawer>
<!-- 桌面端侧边栏 -->
<n-layout-sider
v-if="!isMobile"
:collapsed="collapsed"
:native-scrollbar="false"
bordered
collapse-mode="width"
:collapsed-width="64"
:width="240"
show-trigger
@collapse="collapsed = true"
@expand="collapsed = false"
>
<n-menu
:collapsed="collapsed"
:collapsed-width="64"
:collapsed-icon-size="22"
:options="menuOptions"
:value="selectedKey"
@update:value="handleMenuSelect"
/>
</n-layout-sider>
<n-layout>
<n-layout-header
bordered
:style="{
height: '64px',
padding: isMobile ? '0 16px' : '0 24px',
display: 'flex',
alignItems: 'center',
}"
>
<n-button
quaternary
@click="toggleSidebar"
:style="{
marginRight: isMobile ? '8px' : '12px',
padding: isMobile ? '8px' : '6px',
}"
:size="isMobile ? 'medium' : 'small'"
>
<template #icon>
<n-icon :size="isMobile ? 20 : 18">
<svg viewBox="0 0 24 24">
<path
v-if="!isMobile && collapsed"
fill="currentColor"
d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"
/>
<path
v-else-if="!isMobile && !collapsed"
fill="currentColor"
d="M3 18h13v-2H3v2zm0-5h10v-2H3v2zm0-7v2h13V6H3zm18 9.59L17.42 12 21 8.41 19.59 7l-5 5 5 5L21 15.59z"
/>
<!-- 移动端始终显示菜单图标 -->
<path v-else fill="currentColor" d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
</svg>
</n-icon>
</template>
</n-button>
<span
:style="{
fontSize: isMobile ? '16px' : '18px',
fontWeight: '500',
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
}"
>
Vue TS Example
</span>
</n-layout-header>
<n-layout-content
:content-style="{
padding: isMobile ? '16px' : '24px',
minHeight: 'calc(100vh - 64px - 72px)', // 减去头部和底部高度
}"
>
<router-view />
</n-layout-content>
<n-layout-footer
bordered
:style="{
padding: isMobile ? '16px' : '24px',
textAlign: 'center',
}"
>
<span
:style="{
color: 'var(--n-text-color-disabled)',
fontSize: isMobile ? '12px' : '14px',
}"
>
© 2025 Vue TS Example. All rights reserved.
</span>
</n-layout-footer>
</n-layout>
</n-layout>
</template>

View File

@ -66,7 +66,8 @@ export function Plugins() {
// https://github.com/dishait/vite-plugin-vue-meta-layouts
MetaLayouts({
defaultLayout: 'sakai-vue/AppLayout',
// defaultLayout: 'sakai-vue/AppLayout',
defaultLayout: 'naive-ui/AppLayout',
skipTopLevelRouteLayout: false, // 打开修复 https://github.com/JohnCampionJr/vite-plugin-vue-layouts/issues/134默认为 false 关闭
}),