File tree Expand file tree Collapse file tree 3 files changed +21
-4
lines changed Expand file tree Collapse file tree 3 files changed +21
-4
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ " @react-email/render " : patch
3
+ ---
4
+
5
+ fix react-dom/server import for the browser and some bundlers
Original file line number Diff line number Diff line change @@ -48,9 +48,15 @@ const readStream = async (
48
48
return decoder . decode ( mergedChunks ) ;
49
49
} ;
50
50
51
- export const render = async ( node : React . ReactNode , options ?: Options ) => {
51
+ export const render = async (
52
+ node : React . ReactNode ,
53
+ options ?: Options ,
54
+ ) => {
52
55
const suspendedElement = < Suspense > { node } </ Suspense > ;
53
- const reactDOMServer = await import ( 'react-dom/server' ) ;
56
+ const reactDOMServer = await import ( 'react-dom/server' ) . then (
57
+ // This is beacuse react-dom/server is CJS
58
+ ( m ) => m . default ,
59
+ ) ;
54
60
55
61
let html ! : string ;
56
62
if ( Object . hasOwn ( reactDOMServer , 'renderToReadableStream' ) ) {
Original file line number Diff line number Diff line change @@ -5,9 +5,15 @@ import { plainTextSelectors } from '../shared/plain-text-selectors';
5
5
import { pretty } from '../shared/utils/pretty' ;
6
6
import { readStream } from './read-stream' ;
7
7
8
- export const render = async ( node : React . ReactNode , options ?: Options ) => {
8
+ export const render = async (
9
+ node : React . ReactNode ,
10
+ options ?: Options ,
11
+ ) => {
9
12
const suspendedElement = < Suspense > { node } </ Suspense > ;
10
- const reactDOMServer = await import ( 'react-dom/server' ) ;
13
+ const reactDOMServer = await import ( 'react-dom/server' ) . then (
14
+ // This is beacuse react-dom/server is CJS
15
+ ( m ) => m . default ,
16
+ ) ;
11
17
12
18
let html ! : string ;
13
19
if ( Object . hasOwn ( reactDOMServer , 'renderToReadableStream' ) ) {
You can’t perform that action at this time.
0 commit comments