@ssrx/plugin-tanstack-query
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -66,64 +66,50 @@ // src/plugin.tsx | ||
// src/plugin.tsx | ||
import { jsx, jsxs } from "react/jsx-runtime"; | ||
var PLUGIN_ID = "tanstackQuery"; | ||
var tanstackQueryPlugin = ({ | ||
QueryClientProvider, | ||
skipHydration, | ||
queryClientConfig, | ||
devTools | ||
}) => defineRenderPlugin({ | ||
var tanstackQueryPlugin = ({ provider, skipHydration, queryClientConfig }) => defineRenderPlugin({ | ||
id: PLUGIN_ID, | ||
createCtx: () => { | ||
hooksForReq: () => { | ||
const trackedQueries = /* @__PURE__ */ new Set(); | ||
const blockingQueries = /* @__PURE__ */ new Map(); | ||
const queryClient = createQueryClient({ trackedQueries, blockingQueries, clientConfig: queryClientConfig }); | ||
if (!import.meta.env.SSR) { | ||
if (!import.meta.env.SSR && !skipHydration) { | ||
hydrateStreamingData({ queryClient }); | ||
} | ||
return { trackedQueries, blockingQueries, queryClient }; | ||
}, | ||
hooks: { | ||
"app:extendCtx": ({ ctx }) => { | ||
const { queryClient } = ctx; | ||
return { queryClient }; | ||
}, | ||
"app:wrap": ({ ctx }) => { | ||
const { queryClient } = ctx; | ||
return ({ children }) => /* @__PURE__ */ jsxs(QueryClientProvider, { client: queryClient, children: [ | ||
children(), | ||
devTools ? /* @__PURE__ */ jsx(devTools.QueryDevtools, { ...devTools.options }) : null | ||
] }); | ||
}, | ||
"ssr:emitToHead": () => { | ||
if (skipHydration) | ||
return; | ||
const html = [`$TQD = [];`, `$TQS = data => $TQD.push(data);`]; | ||
return `<script>${html.join("")}</script>`; | ||
}, | ||
"ssr:emitBeforeFlush": async ({ ctx }) => { | ||
if (skipHydration) | ||
return; | ||
const { blockingQueries, trackedQueries, queryClient } = ctx; | ||
if (blockingQueries.size) { | ||
await Promise.allSettled(blockingQueries.values()); | ||
blockingQueries.clear(); | ||
return { | ||
common: { | ||
extendCtx: () => ({ queryClient }), | ||
wrapApp: () => ({ children }) => provider({ children: children(), queryClient }) | ||
}, | ||
server: { | ||
emitToDocumentHead: () => { | ||
if (skipHydration) | ||
return; | ||
const html = [`$TQD = [];`, `$TQS = data => $TQD.push(data);`]; | ||
return `<script>${html.join("")}</script>`; | ||
}, | ||
emitBeforeStreamChunk: async () => { | ||
if (skipHydration) | ||
return; | ||
if (blockingQueries.size) { | ||
await Promise.allSettled(blockingQueries.values()); | ||
blockingQueries.clear(); | ||
} | ||
if (!trackedQueries.size) | ||
return; | ||
const shouldDehydrate = defaultShouldDehydrateQuery; | ||
const dehydratedState = dehydrate(queryClient, { | ||
shouldDehydrateQuery(query) { | ||
return trackedQueries.has(query.queryHash) && shouldDehydrate(query); | ||
} | ||
}); | ||
trackedQueries.clear(); | ||
if (!dehydratedState.queries.length) | ||
return; | ||
const dehydratedString = JSON.stringify(stringify(dehydratedState)); | ||
return `<script>${[`$TQS(${dehydratedString})`].join("")}</script>`; | ||
}, | ||
onStreamComplete: () => { | ||
queryClient.clear(); | ||
} | ||
} | ||
if (!trackedQueries.size) | ||
return; | ||
const shouldDehydrate = defaultShouldDehydrateQuery; | ||
const dehydratedState = dehydrate(queryClient, { | ||
shouldDehydrateQuery(query) { | ||
return trackedQueries.has(query.queryHash) && shouldDehydrate(query); | ||
} | ||
}); | ||
trackedQueries.clear(); | ||
if (!dehydratedState.queries.length) | ||
return; | ||
const dehydratedString = JSON.stringify(stringify(dehydratedState)); | ||
return `<script>${[`$TQS(${dehydratedString})`].join("")}</script>`; | ||
}, | ||
"ssr:completed": ({ ctx }) => { | ||
const { queryClient } = ctx; | ||
queryClient.clear(); | ||
} | ||
}; | ||
} | ||
@@ -130,0 +116,0 @@ }); |
{ | ||
"name": "@ssrx/plugin-tanstack-query", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"sideEffects": false, | ||
@@ -19,2 +19,3 @@ "type": "module", | ||
".": { | ||
"types": "./src/index.ts", | ||
"bun": "./src/index.ts", | ||
@@ -33,9 +34,8 @@ "default": "./dist/index.js" | ||
"dependencies": { | ||
"@ssrx/renderer": "^0.3.0", | ||
"@ssrx/renderer": "^0.4.0", | ||
"devalue": "^4.3.2" | ||
}, | ||
"devDependencies": { | ||
"@tanstack/query-core": "^5.14.2", | ||
"@tanstack/query-devtools": "^5.15.0" | ||
"@tanstack/query-core": "^5.18.0" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1
19920
7
285
+ Added@esbuild/aix-ppc64@0.24.2(transitive)
+ Added@esbuild/android-arm@0.24.2(transitive)
+ Added@esbuild/android-arm64@0.24.2(transitive)
+ Added@esbuild/android-x64@0.24.2(transitive)
+ Added@esbuild/darwin-arm64@0.24.2(transitive)
+ Added@esbuild/darwin-x64@0.24.2(transitive)
+ Added@esbuild/freebsd-arm64@0.24.2(transitive)
+ Added@esbuild/freebsd-x64@0.24.2(transitive)
+ Added@esbuild/linux-arm@0.24.2(transitive)
+ Added@esbuild/linux-arm64@0.24.2(transitive)
+ Added@esbuild/linux-ia32@0.24.2(transitive)
+ Added@esbuild/linux-loong64@0.24.2(transitive)
+ Added@esbuild/linux-mips64el@0.24.2(transitive)
+ Added@esbuild/linux-ppc64@0.24.2(transitive)
+ Added@esbuild/linux-riscv64@0.24.2(transitive)
+ Added@esbuild/linux-s390x@0.24.2(transitive)
+ Added@esbuild/linux-x64@0.24.2(transitive)
+ Added@esbuild/netbsd-arm64@0.24.2(transitive)
+ Added@esbuild/netbsd-x64@0.24.2(transitive)
+ Added@esbuild/openbsd-arm64@0.24.2(transitive)
+ Added@esbuild/openbsd-x64@0.24.2(transitive)
+ Added@esbuild/sunos-x64@0.24.2(transitive)
+ Added@esbuild/win32-arm64@0.24.2(transitive)
+ Added@esbuild/win32-ia32@0.24.2(transitive)
+ Added@esbuild/win32-x64@0.24.2(transitive)
+ Added@hono/node-server@1.13.8(transitive)
+ Added@rollup/rollup-android-arm-eabi@4.34.2(transitive)
+ Added@rollup/rollup-android-arm64@4.34.2(transitive)
+ Added@rollup/rollup-darwin-arm64@4.34.2(transitive)
+ Added@rollup/rollup-darwin-x64@4.34.2(transitive)
+ Added@rollup/rollup-freebsd-arm64@4.34.2(transitive)
+ Added@rollup/rollup-freebsd-x64@4.34.2(transitive)
+ Added@rollup/rollup-linux-arm-gnueabihf@4.34.2(transitive)
+ Added@rollup/rollup-linux-arm-musleabihf@4.34.2(transitive)
+ Added@rollup/rollup-linux-arm64-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-arm64-musl@4.34.2(transitive)
+ Added@rollup/rollup-linux-loongarch64-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-powerpc64le-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-riscv64-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-s390x-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-x64-gnu@4.34.2(transitive)
+ Added@rollup/rollup-linux-x64-musl@4.34.2(transitive)
+ Added@rollup/rollup-win32-arm64-msvc@4.34.2(transitive)
+ Added@rollup/rollup-win32-ia32-msvc@4.34.2(transitive)
+ Added@rollup/rollup-win32-x64-msvc@4.34.2(transitive)
+ Added@ssrx/renderer@0.4.1(transitive)
+ Added@ssrx/streaming@0.2.0(transitive)
+ Added@ssrx/vite@0.6.1(transitive)
+ Added@types/estree@1.0.6(transitive)
+ Addedesbuild@0.24.2(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedhono@4.6.20(transitive)
+ Addednanoid@3.3.8(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedpostcss@8.5.1(transitive)
+ Addedradix3@1.1.2(transitive)
+ Addedrollup@4.34.2(transitive)
+ Addedsource-map-js@1.2.1(transitive)
+ Addedvite@6.0.11(transitive)
- Removed@ssrx/renderer@0.3.0(transitive)
Updated@ssrx/renderer@^0.4.0