@react-email/render
Advanced tools
Comparing version
@@ -161,19 +161,15 @@ "use strict"; | ||
const chunks = []; | ||
if ("pipeTo" in stream) { | ||
const writableStream = new WritableStream({ | ||
write(chunk) { | ||
chunks.push(chunk); | ||
} | ||
}); | ||
yield stream.pipeTo(writableStream); | ||
} else { | ||
throw new Error( | ||
"For some reason, the Node version of `react-dom/server` has been imported instead of the browser one.", | ||
{ | ||
const writableStream = new WritableStream({ | ||
write(chunk) { | ||
chunks.push(chunk); | ||
}, | ||
abort(reason) { | ||
throw new Error("Stream aborted", { | ||
cause: { | ||
stream | ||
reason | ||
} | ||
} | ||
); | ||
} | ||
}); | ||
} | ||
}); | ||
yield stream.pipeTo(writableStream); | ||
let length = 0; | ||
@@ -193,26 +189,13 @@ chunks.forEach((item) => { | ||
const suspendedElement = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { children: node }); | ||
const reactDOMServer = yield import("react-dom/server").then( | ||
const reactDOMServer = yield import("react-dom/server.browser").then( | ||
// This is beacuse react-dom/server is CJS | ||
(m) => m.default | ||
); | ||
let html2; | ||
if (Object.hasOwn(reactDOMServer, "renderToReadableStream")) { | ||
html2 = yield readStream( | ||
yield reactDOMServer.renderToReadableStream(suspendedElement) | ||
); | ||
} else { | ||
yield new Promise((resolve, reject) => { | ||
const stream = reactDOMServer.renderToPipeableStream(suspendedElement, { | ||
onAllReady() { | ||
return __async(this, null, function* () { | ||
html2 = yield readStream(stream); | ||
resolve(); | ||
}); | ||
}, | ||
onError(error) { | ||
reject(error); | ||
} | ||
}); | ||
}); | ||
} | ||
const html2 = yield new Promise((resolve, reject) => { | ||
reactDOMServer.renderToReadableStream(suspendedElement, { | ||
onError(error) { | ||
reject(error); | ||
} | ||
}).then(readStream).then(resolve).catch(reject); | ||
}); | ||
if (options == null ? void 0 : options.plainText) { | ||
@@ -219,0 +202,0 @@ return (0, import_html_to_text.convert)(html2, __spreadValues({ |
{ | ||
"name": "@react-email/render", | ||
"version": "1.1.2", | ||
"version": "1.1.3-canary.0", | ||
"description": "Transform React components into HTML email templates", | ||
@@ -5,0 +5,0 @@ "sideEffects": false, |
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
35914
-2.47%874
-3.74%2
100%