@@ -6,7 +6,7 @@ export type PiniaPluginOptions = {
6
6
colada ?: boolean
7
7
}
8
8
9
- const piniaonAppCreated : onAppCreatedHook = async ( {
9
+ const piniaOnAppCreated : onAppCreatedHook = async ( {
10
10
app,
11
11
ctx,
12
12
initialState,
@@ -23,7 +23,7 @@ const piniaonAppCreated: onAppCreatedHook = async ({
23
23
if ( ssrContext ) ssrContext . pinia = pinia
24
24
}
25
25
26
- const piniaOnRenderedHook : OnRenderedHook = ( { app, ssrContext } ) => {
26
+ const piniaOnRenderedHook : OnRenderedHook = async ( { app, ssrContext } ) => {
27
27
// SSR Server
28
28
if ( ssrContext ?. initialState && ssrContext . pinia ) {
29
29
ssrContext . initialState . pinia = ssrContext . pinia . state . value
@@ -35,16 +35,19 @@ const piniaColadaonAppCreated: onAppCreatedHook = async ({
35
35
ctx,
36
36
initialState
37
37
} ) => {
38
- if ( ctx ? .pinia ) {
39
- const { PiniaColada, useQueryCache , hydrateQueryCache } = await import (
38
+ if ( ctx . pinia ) {
39
+ const { PiniaColada, hydrateQueryCache , useQueryCache } = await import (
40
40
'@pinia/colada'
41
41
)
42
-
43
42
app . use ( PiniaColada )
44
43
45
- // SSR Client
46
44
if ( initialState ?. piniaColada ) {
47
- hydrateQueryCache ( useQueryCache ( ctx . pinia ) , initialState . piniaColada )
45
+ app . runWithContext ( ( ) =>
46
+ hydrateQueryCache (
47
+ useQueryCache ( ctx . pinia ) ,
48
+ initialState . piniaColada || { }
49
+ )
50
+ )
48
51
}
49
52
}
50
53
}
@@ -61,8 +64,8 @@ const piniaColadaOnRenderedHook: OnRenderedHook = async ({
61
64
if ( ssrContext . initialState . pinia ?. _pc_query ) {
62
65
delete ssrContext . initialState . pinia . _pc_query
63
66
}
64
- ssrContext . initialState . piniaColada = serializeQueryCache (
65
- useQueryCache ( ssrContext . pinia )
67
+ ssrContext . initialState . piniaColada = app . runWithContext ( ( ) =>
68
+ serializeQueryCache ( useQueryCache ( ) )
66
69
)
67
70
}
68
71
}
@@ -72,7 +75,7 @@ export const PiniaPlugin: VitrifyPlugin<PiniaPluginOptions> = async ({
72
75
pwa = false ,
73
76
options = { }
74
77
} ) => {
75
- const onAppCreated = [ piniaonAppCreated ]
78
+ const onAppCreated = [ piniaOnAppCreated ]
76
79
const onRendered = [ piniaOnRenderedHook ]
77
80
if ( options . colada ) {
78
81
onAppCreated . push ( piniaColadaonAppCreated )
0 commit comments