diff --git a/.changeset/free-sides-grin.md b/.changeset/free-sides-grin.md new file mode 100644 index 0000000000..5aac8c2e3c --- /dev/null +++ b/.changeset/free-sides-grin.md @@ -0,0 +1,5 @@ +--- +"@react-email/render": patch +--- + +fix react-dom/server import for the browser and some bundlers diff --git a/packages/render/src/browser/render.tsx b/packages/render/src/browser/render.tsx index 9765097892..28bcaf7041 100644 --- a/packages/render/src/browser/render.tsx +++ b/packages/render/src/browser/render.tsx @@ -53,7 +53,10 @@ export const render = async ( options?: Options, ) => { const suspendedElement = {element}; - const reactDOMServer = await import('react-dom/server'); + const reactDOMServer = await import('react-dom/server').then( + // This is beacuse react-dom/server is CJS + (m) => m.default, + ); let html!: string; if (Object.hasOwn(reactDOMServer, 'renderToReadableStream')) { diff --git a/packages/render/src/node/render.tsx b/packages/render/src/node/render.tsx index 9424a18482..3005aa1019 100644 --- a/packages/render/src/node/render.tsx +++ b/packages/render/src/node/render.tsx @@ -10,7 +10,10 @@ export const render = async ( options?: Options, ) => { const suspendedElement = {element}; - const reactDOMServer = await import('react-dom/server'); + const reactDOMServer = await import('react-dom/server').then( + // This is beacuse react-dom/server is CJS + (m) => m.default, + ); let html!: string; if (Object.hasOwn(reactDOMServer, 'renderToReadableStream')) {