@bleedingdev/modern-js-render 3.4.0-ultramodern.1 → 3.4.0-ultramodern.3
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.
package/dist/esm/rsc.mjs
CHANGED
|
@@ -105,6 +105,31 @@ function injectCSS(cssFiles, { injectClosingTags = true } = {}) {
|
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
|
+
const createRenderCSRWithRSC = (renderRsc)=>async (options)=>{
|
|
109
|
+
const entryCssFiles = __webpack_require__.rscM?.entryCssFiles;
|
|
110
|
+
const cssFiles = entryCssFiles ? Object.values(entryCssFiles).flat() : [];
|
|
111
|
+
const rscPayloadStream = renderRsc({
|
|
112
|
+
element: options.rscRoot
|
|
113
|
+
});
|
|
114
|
+
const htmlStream = new ReadableStream({
|
|
115
|
+
start (controller) {
|
|
116
|
+
const encoder = new TextEncoder();
|
|
117
|
+
controller.enqueue(encoder.encode(options.html));
|
|
118
|
+
controller.close();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const stream = htmlStream.pipeThrough(injectCSS(cssFiles, {
|
|
122
|
+
injectClosingTags: false
|
|
123
|
+
})).pipeThrough(injectRSCPayload(rscPayloadStream, {
|
|
124
|
+
injectClosingTags: true
|
|
125
|
+
}));
|
|
126
|
+
return new Response(stream, {
|
|
127
|
+
status: 200,
|
|
128
|
+
headers: new Headers({
|
|
129
|
+
'content-type': 'text/html; charset=UTF-8'
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
};
|
|
108
133
|
const createHandleAction = ({ decodeReply, loadServerAction, renderRsc })=>async (req)=>{
|
|
109
134
|
try {
|
|
110
135
|
const serverReference = req.headers.get('x-rsc-action');
|
|
@@ -163,30 +188,6 @@ const handleAction = createHandleAction({
|
|
|
163
188
|
loadServerAction: server_node_loadServerAction,
|
|
164
189
|
renderRsc: rsc_renderRsc
|
|
165
190
|
});
|
|
166
|
-
|
|
167
|
-
const entryCssFiles = __webpack_require__.rscM?.entryCssFiles;
|
|
168
|
-
const cssFiles = entryCssFiles ? Object.values(entryCssFiles).flat() : [];
|
|
169
|
-
const rscPayloadStream = rsc_renderRsc({
|
|
170
|
-
element: options.rscRoot
|
|
171
|
-
});
|
|
172
|
-
const htmlStream = new ReadableStream({
|
|
173
|
-
start (controller) {
|
|
174
|
-
const encoder = new TextEncoder();
|
|
175
|
-
controller.enqueue(encoder.encode(options.html));
|
|
176
|
-
controller.close();
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
const stream = htmlStream.pipeThrough(injectCSS(cssFiles, {
|
|
180
|
-
injectClosingTags: false
|
|
181
|
-
})).pipeThrough(injectRSCPayload(rscPayloadStream, {
|
|
182
|
-
injectClosingTags: true
|
|
183
|
-
}));
|
|
184
|
-
return new Response(stream, {
|
|
185
|
-
status: 200,
|
|
186
|
-
headers: new Headers({
|
|
187
|
-
'content-type': 'text/html; charset=UTF-8'
|
|
188
|
-
})
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
+
const renderCSRWithRSC = createRenderCSRWithRSC(rsc_renderRsc);
|
|
191
192
|
export { createFromReadableStream } from "react-server-dom-rspack/client.node";
|
|
192
193
|
export { handleAction, registerClientReference, registerServerReference, renderCSRWithRSC, renderToReadableStream, rsc_renderRsc as renderRsc };
|
package/dist/esm/rscWorker.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { decodeReply as
|
|
2
|
-
import { decodeReply as server_edge_decodeReply, loadServerAction as server_edge_loadServerAction, registerClientReference, registerServerReference, renderToReadableStream as server_edge_renderToReadableStream } from "react-server-dom-rspack/server.edge";
|
|
1
|
+
import { decodeReply as server_edge_decodeReply, loadServerAction as server_edge_loadServerAction, registerClientReference, registerServerReference, renderToReadableStream } from "react-server-dom-rspack/server.edge";
|
|
3
2
|
const server_encoder = new TextEncoder();
|
|
4
3
|
const closingTagsPattern = /<\/body>\s*<\/html>\s*$/i;
|
|
5
4
|
function injectRSCPayload(rscStream, { injectClosingTags = true }) {
|
|
@@ -106,6 +105,31 @@ function injectCSS(cssFiles, { injectClosingTags = true } = {}) {
|
|
|
106
105
|
}
|
|
107
106
|
});
|
|
108
107
|
}
|
|
108
|
+
const createRenderCSRWithRSC = (renderRsc)=>async (options)=>{
|
|
109
|
+
const entryCssFiles = __webpack_require__.rscM?.entryCssFiles;
|
|
110
|
+
const cssFiles = entryCssFiles ? Object.values(entryCssFiles).flat() : [];
|
|
111
|
+
const rscPayloadStream = renderRsc({
|
|
112
|
+
element: options.rscRoot
|
|
113
|
+
});
|
|
114
|
+
const htmlStream = new ReadableStream({
|
|
115
|
+
start (controller) {
|
|
116
|
+
const encoder = new TextEncoder();
|
|
117
|
+
controller.enqueue(encoder.encode(options.html));
|
|
118
|
+
controller.close();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const stream = htmlStream.pipeThrough(injectCSS(cssFiles, {
|
|
122
|
+
injectClosingTags: false
|
|
123
|
+
})).pipeThrough(injectRSCPayload(rscPayloadStream, {
|
|
124
|
+
injectClosingTags: true
|
|
125
|
+
}));
|
|
126
|
+
return new Response(stream, {
|
|
127
|
+
status: 200,
|
|
128
|
+
headers: new Headers({
|
|
129
|
+
'content-type': 'text/html; charset=UTF-8'
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
};
|
|
109
133
|
const createHandleAction = ({ decodeReply, loadServerAction, renderRsc })=>async (req)=>{
|
|
110
134
|
try {
|
|
111
135
|
const serverReference = req.headers.get('x-rsc-action');
|
|
@@ -155,48 +179,15 @@ const createHandleAction = ({ decodeReply, loadServerAction, renderRsc })=>async
|
|
|
155
179
|
});
|
|
156
180
|
}
|
|
157
181
|
};
|
|
158
|
-
const rsc_renderRsc = (options)=>{
|
|
159
|
-
const readable = renderToReadableStream(options.element);
|
|
160
|
-
return readable;
|
|
161
|
-
};
|
|
162
|
-
createHandleAction({
|
|
163
|
-
decodeReply: server_node_decodeReply,
|
|
164
|
-
loadServerAction: server_node_loadServerAction,
|
|
165
|
-
renderRsc: rsc_renderRsc
|
|
166
|
-
});
|
|
167
|
-
async function renderCSRWithRSC(options) {
|
|
168
|
-
const entryCssFiles = __webpack_require__.rscM?.entryCssFiles;
|
|
169
|
-
const cssFiles = entryCssFiles ? Object.values(entryCssFiles).flat() : [];
|
|
170
|
-
const rscPayloadStream = rsc_renderRsc({
|
|
171
|
-
element: options.rscRoot
|
|
172
|
-
});
|
|
173
|
-
const htmlStream = new ReadableStream({
|
|
174
|
-
start (controller) {
|
|
175
|
-
const encoder = new TextEncoder();
|
|
176
|
-
controller.enqueue(encoder.encode(options.html));
|
|
177
|
-
controller.close();
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
const stream = htmlStream.pipeThrough(injectCSS(cssFiles, {
|
|
181
|
-
injectClosingTags: false
|
|
182
|
-
})).pipeThrough(injectRSCPayload(rscPayloadStream, {
|
|
183
|
-
injectClosingTags: true
|
|
184
|
-
}));
|
|
185
|
-
return new Response(stream, {
|
|
186
|
-
status: 200,
|
|
187
|
-
headers: new Headers({
|
|
188
|
-
'content-type': 'text/html; charset=UTF-8'
|
|
189
|
-
})
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
182
|
const rsc_worker_renderRsc = (options)=>{
|
|
193
|
-
const readable =
|
|
183
|
+
const readable = renderToReadableStream(options.element);
|
|
194
184
|
return readable;
|
|
195
185
|
};
|
|
196
|
-
const
|
|
186
|
+
const renderCSRWithRSC = createRenderCSRWithRSC(rsc_worker_renderRsc);
|
|
187
|
+
const handleAction = createHandleAction({
|
|
197
188
|
decodeReply: server_edge_decodeReply,
|
|
198
189
|
loadServerAction: server_edge_loadServerAction,
|
|
199
190
|
renderRsc: rsc_worker_renderRsc
|
|
200
191
|
});
|
|
201
192
|
export { createFromReadableStream } from "react-server-dom-rspack/client.edge";
|
|
202
|
-
export { registerClientReference, registerServerReference, renderCSRWithRSC,
|
|
193
|
+
export { handleAction, registerClientReference, registerServerReference, renderCSRWithRSC, renderToReadableStream, rsc_worker_renderRsc as renderRsc };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function renderCSRWithRSC(options: {
|
|
1
|
+
export declare const renderCSRWithRSC: (options: {
|
|
3
2
|
html: string;
|
|
4
|
-
rscRoot: ReactElement;
|
|
5
|
-
})
|
|
3
|
+
rscRoot: import("react").ReactElement;
|
|
4
|
+
}) => Promise<Response>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
type RenderRsc = (options: {
|
|
3
|
+
element: ReactElement;
|
|
4
|
+
}) => ReadableStream;
|
|
5
|
+
export declare const createRenderCSRWithRSC: (renderRsc: RenderRsc) => (options: {
|
|
6
|
+
html: string;
|
|
7
|
+
rscRoot: ReactElement;
|
|
8
|
+
}) => Promise<Response>;
|
|
9
|
+
export {};
|
|
@@ -5,4 +5,8 @@ type RenderRscOptions = {
|
|
|
5
5
|
element: React.ReactElement;
|
|
6
6
|
};
|
|
7
7
|
export declare const renderRsc: (options: RenderRscOptions) => ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
8
|
+
export declare const renderCSRWithRSC: (options: {
|
|
9
|
+
html: string;
|
|
10
|
+
rscRoot: import("react").ReactElement;
|
|
11
|
+
}) => Promise<Response>;
|
|
8
12
|
export declare const handleAction: (req: Request) => Promise<Response>;
|
package/package.json
CHANGED
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.4.0-ultramodern.
|
|
20
|
+
"version": "3.4.0-ultramodern.3",
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
23
|
"hook.d.ts"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@swc/helpers": "^0.5.23",
|
|
27
|
-
"@modern-js/
|
|
28
|
-
"@modern-js/
|
|
27
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.3",
|
|
28
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@rslib/core": "0.23.0",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"react-dom": "^19.2.7",
|
|
37
37
|
"react-server-dom-rspack": "0.0.2",
|
|
38
38
|
"typescript": "^6.0.3",
|
|
39
|
-
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.4.0-ultramodern.
|
|
40
|
-
"@scripts/
|
|
41
|
-
"@scripts/
|
|
39
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.4.0-ultramodern.3",
|
|
40
|
+
"@scripts/build": "2.66.0",
|
|
41
|
+
"@scripts/rstest-config": "2.66.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^19.2.7",
|