@cloudwerk/ui 0.15.5 → 0.15.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -164,7 +164,7 @@ async function initReactRenderer() {
|
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
166
|
try {
|
|
167
|
-
const { reactRenderer } = await import("./react-
|
|
167
|
+
const { reactRenderer } = await import("./react-XOX7IAFN.js");
|
|
168
168
|
renderers["react"] = reactRenderer;
|
|
169
169
|
} catch (error) {
|
|
170
170
|
throw new Error(
|
|
@@ -216,6 +216,9 @@ function createClientComponentWrapper(Component, meta) {
|
|
|
216
216
|
}
|
|
217
217
|
const { componentId, bundlePath } = meta;
|
|
218
218
|
return function WrappedClientComponent(props) {
|
|
219
|
+
if (getActiveRendererName() === "react") {
|
|
220
|
+
return Component(props);
|
|
221
|
+
}
|
|
219
222
|
const rendered = Component(props);
|
|
220
223
|
const serializedProps = serializeProps(props);
|
|
221
224
|
const renderer = getActiveRenderer();
|
package/dist/client.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
// src/renderers/react.ts
|
|
2
|
-
import { renderToString, renderToReadableStream } from "react-dom/server";
|
|
3
2
|
import { createElement } from "react";
|
|
3
|
+
var _reactDomServer = null;
|
|
4
|
+
async function getReactDomServer() {
|
|
5
|
+
if (!_reactDomServer) {
|
|
6
|
+
_reactDomServer = await import("react-dom/server");
|
|
7
|
+
}
|
|
8
|
+
return _reactDomServer;
|
|
9
|
+
}
|
|
4
10
|
var reactRenderer = {
|
|
5
11
|
/**
|
|
6
12
|
* Render a React element to an HTML Response.
|
|
@@ -12,8 +18,9 @@ var reactRenderer = {
|
|
|
12
18
|
* @param options - Render options
|
|
13
19
|
* @returns Response object with HTML content
|
|
14
20
|
*/
|
|
15
|
-
render(element, options = {}) {
|
|
21
|
+
async render(element, options = {}) {
|
|
16
22
|
const { status = 200, headers = {}, doctype = true } = options;
|
|
23
|
+
const { renderToString } = await getReactDomServer();
|
|
17
24
|
const htmlString = renderToString(element);
|
|
18
25
|
const body = doctype ? `<!DOCTYPE html>${htmlString}` : htmlString;
|
|
19
26
|
return new Response(body, {
|
|
@@ -92,6 +99,7 @@ function prependDoctype(stream) {
|
|
|
92
99
|
}
|
|
93
100
|
async function reactRenderToStream(element, options = {}) {
|
|
94
101
|
const { status = 200, headers = {}, doctype = true } = options;
|
|
102
|
+
const { renderToReadableStream } = await getReactDomServer();
|
|
95
103
|
const contentStream = await renderToReadableStream(element);
|
|
96
104
|
const stream = doctype ? prependDoctype(contentStream) : contentStream;
|
|
97
105
|
return new Response(stream, {
|