From 0c2dbee52a5deb1d5022c4964a229fd83c0da394 Mon Sep 17 00:00:00 2001 From: Yusuke Wada Date: Sun, 17 Dec 2023 21:51:26 +0900 Subject: [PATCH] fix(react-renderer): dynamic import `renderToReadableStream` (#318) * fix(react-renderer): dynamic import `renderToReadableStream` * add changeset --- .changeset/great-queens-vanish.md | 5 +++++ packages/react-renderer/src/react-renderer.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/great-queens-vanish.md diff --git a/.changeset/great-queens-vanish.md b/.changeset/great-queens-vanish.md new file mode 100644 index 00000000..f6278ae1 --- /dev/null +++ b/.changeset/great-queens-vanish.md @@ -0,0 +1,5 @@ +--- +'@hono/react-renderer': patch +--- + +fix: dynamic import `renderToReadableStream` diff --git a/packages/react-renderer/src/react-renderer.ts b/packages/react-renderer/src/react-renderer.ts index c18dd56e..a55b3544 100644 --- a/packages/react-renderer/src/react-renderer.ts +++ b/packages/react-renderer/src/react-renderer.ts @@ -1,7 +1,7 @@ import type { Context } from 'hono' import type { Env, MiddlewareHandler } from 'hono/types' import React from 'react' -import { renderToString, renderToReadableStream } from 'react-dom/server' +import { renderToString } from 'react-dom/server' import type { Props } from '.' type RendererOptions = { @@ -24,6 +24,7 @@ const createRenderer = const node = component ? component({ children, c, ...props }) : children if (options?.stream) { + const { renderToReadableStream } = await import('react-dom/server') const stream = await renderToReadableStream( React.createElement(RequestContext.Provider, { value: c }, node) )