Skip to content

Commit 7927dcd

Browse files
authored
perf(start): use FastResponse from srvx (#6616)
1 parent 34aecb8 commit 7927dcd

File tree

6 files changed

+15
-7
lines changed

6 files changed

+15
-7
lines changed

packages/react-router/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100
"@tanstack/react-store": "^0.8.0",
101101
"@tanstack/router-core": "workspace:*",
102102
"isbot": "^5.1.22",
103+
"srvx": "^0.11.2",
103104
"tiny-invariant": "^1.3.3",
104105
"tiny-warning": "^1.0.3"
105106
},

packages/react-router/src/ssr/renderRouterToStream.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
transformPipeableStreamWithRouter,
66
transformReadableStreamWithRouter,
77
} from '@tanstack/router-core/ssr/server'
8+
import { FastResponse } from 'srvx'
89
import type { AnyRouter } from '@tanstack/router-core'
910
import type { ReadableStream } from 'node:stream/web'
1011
import type { ReactNode } from 'react'
@@ -35,7 +36,7 @@ export const renderRouterToStream = async ({
3536
router,
3637
stream as unknown as ReadableStream,
3738
)
38-
return new Response(responseStream as any, {
39+
return new FastResponse(responseStream as any, {
3940
status: router.state.statusCode,
4041
headers: responseHeaders,
4142
})
@@ -78,7 +79,7 @@ export const renderRouterToStream = async ({
7879
router,
7980
reactAppPassthrough,
8081
)
81-
return new Response(responseStream as any, {
82+
return new FastResponse(responseStream as any, {
8283
status: router.state.statusCode,
8384
headers: responseHeaders,
8485
})

packages/solid-router/src/ssr/renderRouterToStream.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import type { JSXElement } from 'solid-js'
77
import type { ReadableStream } from 'node:stream/web'
88
import type { AnyRouter } from '@tanstack/router-core'
99

10-
globalThis.Response = FastResponse
11-
1210
export const renderRouterToStream = async ({
1311
request,
1412
router,
@@ -54,7 +52,7 @@ export const renderRouterToStream = async ({
5452
router,
5553
readable as unknown as ReadableStream,
5654
)
57-
return new Response(responseStream as any, {
55+
return new FastResponse(responseStream as any, {
5856
status: router.state.statusCode,
5957
headers: responseHeaders,
6058
})

packages/vue-router/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
"@vue/runtime-dom": "^3.5.25",
7777
"isbot": "^5.1.22",
7878
"jsesc": "^3.0.2",
79+
"srvx": "^0.11.2",
7980
"tiny-invariant": "^1.3.3",
8081
"tiny-warning": "^1.0.3"
8182
},

packages/vue-router/src/ssr/renderRouterToStream.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as Vue from 'vue'
33
import { pipeToWebWritable, renderToString } from 'vue/server-renderer'
44
import { isbot } from 'isbot'
55
import { transformReadableStreamWithRouter } from '@tanstack/router-core/ssr/server'
6+
import { FastResponse } from 'srvx'
67
import type { AnyRouter } from '@tanstack/router-core'
78
import type { Component } from 'vue'
89
import type { ReadableStream } from 'node:stream/web'
@@ -62,7 +63,7 @@ export const renderRouterToStream = async ({
6263
fullHtml = fullHtml.slice(htmlOpenIndex)
6364
}
6465

65-
return new Response(`<!DOCTYPE html>${fullHtml}`, {
66+
return new FastResponse(`<!DOCTYPE html>${fullHtml}`, {
6667
status: router.state.statusCode,
6768
headers: responseHeaders,
6869
})
@@ -78,7 +79,7 @@ export const renderRouterToStream = async ({
7879
doctypedStream as unknown as ReadableStream,
7980
)
8081

81-
return new Response(responseStream as any, {
82+
return new FastResponse(responseStream as any, {
8283
status: router.state.statusCode,
8384
headers: responseHeaders,
8485
})

pnpm-lock.yaml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)