diff --git a/docs/framework/react/start/getting-started.md b/docs/framework/react/start/getting-started.md index ccb6085f5a..9ad16980ca 100644 --- a/docs/framework/react/start/getting-started.md +++ b/docs/framework/react/start/getting-started.md @@ -282,7 +282,7 @@ function Home() { + + ) +} + +// END CONSISTENT_SERVER_FN_CALLS diff --git a/e2e/start/basic/tests/app.spec.ts b/e2e/start/basic/tests/app.spec.ts index addd6913ce..58af4a5b19 100644 --- a/e2e/start/basic/tests/app.spec.ts +++ b/e2e/start/basic/tests/app.spec.ts @@ -101,3 +101,33 @@ test('invoking a server function with custom response status code', async ({ }) await requestPromise }) + +test('Consistent server function returns both on client and server for GET and POST calls', async ({ + page, +}) => { + await page.goto('/server-fns') + + await page.waitForLoadState('networkidle') + const expected = + (await page + .getByTestId('expected-consistent-server-fns-result') + .textContent()) || '' + expect(expected).not.toBe('') + + await page.getByTestId('test-consistent-server-fn-calls-btn').click() + await page.waitForLoadState('networkidle') + + // GET calls + await expect(page.getByTestId('cons_serverGetFn1-response')).toContainText( + expected, + ) + await expect(page.getByTestId('cons_getFn1-response')).toContainText(expected) + + // POST calls + await expect(page.getByTestId('cons_serverPostFn1-response')).toContainText( + expected, + ) + await expect(page.getByTestId('cons_postFn1-response')).toContainText( + expected, + ) +}) diff --git a/examples/react/authenticated-routes/package.json b/examples/react/authenticated-routes/package.json index b0ede1e50e..d862414cea 100644 --- a/examples/react/authenticated-routes/package.json +++ b/examples/react/authenticated-routes/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-default-search-params/package.json b/examples/react/basic-default-search-params/package.json index ffdf22e125..28d36b6106 100644 --- a/examples/react/basic-default-search-params/package.json +++ b/examples/react/basic-default-search-params/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-file-based-codesplitting/package.json b/examples/react/basic-file-based-codesplitting/package.json index 0886779093..e95e6504be 100644 --- a/examples/react/basic-file-based-codesplitting/package.json +++ b/examples/react/basic-file-based-codesplitting/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-file-based/package.json b/examples/react/basic-file-based/package.json index f956b27d53..da0773c431 100644 --- a/examples/react/basic-file-based/package.json +++ b/examples/react/basic-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-react-query-file-based/package.json b/examples/react/basic-react-query-file-based/package.json index 80f0fd7752..b0e6802dba 100644 --- a/examples/react/basic-react-query-file-based/package.json +++ b/examples/react/basic-react-query-file-based/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-react-query/package.json b/examples/react/basic-react-query/package.json index 9f9cd8db40..f4292f9cad 100644 --- a/examples/react/basic-react-query/package.json +++ b/examples/react/basic-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" diff --git a/examples/react/basic-ssr-file-based/package.json b/examples/react/basic-ssr-file-based/package.json index 479963bb0b..ce8dd9b6e0 100644 --- a/examples/react/basic-ssr-file-based/package.json +++ b/examples/react/basic-ssr-file-based/package.json @@ -11,10 +11,10 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/start": "^1.81.11", "get-port": "^7.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-ssr-streaming-file-based/package.json b/examples/react/basic-ssr-streaming-file-based/package.json index 9cce14a794..b6058ea13d 100644 --- a/examples/react/basic-ssr-streaming-file-based/package.json +++ b/examples/react/basic-ssr-streaming-file-based/package.json @@ -11,10 +11,10 @@ "debug": "node --inspect-brk server" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/start": "^1.81.11", "get-port": "^7.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/basic-virtual-file-based/package.json b/examples/react/basic-virtual-file-based/package.json index 94d5975398..ad0283885d 100644 --- a/examples/react/basic-virtual-file-based/package.json +++ b/examples/react/basic-virtual-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "@tanstack/virtual-file-routes": "^1.81.9", "react": "^18.2.0", diff --git a/examples/react/basic-virtual-inside-file-based/package.json b/examples/react/basic-virtual-inside-file-based/package.json index aa9bb18f1e..894c1fc775 100644 --- a/examples/react/basic-virtual-inside-file-based/package.json +++ b/examples/react/basic-virtual-inside-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "@tanstack/virtual-file-routes": "^1.81.9", "react": "^18.2.0", diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json index 03531bd45d..a5191eeb9a 100644 --- a/examples/react/basic/package.json +++ b/examples/react/basic/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.2.0", "react-dom": "^18.2.0", "redaxios": "^0.5.1" diff --git a/examples/react/deferred-data/package.json b/examples/react/deferred-data/package.json index b9b01710e0..a5e96467d8 100644 --- a/examples/react/deferred-data/package.json +++ b/examples/react/deferred-data/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/kitchen-sink-file-based/package.json b/examples/react/kitchen-sink-file-based/package.json index 3678e88a4e..81fccee352 100644 --- a/examples/react/kitchen-sink-file-based/package.json +++ b/examples/react/kitchen-sink-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "immer": "^10.1.1", "react": "^18.2.0", diff --git a/examples/react/kitchen-sink-react-query-file-based/package.json b/examples/react/kitchen-sink-react-query-file-based/package.json index 38f5b3da72..4d1bce1bc9 100644 --- a/examples/react/kitchen-sink-react-query-file-based/package.json +++ b/examples/react/kitchen-sink-react-query-file-based/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "immer": "^10.1.1", "react": "^18.2.0", diff --git a/examples/react/kitchen-sink-react-query/package.json b/examples/react/kitchen-sink-react-query/package.json index f918e1aefb..f8ac500a54 100644 --- a/examples/react/kitchen-sink-react-query/package.json +++ b/examples/react/kitchen-sink-react-query/package.json @@ -11,8 +11,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "immer": "^10.1.1", "react": "^18.2.0", diff --git a/examples/react/kitchen-sink/package.json b/examples/react/kitchen-sink/package.json index 0e813b61a2..0eed4fd717 100644 --- a/examples/react/kitchen-sink/package.json +++ b/examples/react/kitchen-sink/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "immer": "^10.1.1", "react": "^18.2.0", diff --git a/examples/react/large-file-based/package.json b/examples/react/large-file-based/package.json index d17a753dd6..684681cc43 100644 --- a/examples/react/large-file-based/package.json +++ b/examples/react/large-file-based/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/location-masking/package.json b/examples/react/location-masking/package.json index 0ff7eef68f..f733d971cb 100644 --- a/examples/react/location-masking/package.json +++ b/examples/react/location-masking/package.json @@ -11,8 +11,8 @@ "dependencies": { "@radix-ui/react-dialog": "^1.1.2", "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/examples/react/navigation-blocking/package.json b/examples/react/navigation-blocking/package.json index f08b31cd9a..4c8aabd203 100644 --- a/examples/react/navigation-blocking/package.json +++ b/examples/react/navigation-blocking/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/examples/react/quickstart-esbuild-file-based/package.json b/examples/react/quickstart-esbuild-file-based/package.json index 6156e85386..ed8eb7246e 100644 --- a/examples/react/quickstart-esbuild-file-based/package.json +++ b/examples/react/quickstart-esbuild-file-based/package.json @@ -9,8 +9,8 @@ "start": "dev" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/quickstart-file-based/package.json b/examples/react/quickstart-file-based/package.json index 4982ae24b5..a06e0af224 100644 --- a/examples/react/quickstart-file-based/package.json +++ b/examples/react/quickstart-file-based/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/quickstart-rspack-file-based/package.json b/examples/react/quickstart-rspack-file-based/package.json index dbeefe0abb..278223e6ef 100644 --- a/examples/react/quickstart-rspack-file-based/package.json +++ b/examples/react/quickstart-rspack-file-based/package.json @@ -8,8 +8,8 @@ "preview": "rsbuild preview" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/quickstart-webpack-file-based/package.json b/examples/react/quickstart-webpack-file-based/package.json index 5a6df180d8..5218559d2f 100644 --- a/examples/react/quickstart-webpack-file-based/package.json +++ b/examples/react/quickstart-webpack-file-based/package.json @@ -7,8 +7,8 @@ "build": "webpack build && tsc --noEmit" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/quickstart/package.json b/examples/react/quickstart/package.json index 504211a995..6ce9485a2b 100644 --- a/examples/react/quickstart/package.json +++ b/examples/react/quickstart/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/react/router-monorepo-react-query/package.json b/examples/react/router-monorepo-react-query/package.json index 4a36562ebb..3eb2fb6670 100644 --- a/examples/react/router-monorepo-react-query/package.json +++ b/examples/react/router-monorepo-react-query/package.json @@ -12,8 +12,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/router-monorepo-react-query/packages/app/package.json b/examples/react/router-monorepo-react-query/packages/app/package.json index 7d7036908b..ac21cb736d 100644 --- a/examples/react/router-monorepo-react-query/packages/app/package.json +++ b/examples/react/router-monorepo-react-query/packages/app/package.json @@ -19,7 +19,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/router-devtools": "^1.81.10", "typescript": "5.6.2", "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" diff --git a/examples/react/router-monorepo-react-query/packages/router/package.json b/examples/react/router-monorepo-react-query/packages/router/package.json index feacba0b8f..d00bacd0a5 100644 --- a/examples/react/router-monorepo-react-query/packages/router/package.json +++ b/examples/react/router-monorepo-react-query/packages/router/package.json @@ -9,7 +9,7 @@ "types": "./dist/index.d.ts", "dependencies": { "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", + "@tanstack/react-router": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "@router-mono-react-query/post-query": "workspace:*", "redaxios": "^0.5.1", diff --git a/examples/react/router-monorepo-simple/package.json b/examples/react/router-monorepo-simple/package.json index 45916eb0ef..5ce5e953c1 100644 --- a/examples/react/router-monorepo-simple/package.json +++ b/examples/react/router-monorepo-simple/package.json @@ -8,8 +8,8 @@ "dev": "pnpm router build && pnpm post-feature build && pnpm app dev" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/router-monorepo-simple/packages/app/package.json b/examples/react/router-monorepo-simple/packages/app/package.json index ed217da263..1f5558786d 100644 --- a/examples/react/router-monorepo-simple/packages/app/package.json +++ b/examples/react/router-monorepo-simple/packages/app/package.json @@ -18,7 +18,7 @@ "@types/react": "^18.2.47", "@types/react-dom": "^18.2.18", "@vitejs/plugin-react": "^4.3.3", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/router-devtools": "^1.81.10", "typescript": "5.6.2", "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" diff --git a/examples/react/router-monorepo-simple/packages/router/package.json b/examples/react/router-monorepo-simple/packages/router/package.json index f559f39e32..65f29d1922 100644 --- a/examples/react/router-monorepo-simple/packages/router/package.json +++ b/examples/react/router-monorepo-simple/packages/router/package.json @@ -8,7 +8,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "dependencies": { - "@tanstack/react-router": "^1.81.9", + "@tanstack/react-router": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "redaxios": "^0.5.1", "zod": "^3.23.8", diff --git a/examples/react/scroll-restoration/package.json b/examples/react/scroll-restoration/package.json index 4e078138f2..873be7bbc9 100644 --- a/examples/react/scroll-restoration/package.json +++ b/examples/react/scroll-restoration/package.json @@ -9,9 +9,9 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", + "@tanstack/react-router": "^1.81.10", "@tanstack/react-virtual": "^3.10.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/router-devtools": "^1.81.10", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/react/search-validator-adapters/package.json b/examples/react/search-validator-adapters/package.json index 02f841293b..9953293e5f 100644 --- a/examples/react/search-validator-adapters/package.json +++ b/examples/react/search-validator-adapters/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@tanstack/react-query": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/arktype-adapter": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/arktype-adapter": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", - "@tanstack/valibot-adapter": "^1.81.9", - "@tanstack/zod-adapter": "^1.81.9", + "@tanstack/valibot-adapter": "^1.81.10", + "@tanstack/zod-adapter": "^1.81.10", "arktype": "2.0.0-rc.23", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/react/start-basic-auth/package.json b/examples/react/start-basic-auth/package.json index 918a3bbd17..74b7060ba4 100644 --- a/examples/react/start-basic-auth/package.json +++ b/examples/react/start-basic-auth/package.json @@ -11,9 +11,9 @@ }, "dependencies": { "@prisma/client": "5.22.0", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "dotenv": "^16.4.5", "prisma": "^5.22.0", "react": "^18.3.1", diff --git a/examples/react/start-basic-react-query/package.json b/examples/react/start-basic-react-query/package.json index b27b937b83..4136666a2e 100644 --- a/examples/react/start-basic-react-query/package.json +++ b/examples/react/start-basic-react-query/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/react-router-with-query": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "react": "^18.3.1", "react-dom": "^18.3.1", "redaxios": "^0.5.1", diff --git a/examples/react/start-basic-rsc/package.json b/examples/react/start-basic-rsc/package.json index 5e6097f795..bb21d2ec26 100644 --- a/examples/react/start-basic-rsc/package.json +++ b/examples/react/start-basic-rsc/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@babel/plugin-syntax-typescript": "^7.25.9", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "redaxios": "^0.5.1", "tailwind-merge": "^2.5.4", "vinxi": "0.4.3" diff --git a/examples/react/start-basic/package.json b/examples/react/start-basic/package.json index 15d13d877f..2357cb619b 100644 --- a/examples/react/start-basic/package.json +++ b/examples/react/start-basic/package.json @@ -9,9 +9,9 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "react": "^18.3.1", "react-dom": "^18.3.1", "redaxios": "^0.5.1", diff --git a/examples/react/start-clerk-basic/package.json b/examples/react/start-clerk-basic/package.json index a64aa15ba0..afbd392e86 100644 --- a/examples/react/start-clerk-basic/package.json +++ b/examples/react/start-clerk-basic/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "@clerk/tanstack-start": "0.4.25", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "dotenv": "^16.4.5", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/react/start-convex-trellaux/package.json b/examples/react/start-convex-trellaux/package.json index b1cee0f273..99d7eb6b82 100644 --- a/examples/react/start-convex-trellaux/package.json +++ b/examples/react/start-convex-trellaux/package.json @@ -13,10 +13,10 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/react-router-with-query": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "@convex-dev/react-query": "0.0.0-alpha.8", "concurrently": "^8.2.2", "convex": "^1.17.0", diff --git a/examples/react/start-counter/package.json b/examples/react/start-counter/package.json index 346f692069..d11a66363d 100644 --- a/examples/react/start-counter/package.json +++ b/examples/react/start-counter/package.json @@ -9,8 +9,8 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/start": "^1.81.11", "react": "^18.3.1", "react-dom": "^18.3.1", "vinxi": "0.4.3" diff --git a/examples/react/start-supabase-basic/package.json b/examples/react/start-supabase-basic/package.json index 4918de7ae6..7ace3ec8e4 100644 --- a/examples/react/start-supabase-basic/package.json +++ b/examples/react/start-supabase-basic/package.json @@ -15,9 +15,9 @@ "dependencies": { "@supabase/ssr": "^0.5.2", "@supabase/supabase-js": "^2.46.1", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "react": "^18.3.1", "react-dom": "^18.3.1", "vinxi": "0.4.3" diff --git a/examples/react/start-trellaux/package.json b/examples/react/start-trellaux/package.json index 9a8f6851bd..b3e293c843 100644 --- a/examples/react/start-trellaux/package.json +++ b/examples/react/start-trellaux/package.json @@ -11,10 +11,10 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/react-router-with-query": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", - "@tanstack/start": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/react-router-with-query": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", + "@tanstack/start": "^1.81.11", "ky": "^1.7.2", "msw": "^2.6.4", "react": "^18.3.1", diff --git a/examples/react/with-framer-motion/package.json b/examples/react/with-framer-motion/package.json index 16ece3ce79..b9014fca98 100644 --- a/examples/react/with-framer-motion/package.json +++ b/examples/react/with-framer-motion/package.json @@ -9,8 +9,8 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "redaxios": "^0.5.1", "framer-motion": "^11.11.11", "react": "^18.2.0", diff --git a/examples/react/with-trpc-react-query/package.json b/examples/react/with-trpc-react-query/package.json index 98464ada52..3fd48e951d 100644 --- a/examples/react/with-trpc-react-query/package.json +++ b/examples/react/with-trpc-react-query/package.json @@ -10,8 +10,8 @@ "dependencies": { "@tanstack/react-query": "^5.59.20", "@tanstack/react-query-devtools": "^5.59.20", - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "@trpc/client": "11.0.0-rc.630", "@trpc/react-query": "11.0.0-rc.630", diff --git a/examples/react/with-trpc/package.json b/examples/react/with-trpc/package.json index be48cce3d4..59a30f1fcf 100644 --- a/examples/react/with-trpc/package.json +++ b/examples/react/with-trpc/package.json @@ -8,8 +8,8 @@ "start": "vinxi start" }, "dependencies": { - "@tanstack/react-router": "^1.81.9", - "@tanstack/router-devtools": "^1.81.9", + "@tanstack/react-router": "^1.81.10", + "@tanstack/router-devtools": "^1.81.10", "@tanstack/router-plugin": "^1.81.9", "@trpc/client": "11.0.0-rc.630", "@trpc/server": "11.0.0-rc.630", diff --git a/packages/arktype-adapter/package.json b/packages/arktype-adapter/package.json index 6a38635637..2898f09b5a 100644 --- a/packages/arktype-adapter/package.json +++ b/packages/arktype-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/arktype-adapter", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/create-router/package.json b/packages/create-router/package.json index 6f65c44c67..0238e9dbcc 100644 --- a/packages/create-router/package.json +++ b/packages/create-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/create-router", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router-with-query/package.json b/packages/react-router-with-query/package.json index dd0166bbd0..469a985008 100644 --- a/packages/react-router-with-query/package.json +++ b/packages/react-router-with-query/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router-with-query", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 543354ed06..7c946a9f87 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-router", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/router-devtools/package.json b/packages/router-devtools/package.json index 31d6e9c507..13bd3a2cc4 100644 --- a/packages/router-devtools/package.json +++ b/packages/router-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/router-devtools", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start/package.json b/packages/start/package.json index 23ed85f85c..4ba73c1650 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/start", - "version": "1.81.9", + "version": "1.81.11", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/start/src/client-runtime/fetcher.tsx b/packages/start/src/client-runtime/fetcher.tsx index e7c0773564..ab46f9ee45 100644 --- a/packages/start/src/client-runtime/fetcher.tsx +++ b/packages/start/src/client-runtime/fetcher.tsx @@ -55,7 +55,10 @@ export async function fetcher( body: type === 'formData' ? first.data - : (defaultTransformer.stringify(first.data ?? null) as any), + : (defaultTransformer.stringify({ + data: first.data ?? null, + context: first.context, + }) as any), } : {}), }) diff --git a/packages/start/src/client/createMiddleware.ts b/packages/start/src/client/createMiddleware.ts index 300b68a740..2351d9c532 100644 --- a/packages/start/src/client/createMiddleware.ts +++ b/packages/start/src/client/createMiddleware.ts @@ -235,14 +235,7 @@ export type ClientResultWithContext = { headers: HeadersInit } -export type AnyMiddleware = MiddlewareTypes< - any, - any, - AnyValidator, - any, - any, - any -> +export type AnyMiddleware = MiddlewareTypes export interface MiddlewareTypes< TId, diff --git a/packages/start/src/client/createServerFn.ts b/packages/start/src/client/createServerFn.ts index 4cb9a99bdc..565cc1960a 100644 --- a/packages/start/src/client/createServerFn.ts +++ b/packages/start/src/client/createServerFn.ts @@ -153,6 +153,10 @@ export function createServerFn< TValidator > + if (typeof resolvedOptions.method === 'undefined') { + resolvedOptions.method = 'GET' as TMethod + } + return { options: resolvedOptions as any, middleware: (middleware) => { diff --git a/packages/start/src/server-handler/index.tsx b/packages/start/src/server-handler/index.tsx index 732b3ad789..c85cb9fe6b 100644 --- a/packages/start/src/server-handler/index.tsx +++ b/packages/start/src/server-handler/index.tsx @@ -58,7 +58,7 @@ export async function handleServerRequest(request: Request, _event?: H3Event) { ) { // We don't support GET requests with FormData payloads... that seems impossible invariant( - method.toLowerCase() === 'get', + method.toLowerCase() !== 'get', 'GET requests with FormData payloads are not supported', ) @@ -79,7 +79,8 @@ export async function handleServerRequest(request: Request, _event?: H3Event) { } // For non-form, non-get - return await request.json() + const jsonPayloadAsString = await request.text() + return defaultTransformer.parse(jsonPayloadAsString) })() const result = await action(arg) diff --git a/packages/valibot-adapter/package.json b/packages/valibot-adapter/package.json index da9a4b44a4..d652a481c0 100644 --- a/packages/valibot-adapter/package.json +++ b/packages/valibot-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/valibot-adapter", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/zod-adapter/package.json b/packages/zod-adapter/package.json index 9c0ebf63fd..11ca9cf7a4 100644 --- a/packages/zod-adapter/package.json +++ b/packages/zod-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/zod-adapter", - "version": "1.81.9", + "version": "1.81.10", "description": "Modern and scalable routing for React applications", "author": "Tanner Linsley", "license": "MIT",