diff --git a/.changeset/good-hairs-compare.md b/.changeset/good-hairs-compare.md new file mode 100644 index 00000000..c522c377 --- /dev/null +++ b/.changeset/good-hairs-compare.md @@ -0,0 +1,5 @@ +--- +'@hono/react-renderer': minor +--- + +Support renderToReadableStream options. diff --git a/packages/react-renderer/src/react-renderer.ts b/packages/react-renderer/src/react-renderer.ts index a55b3544..90941997 100644 --- a/packages/react-renderer/src/react-renderer.ts +++ b/packages/react-renderer/src/react-renderer.ts @@ -1,12 +1,13 @@ import type { Context } from 'hono' import type { Env, MiddlewareHandler } from 'hono/types' import React from 'react' -import { renderToString } from 'react-dom/server' +import { renderToString, type RenderToReadableStreamOptions } from 'react-dom/server' import type { Props } from '.' type RendererOptions = { docType?: boolean | string stream?: boolean | Record + readableStreamOptions?: RenderToReadableStreamOptions } type BaseProps = { @@ -26,7 +27,8 @@ const createRenderer = if (options?.stream) { const { renderToReadableStream } = await import('react-dom/server') const stream = await renderToReadableStream( - React.createElement(RequestContext.Provider, { value: c }, node) + React.createElement(RequestContext.Provider, { value: c }, node), + options.readableStreamOptions ) return c.body(stream, { headers: