fix: pinia store without skipHydrate breaks SSG prerender

This commit is contained in:
AnotiaWang
2025-02-12 11:09:22 +08:00
parent a7e4124620
commit c3c4689d6d
4 changed files with 38 additions and 18 deletions

View File

@ -26,5 +26,4 @@ export default defineNuxtConfig({
css: ['~/assets/css/main.css'], css: ['~/assets/css/main.css'],
compatibilityDate: '2024-11-01', compatibilityDate: '2024-11-01',
devtools: { enabled: true }, devtools: { enabled: true },
ssr: false, // FIXME
}) })

View File

@ -17,7 +17,7 @@
"@mendable/firecrawl-js": "^1.16.0", "@mendable/firecrawl-js": "^1.16.0",
"@nuxt/ui": "3.0.0-alpha.12", "@nuxt/ui": "3.0.0-alpha.12",
"@nuxtjs/color-mode": "^3.5.2", "@nuxtjs/color-mode": "^3.5.2",
"@pinia/nuxt": "^0.9.0", "@pinia/nuxt": "^0.10.0",
"@tailwindcss/typography": "^0.5.16", "@tailwindcss/typography": "^0.5.16",
"@tavily/core": "^0.0.3", "@tavily/core": "^0.0.3",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
@ -28,6 +28,7 @@
"marked": "^15.0.7", "marked": "^15.0.7",
"nuxt": "^3.15.4", "nuxt": "^3.15.4",
"p-limit": "^6.2.0", "p-limit": "^6.2.0",
"pinia": "^3.0.0",
"tailwindcss": "^4.0.5", "tailwindcss": "^4.0.5",
"vue": "latest", "vue": "latest",
"vue-router": "latest", "vue-router": "latest",

48
pnpm-lock.yaml generated
View File

@ -30,8 +30,8 @@ importers:
specifier: ^3.5.2 specifier: ^3.5.2
version: 3.5.2(magicast@0.3.5) version: 3.5.2(magicast@0.3.5)
'@pinia/nuxt': '@pinia/nuxt':
specifier: ^0.9.0 specifier: ^0.10.0
version: 0.9.0(magicast@0.3.5)(pinia@2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))) version: 0.10.0(magicast@0.3.5)(pinia@3.0.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))
'@tailwindcss/typography': '@tailwindcss/typography':
specifier: ^0.5.16 specifier: ^0.5.16
version: 0.5.16(tailwindcss@4.0.6) version: 0.5.16(tailwindcss@4.0.6)
@ -62,6 +62,9 @@ importers:
p-limit: p-limit:
specifier: ^6.2.0 specifier: ^6.2.0
version: 6.2.0 version: 6.2.0
pinia:
specifier: ^3.0.0
version: 3.0.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
tailwindcss: tailwindcss:
specifier: ^4.0.5 specifier: ^4.0.5
version: 4.0.6 version: 4.0.6
@ -707,10 +710,10 @@ packages:
resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
'@pinia/nuxt@0.9.0': '@pinia/nuxt@0.10.0':
resolution: {integrity: sha512-2yeRo7LeyCF68AbNeL3xu2h6uw0617RkcsYxmA8DJM0R0PMdz5wQHnc44KeENQxR/Mrq8T910XVT6buosqsjBQ==} resolution: {integrity: sha512-crYQgsqhEnf0HbOuaLYyLR9hyWK2lYUjcCYhFV4vgo3YThrLdnRKfBLa31au1uqcmgDqoX4mEm2OS3DO8GxR7w==}
peerDependencies: peerDependencies:
pinia: ^2.3.0 pinia: ^3.0.0
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
@ -1120,6 +1123,9 @@ packages:
'@vue/devtools-api@6.6.4': '@vue/devtools-api@6.6.4':
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
'@vue/devtools-api@7.7.1':
resolution: {integrity: sha512-Cexc8GimowoDkJ6eNelOPdYIzsu2mgNyp0scOQ3tiaYSb9iok6LOESSsJvHaI+ib3joRfqRJNLkHFjhNuWA5dg==}
'@vue/devtools-core@7.6.8': '@vue/devtools-core@7.6.8':
resolution: {integrity: sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==} resolution: {integrity: sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==}
peerDependencies: peerDependencies:
@ -1128,6 +1134,9 @@ packages:
'@vue/devtools-kit@7.6.8': '@vue/devtools-kit@7.6.8':
resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==} resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==}
'@vue/devtools-kit@7.7.1':
resolution: {integrity: sha512-yhZ4NPnK/tmxGtLNQxmll90jIIXdb2jAhPF76anvn5M/UkZCiLJy28bYgPIACKZ7FCosyKoaope89/RsFJll1w==}
'@vue/devtools-shared@7.7.1': '@vue/devtools-shared@7.7.1':
resolution: {integrity: sha512-BtgF7kHq4BHG23Lezc/3W2UhK2ga7a8ohAIAGJMBr4BkxUFzhqntQtCiuL1ijo2ztWnmusymkirgqUrXoQKumA==} resolution: {integrity: sha512-BtgF7kHq4BHG23Lezc/3W2UhK2ga7a8ohAIAGJMBr4BkxUFzhqntQtCiuL1ijo2ztWnmusymkirgqUrXoQKumA==}
@ -2876,8 +2885,8 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'} engines: {node: '>=12'}
pinia@2.3.1: pinia@3.0.0:
resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==} resolution: {integrity: sha512-Go23UsqaeABb4OYNmpDkE9VwDnqmbbjGzWpQhi3xfNkSPO6ZP+Ttt0EMo2J4DHXW+T0l3EqRneeXdyV/oJg/Mg==}
peerDependencies: peerDependencies:
typescript: '>=4.4.4' typescript: '>=4.4.4'
vue: ^2.7.0 || ^3.5.11 vue: ^2.7.0 || ^3.5.11
@ -4950,10 +4959,10 @@ snapshots:
'@parcel/watcher-win32-ia32': 2.5.1 '@parcel/watcher-win32-ia32': 2.5.1
'@parcel/watcher-win32-x64': 2.5.1 '@parcel/watcher-win32-x64': 2.5.1
'@pinia/nuxt@0.9.0(magicast@0.3.5)(pinia@2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))': '@pinia/nuxt@0.10.0(magicast@0.3.5)(pinia@3.0.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))':
dependencies: dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5) '@nuxt/kit': 3.15.4(magicast@0.3.5)
pinia: 2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) pinia: 3.0.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
transitivePeerDependencies: transitivePeerDependencies:
- magicast - magicast
- supports-color - supports-color
@ -5374,6 +5383,10 @@ snapshots:
'@vue/devtools-api@6.6.4': {} '@vue/devtools-api@6.6.4': {}
'@vue/devtools-api@7.7.1':
dependencies:
'@vue/devtools-kit': 7.7.1
'@vue/devtools-core@7.6.8(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': '@vue/devtools-core@7.6.8(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))':
dependencies: dependencies:
'@vue/devtools-kit': 7.6.8 '@vue/devtools-kit': 7.6.8
@ -5396,6 +5409,16 @@ snapshots:
speakingurl: 14.0.1 speakingurl: 14.0.1
superjson: 2.2.2 superjson: 2.2.2
'@vue/devtools-kit@7.7.1':
dependencies:
'@vue/devtools-shared': 7.7.1
birpc: 0.2.19
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
superjson: 2.2.2
'@vue/devtools-shared@7.7.1': '@vue/devtools-shared@7.7.1':
dependencies: dependencies:
rfdc: 1.4.1 rfdc: 1.4.1
@ -7284,15 +7307,12 @@ snapshots:
picomatch@4.0.2: {} picomatch@4.0.2: {}
pinia@2.3.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)): pinia@3.0.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)):
dependencies: dependencies:
'@vue/devtools-api': 6.6.4 '@vue/devtools-api': 7.7.1
vue: 3.5.13(typescript@5.7.3) vue: 3.5.13(typescript@5.7.3)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3))
optionalDependencies: optionalDependencies:
typescript: 5.7.3 typescript: 5.7.3
transitivePeerDependencies:
- '@vue/composition-api'
pkg-types@1.3.1: pkg-types@1.3.1:
dependencies: dependencies:

View File

@ -1,4 +1,4 @@
import {} from '@pinia/nuxt' import { skipHydrate } from 'pinia'
export type ConfigAiProvider = 'openai-compatible' export type ConfigAiProvider = 'openai-compatible'
export interface ConfigAi { export interface ConfigAi {
@ -30,5 +30,5 @@ export const useConfigStore = defineStore('config', () => {
}, },
}) })
return { config } return { config: skipHydrate(config) }
}) })