diff --git a/docs/start/framework/react/guide/isr.md b/docs/start/framework/react/guide/isr.md index 7141ad20024..600a282c201 100644 --- a/docs/start/framework/react/guide/isr.md +++ b/docs/start/framework/react/guide/isr.md @@ -81,7 +81,6 @@ Server functions can also set cache headers for dynamic data endpoints: ```tsx // routes/api/products/$productId.ts import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/api/products/$productId')({ server: { @@ -89,7 +88,7 @@ export const Route = createFileRoute('/api/products/$productId')({ GET: async ({ params, request }) => { const product = await db.products.findById(params.productId) - return json( + return Response.json( { product }, { headers: { @@ -113,7 +112,6 @@ For API routes, you can use middleware to set cache headers: // routes/api/products/$productId.ts import { createFileRoute } from '@tanstack/react-router' import { createMiddleware } from '@tanstack/react-start' -import { json } from '@tanstack/react-start' const cacheMiddleware = createMiddleware().server(async ({ next }) => { const result = await next() @@ -133,7 +131,7 @@ export const Route = createFileRoute('/api/products/$productId')({ handlers: { GET: async ({ params }) => { const product = await db.products.findById(params.productId) - return json({ product }) + return Response.json({ product }) }, }, }, @@ -164,7 +162,6 @@ While time-based revalidation works well for most cases, you may need to invalid ```tsx // routes/api/revalidate.ts import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/api/revalidate')({ server: { @@ -174,7 +171,7 @@ export const Route = createFileRoute('/api/revalidate')({ // Verify secret token if (secret !== process.env.REVALIDATE_SECRET) { - return json({ error: 'Invalid token' }, { status: 401 }) + return Response.json({ error: 'Invalid token' }, { status: 401 }) } // Trigger CDN purge via your CDN's API @@ -192,7 +189,7 @@ export const Route = createFileRoute('/api/revalidate')({ }, ) - return json({ revalidated: true }) + return Response.json({ revalidated: true }) }, }, }, diff --git a/docs/start/framework/react/guide/observability.md b/docs/start/framework/react/guide/observability.md index f6d6abf5fa8..71d39d16ce8 100644 --- a/docs/start/framework/react/guide/observability.md +++ b/docs/start/framework/react/guide/observability.md @@ -128,7 +128,7 @@ export const Route = createFileRoute('/api/users')({ middleware: [requestLogger], handlers: { GET: async () => { - return json({ users: await getUsers() }) + return Response.json({ users: await getUsers() }) }, }, }, @@ -185,7 +185,6 @@ Create server routes for health monitoring: ```tsx // routes/health.ts import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/health')({ server: { @@ -200,7 +199,7 @@ export const Route = createFileRoute('/health')({ version: process.env.npm_package_version, } - return json(checks) + return Response.json(checks) }, }, }, @@ -314,7 +313,7 @@ export const Route = createFileRoute('/metrics')({ server: { handlers: { GET: async () => { - return json({ + return Response.json({ system: { uptime: process.uptime(), memory: process.memoryUsage(), @@ -459,7 +458,7 @@ export const Route = createFileRoute('/admin/errors')({ ...data, })) - return json({ errors }) + return Response.json({ errors }) }, }, }, diff --git a/docs/start/framework/react/guide/server-routes.md b/docs/start/framework/react/guide/server-routes.md index 74b636da458..55e94d36d29 100644 --- a/docs/start/framework/react/guide/server-routes.md +++ b/docs/start/framework/react/guide/server-routes.md @@ -367,20 +367,19 @@ export const Route = createFileRoute('/hello')({ // {"message":"Hello, World!"} ``` -## Using the `json` helper function +## Using the `Response.json` helper function -Or you can use the `json` helper function to automatically set the `Content-Type` header to `application/json` and serialize the JSON object for you. +Or you can use the [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) helper function to automatically set the `Content-Type` header to `application/json` and serialize the JSON object for you. ```ts // routes/hello.ts import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/hello')({ server: { handlers: { GET: async ({ request }) => { - return json({ message: 'Hello, World!' }) + return Response.json({ message: 'Hello, World!' }) }, }, }, @@ -397,7 +396,6 @@ You can set the status code of the response by passing it as a property of the s ```ts // routes/hello.ts import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/hello')({ server: { @@ -409,7 +407,7 @@ export const Route = createFileRoute('/hello')({ status: 404, }) } - return json(user) + return Response.json(user) }, }, }, diff --git a/docs/start/framework/solid/guide/observability.md b/docs/start/framework/solid/guide/observability.md index 5999bd56d45..20b5827c3af 100644 --- a/docs/start/framework/solid/guide/observability.md +++ b/docs/start/framework/solid/guide/observability.md @@ -128,7 +128,7 @@ export const Route = createFileRoute('/api/users')({ middleware: [requestLogger], handlers: { GET: async () => { - return json({ users: await getUsers() }) + return Response.json({ users: await getUsers() }) }, }, }, @@ -185,7 +185,6 @@ Create server routes for health monitoring: ```tsx // routes/health.ts import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' export const Route = createFileRoute('/health')({ server: { @@ -200,7 +199,7 @@ export const Route = createFileRoute('/health')({ version: process.env.npm_package_version, } - return json(checks) + return Response.json(checks) }, }, }, @@ -314,7 +313,7 @@ export const Route = createFileRoute('/metrics')({ server: { handlers: { GET: async () => { - return json({ + return Response.json({ system: { uptime: process.uptime(), memory: process.memoryUsage(), @@ -459,7 +458,7 @@ export const Route = createFileRoute('/admin/errors')({ ...data, })) - return json({ errors }) + return Response.json({ errors }) }, }, }, diff --git a/docs/start/framework/solid/guide/server-routes.md b/docs/start/framework/solid/guide/server-routes.md index 2117cee6615..3e5481bb977 100644 --- a/docs/start/framework/solid/guide/server-routes.md +++ b/docs/start/framework/solid/guide/server-routes.md @@ -367,20 +367,19 @@ export const Route = createFileRoute('/hello')({ // {"message":"Hello, World!"} ``` -## Using the `json` helper function +## Using the `Response.json` helper function -Or you can use the `json` helper function to automatically set the `Content-Type` header to `application/json` and serialize the JSON object for you. +Or you can use the [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) helper function to automatically set the `Content-Type` header to `application/json` and serialize the JSON object for you. ```ts // routes/hello.ts import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' export const Route = createFileRoute('/hello')({ server: { handlers: { GET: async ({ request }) => { - return json({ message: 'Hello, World!' }) + return Response.json({ message: 'Hello, World!' }) }, }, }, @@ -397,7 +396,6 @@ You can set the status code of the response by passing it as a property of the s ```ts // routes/hello.ts import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' export const Route = createFileRoute('/hello')({ server: { @@ -409,7 +407,7 @@ export const Route = createFileRoute('/hello')({ status: 404, }) } - return json(user) + return Response.json(user) }, }, }, diff --git a/e2e/react-start/basic-react-query/src/routes/api.users.ts b/e2e/react-start/basic-react-query/src/routes/api.users.ts index 454aca50a06..bb37c6e68da 100644 --- a/e2e/react-start/basic-react-query/src/routes/api.users.ts +++ b/e2e/react-start/basic-react-query/src/routes/api.users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '../utils/users' @@ -16,7 +15,7 @@ export const Route = createFileRoute('/api/users')({ console.info('Fetching users... @', request.url) const res = await axios.get>(`${queryURL}/users`) const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/react-start/basic-react-query/src/routes/api/users.$id.ts b/e2e/react-start/basic-react-query/src/routes/api/users.$id.ts index 70ad77d76b3..e11e0396521 100644 --- a/e2e/react-start/basic-react-query/src/routes/api/users.$id.ts +++ b/e2e/react-start/basic-react-query/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -16,14 +15,14 @@ export const Route = createFileRoute('/api/users/$id')({ console.info(`Fetching users by id=${params.id}... @`, request.url) try { const res = await axios.get(`${queryURL}/users/` + params.id) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/react-start/basic/src/routes/api.users.ts b/e2e/react-start/basic/src/routes/api.users.ts index a03076490b8..9e055549ef7 100644 --- a/e2e/react-start/basic/src/routes/api.users.ts +++ b/e2e/react-start/basic/src/routes/api.users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '~/utils/users' @@ -19,7 +18,7 @@ export const Route = createFileRoute('/api/users')({ const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/react-start/basic/src/routes/api/users.$id.ts b/e2e/react-start/basic/src/routes/api/users.$id.ts index 2d2c279e931..ac665381f1f 100644 --- a/e2e/react-start/basic/src/routes/api/users.$id.ts +++ b/e2e/react-start/basic/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '~/utils/users' @@ -17,14 +16,14 @@ export const Route = createFileRoute('/api/users/$id')({ try { const res = await axios.get(`${queryURL}/users/` + params.id) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/react-start/custom-basepath/src/routes/api.users.ts b/e2e/react-start/custom-basepath/src/routes/api.users.ts index a03076490b8..9e055549ef7 100644 --- a/e2e/react-start/custom-basepath/src/routes/api.users.ts +++ b/e2e/react-start/custom-basepath/src/routes/api.users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '~/utils/users' @@ -19,7 +18,7 @@ export const Route = createFileRoute('/api/users')({ const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/react-start/custom-basepath/src/routes/api/users.$id.ts b/e2e/react-start/custom-basepath/src/routes/api/users.$id.ts index 5a2b9fe6216..57682660fdf 100644 --- a/e2e/react-start/custom-basepath/src/routes/api/users.$id.ts +++ b/e2e/react-start/custom-basepath/src/routes/api/users.$id.ts @@ -1,4 +1,3 @@ -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '~/utils/users' import { createFileRoute } from '@tanstack/react-router' @@ -17,14 +16,14 @@ export const Route = createFileRoute('/api/users/$id')({ try { const res = await axios.get(`${queryURL}/users/` + params.id) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/react-start/server-routes/src/routes/api/middleware-context.ts b/e2e/react-start/server-routes/src/routes/api/middleware-context.ts index e897aa9a3a2..61fff4020e0 100644 --- a/e2e/react-start/server-routes/src/routes/api/middleware-context.ts +++ b/e2e/react-start/server-routes/src/routes/api/middleware-context.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/react-router' -import { createMiddleware, json } from '@tanstack/react-start' +import { createMiddleware } from '@tanstack/react-start' const testParentMiddleware = createMiddleware().server(async ({ next }) => { const result = await next({ context: { testParent: true } }) @@ -18,7 +18,7 @@ export const Route = createFileRoute('/api/middleware-context')({ middleware: [testMiddleware], handlers: { GET: ({ request, context }) => { - return json({ + return Response.json({ url: request.url, context: context, expectedContext: { testParent: true, test: true }, diff --git a/e2e/react-start/server-routes/src/routes/api/only-any.ts b/e2e/react-start/server-routes/src/routes/api/only-any.ts index d99a060f7bc..f502e0c4961 100644 --- a/e2e/react-start/server-routes/src/routes/api/only-any.ts +++ b/e2e/react-start/server-routes/src/routes/api/only-any.ts @@ -1,11 +1,10 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' export const Route = createFileRoute('/api/only-any')({ server: { handlers: { ANY: ({ request }) => { - return json( + return Response.json( { handler: 'ANY', method: request.method, diff --git a/e2e/solid-start/basic-solid-query/src/routes/api.users.ts b/e2e/solid-start/basic-solid-query/src/routes/api.users.ts index 37e6e2f9c3f..54859a701ed 100644 --- a/e2e/solid-start/basic-solid-query/src/routes/api.users.ts +++ b/e2e/solid-start/basic-solid-query/src/routes/api.users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import axios from 'redaxios' import type { User } from '../utils/users' @@ -16,7 +15,7 @@ export const Route = createFileRoute('/api/users')({ console.info('Fetching users... @', request.url) const res = await axios.get>(`${queryURL}/users`) const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/solid-start/basic-solid-query/src/routes/api/users.$id.ts b/e2e/solid-start/basic-solid-query/src/routes/api/users.$id.ts index 4a1503f0d75..a7b2e444911 100644 --- a/e2e/solid-start/basic-solid-query/src/routes/api/users.$id.ts +++ b/e2e/solid-start/basic-solid-query/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -16,14 +15,14 @@ export const Route = createFileRoute('/api/users/$id')({ console.info(`Fetching users by id=${params.id}... @`, request.url) try { const res = await axios.get(`${queryURL}/users/` + params.id) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/solid-start/basic/src/routes/api/users.$userId.ts b/e2e/solid-start/basic/src/routes/api/users.$userId.ts index 7f637260f51..6c583f26194 100644 --- a/e2e/solid-start/basic/src/routes/api/users.$userId.ts +++ b/e2e/solid-start/basic/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' let queryURL = 'https://jsonplaceholder.typicode.com' @@ -19,14 +18,14 @@ export const Route = createFileRoute('/api/users/$userId')({ throw new Error('Failed to fetch user') } const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/solid-start/basic/src/routes/api/users.ts b/e2e/solid-start/basic/src/routes/api/users.ts index 04aec562e14..3d0a2f1116f 100644 --- a/e2e/solid-start/basic/src/routes/api/users.ts +++ b/e2e/solid-start/basic/src/routes/api/users.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/solid-router' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server( @@ -56,7 +56,7 @@ export const Route = createFileRoute('/api/users')({ } const data = (await res.json()) as Array const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/solid-start/custom-basepath/src/routes/api/users.$userId.ts b/e2e/solid-start/custom-basepath/src/routes/api/users.$userId.ts index 7f637260f51..6c583f26194 100644 --- a/e2e/solid-start/custom-basepath/src/routes/api/users.$userId.ts +++ b/e2e/solid-start/custom-basepath/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' let queryURL = 'https://jsonplaceholder.typicode.com' @@ -19,14 +18,14 @@ export const Route = createFileRoute('/api/users/$userId')({ throw new Error('Failed to fetch user') } const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/solid-start/custom-basepath/src/routes/api/users.ts b/e2e/solid-start/custom-basepath/src/routes/api/users.ts index 04aec562e14..3d0a2f1116f 100644 --- a/e2e/solid-start/custom-basepath/src/routes/api/users.ts +++ b/e2e/solid-start/custom-basepath/src/routes/api/users.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/solid-router' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server( @@ -56,7 +56,7 @@ export const Route = createFileRoute('/api/users')({ } const data = (await res.json()) as Array const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/solid-start/server-routes/src/routes/api/middleware-context.ts b/e2e/solid-start/server-routes/src/routes/api/middleware-context.ts index cd50ed71974..662012ef594 100644 --- a/e2e/solid-start/server-routes/src/routes/api/middleware-context.ts +++ b/e2e/solid-start/server-routes/src/routes/api/middleware-context.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/solid-router' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' const testParentMiddleware = createMiddleware().server(async ({ next }) => { const result = await next({ context: { testParent: true } }) @@ -18,7 +18,7 @@ export const Route = createFileRoute('/api/middleware-context')({ middleware: [testMiddleware], handlers: { GET: ({ request, context }) => { - return json({ + return Response.json({ url: request.url, context: context, expectedContext: { testParent: true, test: true }, diff --git a/e2e/solid-start/server-routes/src/routes/api/only-any.ts b/e2e/solid-start/server-routes/src/routes/api/only-any.ts index b8919245ca9..eeafa8c6f01 100644 --- a/e2e/solid-start/server-routes/src/routes/api/only-any.ts +++ b/e2e/solid-start/server-routes/src/routes/api/only-any.ts @@ -1,11 +1,10 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' export const Route = createFileRoute('/api/only-any')({ server: { handlers: { ANY: ({ request }) => { - return json( + return Response.json( { handler: 'ANY', method: request.method, diff --git a/e2e/vue-start/basic-vue-query/src/routes/api.users.ts b/e2e/vue-start/basic-vue-query/src/routes/api.users.ts index 30be1cc574f..cab4cafc3f6 100644 --- a/e2e/vue-start/basic-vue-query/src/routes/api.users.ts +++ b/e2e/vue-start/basic-vue-query/src/routes/api.users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/vue-router' -import { json } from '@tanstack/vue-start' import axios from 'redaxios' import type { User } from '../utils/users' @@ -16,7 +15,7 @@ export const Route = createFileRoute('/api/users')({ console.info('Fetching users... @', request.url) const res = await axios.get>(`${queryURL}/users`) const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/vue-start/basic-vue-query/src/routes/api/users.$id.ts b/e2e/vue-start/basic-vue-query/src/routes/api/users.$id.ts index 5f3713e8c84..4cc4b33a0b8 100644 --- a/e2e/vue-start/basic-vue-query/src/routes/api/users.$id.ts +++ b/e2e/vue-start/basic-vue-query/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/vue-router' -import { json } from '@tanstack/vue-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -16,14 +15,14 @@ export const Route = createFileRoute('/api/users/$id')({ console.info(`Fetching users by id=${params.id}... @`, request.url) try { const res = await axios.get(`${queryURL}/users/` + params.id) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/vue-start/basic/src/routes/api/users.$userId.ts b/e2e/vue-start/basic/src/routes/api/users.$userId.ts index 5c55163c7f5..50b9ca995a9 100644 --- a/e2e/vue-start/basic/src/routes/api/users.$userId.ts +++ b/e2e/vue-start/basic/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/vue-router' -import { json } from '@tanstack/vue-start' import type { User } from '~/utils/users' let queryURL = 'https://jsonplaceholder.typicode.com' @@ -19,14 +18,14 @@ export const Route = createFileRoute('/api/users/$userId')({ throw new Error('Failed to fetch user') } const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/vue-start/basic/src/routes/api/users.ts b/e2e/vue-start/basic/src/routes/api/users.ts index 5f2ab51270e..97989b93ca3 100644 --- a/e2e/vue-start/basic/src/routes/api/users.ts +++ b/e2e/vue-start/basic/src/routes/api/users.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/vue-router' -import { createMiddleware, json } from '@tanstack/vue-start' +import { createMiddleware } from '@tanstack/vue-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server( @@ -56,7 +56,7 @@ export const Route = createFileRoute('/api/users')({ } const data = (await res.json()) as Array const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/vue-start/custom-basepath/src/routes/api/users.$userId.ts b/e2e/vue-start/custom-basepath/src/routes/api/users.$userId.ts index 5c55163c7f5..50b9ca995a9 100644 --- a/e2e/vue-start/custom-basepath/src/routes/api/users.$userId.ts +++ b/e2e/vue-start/custom-basepath/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/vue-router' -import { json } from '@tanstack/vue-start' import type { User } from '~/utils/users' let queryURL = 'https://jsonplaceholder.typicode.com' @@ -19,14 +18,14 @@ export const Route = createFileRoute('/api/users/$userId')({ throw new Error('Failed to fetch user') } const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/e2e/vue-start/custom-basepath/src/routes/api/users.ts b/e2e/vue-start/custom-basepath/src/routes/api/users.ts index 5f2ab51270e..97989b93ca3 100644 --- a/e2e/vue-start/custom-basepath/src/routes/api/users.ts +++ b/e2e/vue-start/custom-basepath/src/routes/api/users.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/vue-router' -import { createMiddleware, json } from '@tanstack/vue-start' +import { createMiddleware } from '@tanstack/vue-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server( @@ -56,7 +56,7 @@ export const Route = createFileRoute('/api/users')({ } const data = (await res.json()) as Array const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/e2e/vue-start/server-routes/src/routes/api/middleware-context.ts b/e2e/vue-start/server-routes/src/routes/api/middleware-context.ts index d780d2ebb7b..c3756d0410b 100644 --- a/e2e/vue-start/server-routes/src/routes/api/middleware-context.ts +++ b/e2e/vue-start/server-routes/src/routes/api/middleware-context.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/vue-router' -import { createMiddleware, json } from '@tanstack/vue-start' +import { createMiddleware } from '@tanstack/vue-start' const testParentMiddleware = createMiddleware().server(async ({ next }) => { const result = await next({ context: { testParent: true } }) @@ -18,7 +18,7 @@ export const Route = createFileRoute('/api/middleware-context')({ middleware: [testMiddleware], handlers: { GET: ({ request, context }) => { - return json({ + return Response.json({ url: request.url, context: context, expectedContext: { testParent: true, test: true }, diff --git a/e2e/vue-start/server-routes/src/routes/api/only-any.ts b/e2e/vue-start/server-routes/src/routes/api/only-any.ts index ded160acc18..493688c9c11 100644 --- a/e2e/vue-start/server-routes/src/routes/api/only-any.ts +++ b/e2e/vue-start/server-routes/src/routes/api/only-any.ts @@ -1,11 +1,10 @@ import { createFileRoute } from '@tanstack/vue-router' -import { json } from '@tanstack/vue-start' export const Route = createFileRoute('/api/only-any')({ server: { handlers: { ANY: ({ request }) => { - return json( + return Response.json( { handler: 'ANY', method: request.method, diff --git a/examples/react/start-basic-cloudflare/src/routes/api/users.$userId.ts b/examples/react/start-basic-cloudflare/src/routes/api/users.$userId.ts index 2ae7eb9c044..ee34d7a1898 100644 --- a/examples/react/start-basic-cloudflare/src/routes/api/users.$userId.ts +++ b/examples/react/start-basic-cloudflare/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -17,14 +16,14 @@ export const Route = createFileRoute('/api/users/$userId')({ const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/react/start-basic-cloudflare/src/routes/api/users.ts b/examples/react/start-basic-cloudflare/src/routes/api/users.ts index c1e7473b0ce..4cecd018525 100644 --- a/examples/react/start-basic-cloudflare/src/routes/api/users.ts +++ b/examples/react/start-basic-cloudflare/src/routes/api/users.ts @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/react-router' import { getRequestHeaders } from '@tanstack/react-start/server' -import { createMiddleware, json } from '@tanstack/react-start' +import { createMiddleware } from '@tanstack/react-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server(async ({ next }) => { @@ -54,7 +54,7 @@ export const Route = createFileRoute('/api/users')({ const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/react/start-basic-react-query/src/routes/api/users.$id.ts b/examples/react/start-basic-react-query/src/routes/api/users.$id.ts index 79c38d41a68..fd2becb76c9 100644 --- a/examples/react/start-basic-react-query/src/routes/api/users.$id.ts +++ b/examples/react/start-basic-react-query/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -12,14 +11,14 @@ export const Route = createFileRoute('/api/users/$id')({ const res = await axios.get( 'https://jsonplaceholder.typicode.com/users/' + params.id, ) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/react/start-basic-react-query/src/routes/api/users.ts b/examples/react/start-basic-react-query/src/routes/api/users.ts index 0e290833bb6..68fbdfcff0d 100644 --- a/examples/react/start-basic-react-query/src/routes/api/users.ts +++ b/examples/react/start-basic-react-query/src/routes/api/users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -12,7 +11,7 @@ export const Route = createFileRoute('/api/users')({ 'https://jsonplaceholder.typicode.com/users', ) const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/react/start-basic/src/routes/api/users.$userId.ts b/examples/react/start-basic/src/routes/api/users.$userId.ts index 2ae7eb9c044..ee34d7a1898 100644 --- a/examples/react/start-basic/src/routes/api/users.$userId.ts +++ b/examples/react/start-basic/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -17,14 +16,14 @@ export const Route = createFileRoute('/api/users/$userId')({ const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/react/start-basic/src/routes/api/users.ts b/examples/react/start-basic/src/routes/api/users.ts index c1e7473b0ce..4cecd018525 100644 --- a/examples/react/start-basic/src/routes/api/users.ts +++ b/examples/react/start-basic/src/routes/api/users.ts @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/react-router' import { getRequestHeaders } from '@tanstack/react-start/server' -import { createMiddleware, json } from '@tanstack/react-start' +import { createMiddleware } from '@tanstack/react-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server(async ({ next }) => { @@ -54,7 +54,7 @@ export const Route = createFileRoute('/api/users')({ const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/solid/start-basic-cloudflare/src/routes/api/users.$userId.ts b/examples/solid/start-basic-cloudflare/src/routes/api/users.$userId.ts index 8f31b7a8900..b65c0396c4f 100644 --- a/examples/solid/start-basic-cloudflare/src/routes/api/users.$userId.ts +++ b/examples/solid/start-basic-cloudflare/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -18,14 +17,14 @@ export const Route = createFileRoute('/api/users/$userId')({ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/solid/start-basic-cloudflare/src/routes/api/users.ts b/examples/solid/start-basic-cloudflare/src/routes/api/users.ts index a9d6505508b..a6542d11bd7 100644 --- a/examples/solid/start-basic-cloudflare/src/routes/api/users.ts +++ b/examples/solid/start-basic-cloudflare/src/routes/api/users.ts @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/solid-router' import { getRequestHeaders } from '@tanstack/solid-start/server' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server(async ({ next }) => { @@ -55,7 +55,7 @@ export const Route = createFileRoute('/api/users')({ const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/solid/start-basic-netlify/src/routes/api/users.$userId.ts b/examples/solid/start-basic-netlify/src/routes/api/users.$userId.ts index 8f31b7a8900..b65c0396c4f 100644 --- a/examples/solid/start-basic-netlify/src/routes/api/users.$userId.ts +++ b/examples/solid/start-basic-netlify/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -18,14 +17,14 @@ export const Route = createFileRoute('/api/users/$userId')({ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/solid/start-basic-netlify/src/routes/api/users.ts b/examples/solid/start-basic-netlify/src/routes/api/users.ts index a9d6505508b..a6542d11bd7 100644 --- a/examples/solid/start-basic-netlify/src/routes/api/users.ts +++ b/examples/solid/start-basic-netlify/src/routes/api/users.ts @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/solid-router' import { getRequestHeaders } from '@tanstack/solid-start/server' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server(async ({ next }) => { @@ -55,7 +55,7 @@ export const Route = createFileRoute('/api/users')({ const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/solid/start-basic-nitro/src/routes/api/users.$userId.ts b/examples/solid/start-basic-nitro/src/routes/api/users.$userId.ts index 8f31b7a8900..b65c0396c4f 100644 --- a/examples/solid/start-basic-nitro/src/routes/api/users.$userId.ts +++ b/examples/solid/start-basic-nitro/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -18,14 +17,14 @@ export const Route = createFileRoute('/api/users/$userId')({ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/solid/start-basic-nitro/src/routes/api/users.ts b/examples/solid/start-basic-nitro/src/routes/api/users.ts index a9d6505508b..a6542d11bd7 100644 --- a/examples/solid/start-basic-nitro/src/routes/api/users.ts +++ b/examples/solid/start-basic-nitro/src/routes/api/users.ts @@ -1,6 +1,6 @@ import { createFileRoute } from '@tanstack/solid-router' import { getRequestHeaders } from '@tanstack/solid-start/server' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server(async ({ next }) => { @@ -55,7 +55,7 @@ export const Route = createFileRoute('/api/users')({ const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/solid/start-basic-solid-query/src/routes/api/users.$id.ts b/examples/solid/start-basic-solid-query/src/routes/api/users.$id.ts index ef13c22ab24..47d0b2e7a49 100644 --- a/examples/solid/start-basic-solid-query/src/routes/api/users.$id.ts +++ b/examples/solid/start-basic-solid-query/src/routes/api/users.$id.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -12,14 +11,14 @@ export const Route = createFileRoute('/api/users/$id')({ const res = await axios.get( 'https://jsonplaceholder.typicode.com/users/' + params.id, ) - return json({ + return Response.json({ id: res.data.id, name: res.data.name, email: res.data.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/solid/start-basic-solid-query/src/routes/api/users.ts b/examples/solid/start-basic-solid-query/src/routes/api/users.ts index f0f272a8c4c..9a6a3d65aec 100644 --- a/examples/solid/start-basic-solid-query/src/routes/api/users.ts +++ b/examples/solid/start-basic-solid-query/src/routes/api/users.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import axios from 'redaxios' import type { User } from '../../utils/users' @@ -12,7 +11,7 @@ export const Route = createFileRoute('/api/users')({ 'https://jsonplaceholder.typicode.com/users', ) const list = res.data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/examples/solid/start-basic/src/routes/api/users.$userId.ts b/examples/solid/start-basic/src/routes/api/users.$userId.ts index 65e5da00fc7..32a658cb4b7 100644 --- a/examples/solid/start-basic/src/routes/api/users.$userId.ts +++ b/examples/solid/start-basic/src/routes/api/users.$userId.ts @@ -1,5 +1,4 @@ import { createFileRoute } from '@tanstack/solid-router' -import { json } from '@tanstack/solid-start' import type { User } from '~/utils/users' export const Route = createFileRoute('/api/users/$userId')({ @@ -15,14 +14,14 @@ export const Route = createFileRoute('/api/users/$userId')({ throw new Error('Failed to fetch user') } const user = (await res.json()) as User - return json({ + return Response.json({ id: user.id, name: user.name, email: user.email, }) } catch (e) { console.error(e) - return json({ error: 'User not found' }, { status: 404 }) + return Response.json({ error: 'User not found' }, { status: 404 }) } }, }, diff --git a/examples/solid/start-basic/src/routes/api/users.ts b/examples/solid/start-basic/src/routes/api/users.ts index 755805280b2..f2fa98359aa 100644 --- a/examples/solid/start-basic/src/routes/api/users.ts +++ b/examples/solid/start-basic/src/routes/api/users.ts @@ -1,5 +1,5 @@ import { createFileRoute } from '@tanstack/solid-router' -import { createMiddleware, json } from '@tanstack/solid-start' +import { createMiddleware } from '@tanstack/solid-start' import type { User } from '~/utils/users' const userLoggerMiddleware = createMiddleware().server( @@ -50,7 +50,7 @@ export const Route = createFileRoute('/api/users')({ } const data = (await res.json()) as Array const list = data.slice(0, 10) - return json( + return Response.json( list.map((u) => ({ id: u.id, name: u.name, email: u.email })), ) }, diff --git a/packages/router-core/src/ssr/json.ts b/packages/router-core/src/ssr/json.ts index 051a153f737..90226f9c8cb 100644 --- a/packages/router-core/src/ssr/json.ts +++ b/packages/router-core/src/ssr/json.ts @@ -1,18 +1,16 @@ -import { mergeHeaders } from './headers' - +/** + * @deprecated Use [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) from the standard Web API directly. + */ export interface JsonResponse extends Response { json: () => Promise } +/** + * @deprecated Use [`Response.json`](https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static) from the standard Web API directly. + */ export function json( payload: TData, init?: ResponseInit, ): JsonResponse { - return new Response(JSON.stringify(payload), { - ...init, - headers: mergeHeaders( - { 'content-type': 'application/json' }, - init?.headers, - ), - }) + return Response.json(payload, init) } diff --git a/packages/router-core/tests/json.test.ts b/packages/router-core/tests/json.test.ts deleted file mode 100644 index 8d675212f8a..00000000000 --- a/packages/router-core/tests/json.test.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { describe, expect, it } from 'vitest' -import { json } from '../src/ssr/json' - -describe('json', () => { - it('sets the content type to application/json and stringifies the data', async () => { - const data = { foo: 'bar' } - const response = json(data) - - expect(response.headers.get('Content-Type')).toBe('application/json') - - const responseClone = response.clone() - await expect(responseClone.text()).resolves.toEqual(JSON.stringify(data)) - - await expect(response.json()).resolves.toEqual(data) - }) - it("doesn't override the content type if it's already set", () => { - const response = json(null, { headers: { 'Content-Type': 'text/plain' } }) - - expect(response.headers.get('Content-Type')).toBe('text/plain') - }) - it('reflects passed status and statusText', () => { - const response = json(null, { status: 404, statusText: 'Not Found' }) - - expect(response.status).toBe(404) - expect(response.statusText).toBe('Not Found') - }) - it.each<[string, HeadersInit]>([ - ['plain object', { 'X-TYPE': 'example' }], - ['array', [['X-TYPE', 'example']]], - ['Headers', new Headers({ 'X-TYPE': 'example' })], - ])('merges headers from %s', (_, headers) => { - const response = json(null, { headers }) - - expect(response.headers.get('X-TYPE')).toBe('example') - expect(response.headers.get('Content-Type')).toBe('application/json') - }) -}) diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index aa2da38cfe0..b0984b32751 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -1,9 +1,5 @@ import { createMemoryHistory } from '@tanstack/history' -import { - flattenMiddlewares, - json, - mergeHeaders, -} from '@tanstack/start-client-core' +import { flattenMiddlewares, mergeHeaders } from '@tanstack/start-client-core' import { executeRewriteInput, isRedirect, @@ -178,7 +174,7 @@ export function createStartHandler( ) if (!isRouterAcceptSupported) { - return json( + return Response.json( { error: 'Only HTML requests are supported here', }, @@ -259,7 +255,7 @@ export function createStartHandler( if (isRedirect(response)) { if (isResolvedRedirect(response)) { if (request.headers.get('x-tsr-redirect') === 'manual') { - return json( + return Response.json( { ...response.options, isSerializedRedirect: true, @@ -300,7 +296,7 @@ export function createStartHandler( const redirect = router.resolveRedirect(response) if (request.headers.get('x-tsr-redirect') === 'manual') { - return json( + return Response.json( { ...response.options, isSerializedRedirect: true, diff --git a/packages/start-server-core/tests/serverRoute.test-d.ts b/packages/start-server-core/tests/serverRoute.test-d.ts index bc5b17db667..cd9bd671be5 100644 --- a/packages/start-server-core/tests/serverRoute.test-d.ts +++ b/packages/start-server-core/tests/serverRoute.test-d.ts @@ -3,7 +3,6 @@ import { test } from 'vitest' test('dummy', () => {}) /* import { expectTypeOf, test } from 'vitest' -import { json } from '../../router-core/src/ssr/json' import '../../start-client-core/src/serverRoute' import { createMiddleware } from '../../start-client-core/src/createMiddleware' import { createFileRoute as defaultCreateFileRoute } from '../../react-router/src/fileRoute' @@ -41,7 +40,7 @@ test('createServerFileRoute with methods with no middleware', () => { request: Request }>() - return json({ + return Response.json({ test: 'test', }) }, @@ -56,7 +55,7 @@ test('createServerFileRoute with methods with no middleware', () => { request: Request }>() - return json({ + return Response.json({ test: 'test', }) }), @@ -83,7 +82,7 @@ test('createServerFileRoute with methods and route middleware context', () => { request: Request }>() - return json({ + return Response.json({ test: 'test', }) }, @@ -98,7 +97,7 @@ test('createServerFileRoute with methods and route middleware context', () => { request: Request }>() - return json({ + return Response.json({ test: 'test', }) }), @@ -129,7 +128,7 @@ test('createServerFileRoute with methods middleware and route middleware', () => request: Request }>() - return json({ + return Response.json({ test: 'test', }) }), @@ -178,7 +177,7 @@ test('createServerFileRoute with a parent middleware context', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }, }) @@ -199,7 +198,7 @@ test('createServerFileRoute with a parent middleware context', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }), })) }) @@ -232,7 +231,7 @@ test('createServerFileRoute with parent middleware params', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }, }) @@ -245,7 +244,7 @@ test('createServerFileRoute with parent middleware params', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }), })) }) @@ -268,7 +267,7 @@ test('createServerFileRoute with no params', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }, }) @@ -281,7 +280,7 @@ test('createServerFileRoute with no params', () => { request: Request }>() - return json({ test: 'test' }) + return Response.json({ test: 'test' }) }), })) })