feat: 添加深冻结库,重构无限加载页面,优化缓存逻辑并新增详情页
All checks were successful
/ depcheck (push) Successful in 1m16s
/ build-and-deploy-to-vercel (push) Successful in 1m47s
/ playwright (push) Successful in 1m55s

This commit is contained in:
严浩
2025-01-02 16:18:37 +08:00
parent 49da2ee1d8
commit d30163351a
7 changed files with 186 additions and 125 deletions

View File

@ -48,6 +48,7 @@
"axios": "^1.7.9",
"consola": "^3.3.3",
"dayjs": "^1.11.13",
"deep-freeze-es6": "^4.0.0",
"jsencrypt": "^3.3.2",
"mitt": "^3.0.1",
"nprogress": "^0.2.0",
@ -78,13 +79,13 @@
"@primevue/auto-import-resolver": "^4.2.5",
"@tsconfig/node20": "^20.1.4",
"@types/jsdom": "^21.1.7",
"@types/node": "^22.10.2",
"@types/node": "^22.10.3",
"@types/nprogress": "^0.2.3",
"@unocss/preset-rem-to-px": "^0.65.3",
"@vant/auto-import-resolver": "^1.2.1",
"@vitejs/plugin-vue": "^5.2.1",
"@vitejs/plugin-vue-jsx": "^4.1.1",
"@vitest/eslint-plugin": "^1.1.21",
"@vitest/eslint-plugin": "^1.1.23",
"@vue/eslint-config-prettier": "^10.1.0",
"@vue/eslint-config-typescript": "^14.2.0",
"@vue/test-utils": "^2.4.6",

184
pnpm-lock.yaml generated
View File

@ -47,6 +47,9 @@ importers:
dayjs:
specifier: ^1.11.13
version: 1.11.13
deep-freeze-es6:
specifier: ^4.0.0
version: 4.0.0
jsencrypt:
specifier: ^3.3.2
version: 3.3.2
@ -94,7 +97,7 @@ importers:
version: 4.9.15(vue@3.5.13(typescript@5.7.2))
vite-plugin-webfont-dl:
specifier: ^3.10.3
version: 3.10.3(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
version: 3.10.3(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
vue:
specifier: ^3.5.13
version: 3.5.13(typescript@5.7.2)
@ -133,8 +136,8 @@ importers:
specifier: ^21.1.7
version: 21.1.7
'@types/node':
specifier: ^22.10.2
version: 22.10.2
specifier: ^22.10.3
version: 22.10.3
'@types/nprogress':
specifier: ^0.2.3
version: 0.2.3
@ -146,13 +149,13 @@ importers:
version: 1.2.1
'@vitejs/plugin-vue':
specifier: ^5.2.1
version: 5.2.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
version: 5.2.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
'@vitejs/plugin-vue-jsx':
specifier: ^4.1.1
version: 4.1.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
version: 4.1.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
'@vitest/eslint-plugin':
specifier: ^1.1.21
version: 1.1.21(@typescript-eslint/utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
specifier: ^1.1.23
version: 1.1.23(@typescript-eslint/utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@vue/eslint-config-prettier':
specifier: ^10.1.0
version: 10.1.0(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2)
@ -167,10 +170,10 @@ importers:
version: 0.7.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
commitizen:
specifier: ^4.3.1
version: 4.3.1(@types/node@22.10.2)(typescript@5.7.2)
version: 4.3.1(@types/node@22.10.3)(typescript@5.7.2)
cz-conventional-changelog:
specifier: ^3.3.0
version: 3.3.0(@types/node@22.10.2)(typescript@5.7.2)
version: 3.3.0(@types/node@22.10.3)(typescript@5.7.2)
depcheck:
specifier: ^1.4.7
version: 1.4.7
@ -221,7 +224,7 @@ importers:
version: 5.7.2
unocss:
specifier: ^0.65.3
version: 0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
version: 0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
unplugin-auto-import:
specifier: ^0.19.0
version: 0.19.0(@nuxt/kit@3.15.0(rollup@4.29.1))(@vueuse/core@12.2.0(typescript@5.7.2))(rollup@4.29.1)
@ -233,10 +236,10 @@ importers:
version: 0.28.0(@babel/parser@7.26.3)(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
unplugin-vue-macros:
specifier: ^2.13.6
version: 2.13.6(@vueuse/core@12.2.0(typescript@5.7.2))(esbuild@0.24.2)(rollup@4.29.1)(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-tsc@2.2.0(typescript@5.7.2))(vue@3.5.13(typescript@5.7.2))
version: 2.13.6(@vueuse/core@12.2.0(typescript@5.7.2))(esbuild@0.24.2)(rollup@4.29.1)(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.7.2))(vue@3.5.13(typescript@5.7.2))
unplugin-vue-markdown:
specifier: ^0.28.0
version: 0.28.0(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
version: 0.28.0(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
unplugin-vue-router:
specifier: ^0.10.9
version: 0.10.9(rollup@4.29.1)(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
@ -245,22 +248,22 @@ importers:
version: 39.2.2
vite:
specifier: ^6.0.6
version: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
version: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vite-plugin-cdn-import:
specifier: ^1.0.1
version: 1.0.1(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
version: 1.0.1(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
vite-plugin-fake-server:
specifier: ^2.1.5
version: 2.1.5
vite-plugin-vue-devtools:
specifier: ^7.6.8
version: 7.6.8(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
version: 7.6.8(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
vite-plugin-vue-layouts:
specifier: ^0.11.0
version: 0.11.0(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
version: 0.11.0(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
vite-plugin-vue-meta-layouts:
specifier: ^0.5.1
version: 0.5.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))
version: 0.5.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))
vue-tsc:
specifier: ^2.2.0
version: 2.2.0(typescript@5.7.2)
@ -1338,8 +1341,8 @@ packages:
'@types/node@16.18.11':
resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==}
'@types/node@22.10.2':
resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==}
'@types/node@22.10.3':
resolution: {integrity: sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==}
'@types/nprogress@0.2.3':
resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==}
@ -1576,8 +1579,8 @@ packages:
vite: ^6.0.6
vue: ^3.2.25
'@vitest/eslint-plugin@1.1.21':
resolution: {integrity: sha512-gIpmafm7WSwXGHq413q3fC26+nER5mQtM7Lqi7UusY5bSzeQIJmViC+G6CfPo06U0CfgZ+rt7FPaskpkZ2f6gg==}
'@vitest/eslint-plugin@1.1.23':
resolution: {integrity: sha512-tH8nPAKYdH8jXo/ZJ7SpYTjW9Djoc6t1/EIJicI/ouDwYJQh/U6vhOAOU2nzQgjjfjU26ukvB6iu8MEI9oJmPg==}
peerDependencies:
'@typescript-eslint/utils': '>= 8.0'
eslint: '>= 8.57.0'
@ -2418,6 +2421,10 @@ packages:
dedent@0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
deep-freeze-es6@4.0.0:
resolution: {integrity: sha512-qQcB/Cu4R0GahgD7u0MuI3vVmkfDC1FgHEovwn69e+1bGgtE27gIo9ApP/CzFUshqnv1GljWU92NTBNoxY3VVA==}
engines: {node: '>=20.9.0'}
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@ -5330,6 +5337,11 @@ packages:
engines: {node: '>= 14'}
hasBin: true
yaml@2.7.0:
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
engines: {node: '>= 14'}
hasBin: true
yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
@ -5607,7 +5619,7 @@ snapshots:
'@commitlint/execute-rule@19.5.0':
optional: true
'@commitlint/load@19.6.1(@types/node@22.10.2)(typescript@5.7.2)':
'@commitlint/load@19.6.1(@types/node@22.10.3)(typescript@5.7.2)':
dependencies:
'@commitlint/config-validator': 19.5.0
'@commitlint/execute-rule': 19.5.0
@ -5615,7 +5627,7 @@ snapshots:
'@commitlint/types': 19.5.0
chalk: 5.4.1
cosmiconfig: 9.0.0(typescript@5.7.2)
cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.2)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2)
cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.3)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@ -6310,14 +6322,14 @@ snapshots:
'@types/conventional-commits-parser@5.0.1':
dependencies:
'@types/node': 22.10.2
'@types/node': 22.10.3
optional: true
'@types/estree@1.0.6': {}
'@types/jsdom@21.1.7':
dependencies:
'@types/node': 22.10.2
'@types/node': 22.10.3
'@types/tough-cookie': 4.0.5
parse5: 7.2.1
@ -6336,7 +6348,7 @@ snapshots:
'@types/node@16.18.11': {}
'@types/node@22.10.2':
'@types/node@22.10.3':
dependencies:
undici-types: 6.20.0
@ -6448,13 +6460,13 @@ snapshots:
unhead: 1.11.14
vue: 3.5.13(typescript@5.7.2)
'@unocss/astro@0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@unocss/astro@0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@unocss/core': 0.65.3
'@unocss/reset': 0.65.3
'@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
optionalDependencies:
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- rollup
- supports-color
@ -6587,7 +6599,7 @@ snapshots:
dependencies:
'@unocss/core': 0.65.3
'@unocss/vite@0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@unocss/vite@0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.4(rollup@4.29.1)
@ -6597,7 +6609,7 @@ snapshots:
chokidar: 3.6.0
magic-string: 0.30.17
tinyglobby: 0.2.10
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- rollup
- supports-color
@ -6758,22 +6770,22 @@ snapshots:
json-schema-to-ts: 1.6.4
ts-morph: 12.0.0
'@vitejs/plugin-vue-jsx@4.1.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@vitejs/plugin-vue-jsx@4.1.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vue: 3.5.13(typescript@5.7.2)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.2.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@vitejs/plugin-vue@5.2.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vue: 3.5.13(typescript@5.7.2)
'@vitest/eslint-plugin@1.1.21(@typescript-eslint/utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
'@vitest/eslint-plugin@1.1.23(@typescript-eslint/utils@8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/utils': 8.19.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
eslint: 9.17.0(jiti@2.4.2)
@ -6919,12 +6931,12 @@ snapshots:
- rollup
- vue
'@vue-macros/devtools@0.4.1(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))':
'@vue-macros/devtools@0.4.1(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))':
dependencies:
sirv: 3.0.0
vue: 3.5.13(typescript@5.7.2)
optionalDependencies:
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- typescript
@ -7133,14 +7145,14 @@ snapshots:
'@vue/devtools-api@6.6.4': {}
'@vue/devtools-core@7.6.8(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@vue/devtools-core@7.6.8(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))':
dependencies:
'@vue/devtools-kit': 7.6.8
'@vue/devtools-shared': 7.6.8
mitt: 3.0.1
nanoid: 5.0.9
pathe: 1.1.2
vite-hot-client: 0.2.4(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
vite-hot-client: 0.2.4(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
vue: 3.5.13(typescript@5.7.2)
transitivePeerDependencies:
- vite
@ -7648,10 +7660,10 @@ snapshots:
commander@13.0.0: {}
commitizen@4.3.1(@types/node@22.10.2)(typescript@5.7.2):
commitizen@4.3.1(@types/node@22.10.3)(typescript@5.7.2):
dependencies:
cachedir: 2.3.0
cz-conventional-changelog: 3.3.0(@types/node@22.10.2)(typescript@5.7.2)
cz-conventional-changelog: 3.3.0(@types/node@22.10.3)(typescript@5.7.2)
dedent: 0.7.0
detect-indent: 6.1.0
find-node-modules: 2.1.3
@ -7701,9 +7713,9 @@ snapshots:
core-util-is@1.0.2: {}
cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.2)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2):
cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.3)(cosmiconfig@9.0.0(typescript@5.7.2))(typescript@5.7.2):
dependencies:
'@types/node': 22.10.2
'@types/node': 22.10.3
cosmiconfig: 9.0.0(typescript@5.7.2)
jiti: 2.4.2
typescript: 5.7.2
@ -7748,16 +7760,16 @@ snapshots:
csstype@3.1.3: {}
cz-conventional-changelog@3.3.0(@types/node@22.10.2)(typescript@5.7.2):
cz-conventional-changelog@3.3.0(@types/node@22.10.3)(typescript@5.7.2):
dependencies:
chalk: 2.4.2
commitizen: 4.3.1(@types/node@22.10.2)(typescript@5.7.2)
commitizen: 4.3.1(@types/node@22.10.3)(typescript@5.7.2)
conventional-commit-types: 3.0.0
lodash.map: 4.6.0
longest: 2.0.1
word-wrap: 1.2.5
optionalDependencies:
'@commitlint/load': 19.6.1(@types/node@22.10.2)(typescript@5.7.2)
'@commitlint/load': 19.6.1(@types/node@22.10.3)(typescript@5.7.2)
transitivePeerDependencies:
- '@types/node'
- typescript
@ -7787,6 +7799,8 @@ snapshots:
dedent@0.7.0: {}
deep-freeze-es6@4.0.0: {}
deep-is@0.1.4: {}
deep-pick-omit@1.2.1: {}
@ -10303,9 +10317,9 @@ snapshots:
universalify@2.0.1: {}
unocss@0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)):
unocss@0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@unocss/astro': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@unocss/astro': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
'@unocss/cli': 0.65.3(rollup@4.29.1)
'@unocss/core': 0.65.3
'@unocss/postcss': 0.65.3(postcss@8.4.49)
@ -10321,9 +10335,9 @@ snapshots:
'@unocss/transformer-compile-class': 0.65.3
'@unocss/transformer-directives': 0.65.3
'@unocss/transformer-variant-group': 0.65.3
'@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
optionalDependencies:
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- postcss
- rollup
@ -10347,14 +10361,14 @@ snapshots:
transitivePeerDependencies:
- rollup
unplugin-combine@1.0.3(esbuild@0.24.2)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
unplugin-combine@1.0.3(esbuild@0.24.2)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@antfu/utils': 0.7.10
unplugin: 1.16.0
optionalDependencies:
esbuild: 0.24.2
rollup: 4.29.1
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
unplugin-icons@0.22.0(@vue/compiler-sfc@3.5.13):
dependencies:
@ -10399,7 +10413,7 @@ snapshots:
- rollup
- vue
unplugin-vue-macros@2.13.6(@vueuse/core@12.2.0(typescript@5.7.2))(esbuild@0.24.2)(rollup@4.29.1)(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-tsc@2.2.0(typescript@5.7.2))(vue@3.5.13(typescript@5.7.2)):
unplugin-vue-macros@2.13.6(@vueuse/core@12.2.0(typescript@5.7.2))(esbuild@0.24.2)(rollup@4.29.1)(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.7.2))(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@vue-macros/better-define': 1.11.1(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/boolean-prop': 0.5.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
@ -10414,7 +10428,7 @@ snapshots:
'@vue-macros/define-render': 1.6.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/define-slots': 1.2.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/define-stylex': 0.2.1(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/devtools': 0.4.1(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
'@vue-macros/devtools': 0.4.1(typescript@5.7.2)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
'@vue-macros/export-expose': 0.3.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/export-props': 0.6.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/export-render': 0.3.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
@ -10431,7 +10445,7 @@ snapshots:
'@vue-macros/short-vmodel': 1.5.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
'@vue-macros/volar': 0.30.8(rollup@4.29.1)(typescript@5.7.2)(vue-tsc@2.2.0(typescript@5.7.2))(vue@3.5.13(typescript@5.7.2))
unplugin: 1.16.0
unplugin-combine: 1.0.3(esbuild@0.24.2)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
unplugin-combine: 1.0.3(esbuild@0.24.2)(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
unplugin-vue-define-options: 1.5.3(rollup@4.29.1)(vue@3.5.13(typescript@5.7.2))
vue: 3.5.13(typescript@5.7.2)
transitivePeerDependencies:
@ -10446,7 +10460,7 @@ snapshots:
- vue-tsc
- webpack
unplugin-vue-markdown@0.28.0(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
unplugin-vue-markdown@0.28.0(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@mdit-vue/plugin-component': 2.1.3
'@mdit-vue/plugin-frontmatter': 2.1.3
@ -10456,7 +10470,7 @@ snapshots:
markdown-it: 14.1.0
markdown-it-async: 0.1.3
unplugin: 2.1.2
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- rollup
@ -10475,7 +10489,7 @@ snapshots:
pathe: 1.1.2
scule: 1.3.0
unplugin: 2.0.0-beta.1
yaml: 2.6.1
yaml: 2.7.0
optionalDependencies:
vue-router: 4.5.0(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies:
@ -10567,25 +10581,25 @@ snapshots:
core-util-is: 1.0.2
extsprintf: 1.3.0
vite-hot-client@0.2.4(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-hot-client@0.2.4(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vite-plugin-cdn-import@1.0.1(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-plugin-cdn-import@1.0.1(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
rollup-plugin-external-globals: 0.10.0(rollup@4.29.1)
vite-plugin-externals: 0.6.2(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
vite-plugin-externals: 0.6.2(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
transitivePeerDependencies:
- rollup
- vite
vite-plugin-externals@0.6.2(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-plugin-externals@0.6.2(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
acorn: 8.14.0
es-module-lexer: 0.4.1
fs-extra: 10.1.0
magic-string: 0.25.9
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vite-plugin-fake-server@2.1.5:
dependencies:
@ -10595,7 +10609,7 @@ snapshots:
picocolors: 1.1.1
tinyglobby: 0.2.10
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.29.1)
@ -10606,30 +10620,30 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.1.1
sirv: 3.0.0
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
optionalDependencies:
'@nuxt/kit': 3.15.0(rollup@4.29.1)
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-vue-devtools@7.6.8(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)):
vite-plugin-vue-devtools@7.6.8(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2)):
dependencies:
'@vue/devtools-core': 7.6.8(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@vue/devtools-core': 7.6.8(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.2))
'@vue/devtools-kit': 7.6.8
'@vue/devtools-shared': 7.6.8
execa: 9.5.2
sirv: 3.0.0
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
vite-plugin-vue-inspector: 5.3.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.0(rollup@4.29.1))(rollup@4.29.1)(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
vite-plugin-vue-inspector: 5.3.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))
transitivePeerDependencies:
- '@nuxt/kit'
- rollup
- supports-color
- vue
vite-plugin-vue-inspector@5.3.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-plugin-vue-inspector@5.3.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0)
@ -10640,49 +10654,49 @@ snapshots:
'@vue/compiler-dom': 3.5.13
kolorist: 1.8.0
magic-string: 0.30.17
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- supports-color
vite-plugin-vue-layouts@0.11.0(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)):
vite-plugin-vue-layouts@0.11.0(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)):
dependencies:
debug: 4.4.0
fast-glob: 3.3.2
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vue: 3.5.13(typescript@5.7.2)
vue-router: 4.5.0(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies:
- supports-color
vite-plugin-vue-meta-layouts@0.5.1(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))):
vite-plugin-vue-meta-layouts@0.5.1(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.7.2))):
dependencies:
local-pkg: 0.5.1
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
vue-router: 4.5.0(vue@3.5.13(typescript@5.7.2))
vite-plugin-webfont-dl@3.10.3(vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)):
vite-plugin-webfont-dl@3.10.3(vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)):
dependencies:
axios: 1.7.9
clean-css: 5.3.3
flat-cache: 6.1.5
picocolors: 1.1.1
vite: 6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vite: 6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0)
transitivePeerDependencies:
- debug
vite@6.0.6(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1):
vite@6.0.6(@types/node@22.10.3)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.7.0):
dependencies:
esbuild: 0.24.2
postcss: 8.4.49
rollup: 4.29.1
optionalDependencies:
'@types/node': 22.10.2
'@types/node': 22.10.3
fsevents: 2.3.3
jiti: 2.4.2
less: 4.2.1
sass-embedded: 1.83.0
tsx: 4.19.2
yaml: 2.6.1
yaml: 2.7.0
vscode-uri@3.0.8: {}
@ -10842,12 +10856,14 @@ snapshots:
dependencies:
eslint-visitor-keys: 3.4.3
lodash: 4.17.21
yaml: 2.6.1
yaml: 2.7.0
yaml@1.10.2: {}
yaml@2.6.1: {}
yaml@2.7.0: {}
yargs-parser@20.2.9: {}
yargs-parser@21.1.1: {}

View File

@ -75,6 +75,7 @@ const load = async (why?: string) => {
pause();
}
} catch (error) {
console.error(`error :>> `, error);
currentPage--;
state.value = 'error';
}

View File

@ -1,39 +0,0 @@
<script setup lang="ts">
let showDebugError = true;
const list = ref<Record<string, never>[]>([]);
const loadData = async (page: number) => {
await new Promise((resolve) => setTimeout(resolve, 250 /* + 1000 */));
if (page === 2 && showDebugError) {
showDebugError = false;
throw new Error('Failed to load comments');
}
const response = await fetch(
`https://jsonplaceholder.typicode.com/comments?_page=${page}&_limit=1&timestamp=${Date.now()}`,
);
const data = await response.json();
list.value.push(...data);
return { hasMore: list.value.length < 5 };
};
</script>
<template>
<Button label="刷新" @click="list.splice(0, list.length) && $refs.infiniteLoading?.refresh()" mb-4 />
<Card v-for="item in list" :key="item.id" class="mb-[16px]">
<template #title>{{ item.name }}</template>
<template #content>
<p class="mt-[8px]">{{ item.body }}</p>
</template>
<template #subtitle>id:{{ item.id }} </template>
<template #footer>{{ item.email }}</template>
</Card>
<div border="1 px solid red">
{{ { 'list.length': list.length } }}
</div>
<UseIntersectionObserverInfiniteLoading :async-load="loadData" ref="infiniteLoading">
<!-- <template #error="{ retry }">
<Button fluid @click="retry">Retry</Button>
</template> -->
</UseIntersectionObserverInfiniteLoading>
<ScrollTop />
</template>

View File

@ -0,0 +1,8 @@
<script setup lang="ts">
const route = useRoute();
</script>
<template>
<h1>Detail</h1>
<p>id: {{ route.query.id }}</p>
</template>

View File

@ -0,0 +1,73 @@
<script lang="ts">
const structuredClone = window.structuredClone || ((obj) => JSON.parse(JSON.stringify(obj)));
const K_INITIAL_CACHE = deepFreeze({
page: 0,
list: [] as Record<string, never>[],
hasMore: true,
});
const cache = structuredClone(K_INITIAL_CACHE);
</script>
<script setup lang="ts">
defineOptions({
beforeRouteEnter: (to, from) => {
if (from.name !== 'InfiniteLoadingDetail') Object.assign(cache, structuredClone(K_INITIAL_CACHE)); // 如果来的页面不是详情页,清空缓存。
},
beforeRouteLeave: (to, from) => {
if (to.name !== 'InfiniteLoadingDetail') Object.assign(cache, structuredClone(K_INITIAL_CACHE)); // 如果去的页面不是详情页,清空缓存。
},
});
let isPage2ErrorVisible = true;
const lastCache = structuredClone(cache); // 要在 `loadData` 之前获取,因为 `loadData` 会修改 `cache.page`。
const list = shallowRef<Record<string, never>[]>(lastCache.list);
const loadData = async (page: number) => {
if (!lastCache.hasMore) return { hasMore: false };
await new Promise((resolve) => setTimeout(resolve, 250 + 1000));
if (page === 2 && isPage2ErrorVisible) {
isPage2ErrorVisible = false;
throw new Error('Failed to load comments. Because page === 2');
}
const response = await fetch(
`https://jsonplaceholder.typicode.com/comments?_page=${page + lastCache.page}&_limit=1&timestamp=${Date.now()}`,
);
const data = await response.json();
list.value = list.value.concat(data);
const hasMore = list.value.length < 5;
{
cache.page = page;
cache.list = toRaw(list.value);
cache.hasMore = hasMore;
}
return { hasMore };
};
</script>
<template>
<Button label="刷新" @click="list.splice(0, list.length) && $refs.infiniteLoading?.refresh()" mb-4 />
<Card
v-for="item in list"
:key="item.id"
class="mb-[16px]"
@click="$router.push({ name: 'InfiniteLoadingDetail', query: { id: item.id } })"
>
<template #title>{{ item.name }}</template>
<template #content>
<p class="mt-[8px]">{{ item.body }}</p>
</template>
<template #subtitle>id:{{ item.id }} </template>
<template #footer>{{ item.email }}</template>
</Card>
<div border="1 px solid red">
{{ { 'list.length': list.length } }}
</div>
<UseIntersectionObserverInfiniteLoading :async-load="loadData" ref="infiniteLoading">
<!-- <template #error="{ retry }">
<Button fluid @click="retry">Retry</Button>
</template> -->
</UseIntersectionObserverInfiniteLoading>
<ScrollTop />
</template>

1
typed-router.d.ts vendored
View File

@ -32,6 +32,7 @@ declare module 'vue-router/auto-routes' {
'I18n': RouteRecordInfo<'I18n', '/i18n', Record<never, never>, Record<never, never>>,
'Icons': RouteRecordInfo<'Icons', '/Icons', Record<never, never>, Record<never, never>>,
'InfiniteLoading': RouteRecordInfo<'InfiniteLoading', '/infinite-loading', Record<never, never>, Record<never, never>>,
'InfiniteLoadingDetail': RouteRecordInfo<'InfiniteLoadingDetail', '/infinite-loading/detail', Record<never, never>, Record<never, never>>,
'MdPage': RouteRecordInfo<'MdPage', '/md-page', Record<never, never>, Record<never, never>>,
'Primevue': RouteRecordInfo<'Primevue', '/primevue', Record<never, never>, Record<never, never>>,
'Router': RouteRecordInfo<'Router', '/router', Record<never, never>, Record<never, never>>,