fix(render): issues where the import for react-dom doesn't have a default (#2318)

Co-authored-by: Gabriel Miranda <gabrielmfern@outlook.com>
This commit is contained in:
Tstassin
2025-12-18 13:57:33 +01:00
committed by GitHub
parent f4acc69ae3
commit 42aca9fc63
4 changed files with 24 additions and 12 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@react-email/render": patch
---
add fallback for m.default when importing react-dom
+6 -4
View File
@@ -5,10 +5,12 @@ import { readStream } from '../shared/read-stream.browser';
export const render = async (node: React.ReactNode, options?: Options) => {
const suspendedElement = <Suspense>{node}</Suspense>;
const reactDOMServer = await import('react-dom/server.browser').then(
// This is beacuse react-dom/server is CJS
(m) => m.default,
);
const reactDOMServer = await import('react-dom/server').then((m) => {
if ('default' in m) {
return m.default;
}
return m;
});
const html = await new Promise<string>((resolve, reject) => {
reactDOMServer
+7 -4
View File
@@ -10,10 +10,13 @@ export const render = async (
options?: Options,
) => {
const suspendedElement = <Suspense>{element}</Suspense>;
const reactDOMServer = await importReactDom().then(
// This is because react-dom/server is CJS
(m) => m.default,
);
const reactDOMServer = await importReactDom().then((m) => {
if ('default' in m) {
return m.default;
}
return m;
});
const html = await new Promise<string>((resolve, reject) => {
reactDOMServer
+6 -4
View File
@@ -6,10 +6,12 @@ import { readStream } from './read-stream';
export const render = async (node: React.ReactNode, options?: Options) => {
const suspendedElement = <Suspense>{node}</Suspense>;
const reactDOMServer = await import('react-dom/server').then(
// This is beacuse react-dom/server is CJS
(m) => m.default,
);
const reactDOMServer = await import('react-dom/server').then((m) => {
if ('default' in m) {
return m.default;
}
return m;
});
let html!: string;
if (