@bleedingdev/modern-js-render 3.4.0-ultramodern.2 → 3.4.0-ultramodern.20

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
- async function renderCSRWithRSC(options) {
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 };
@@ -1,5 +1,4 @@
1
- import { decodeReply as server_node_decodeReply, loadServerAction as server_node_loadServerAction, renderToReadableStream } from "react-server-dom-rspack/server.node";
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 = server_edge_renderToReadableStream(options.element);
183
+ const readable = renderToReadableStream(options.element);
194
184
  return readable;
195
185
  };
196
- const rsc_worker_handleAction = createHandleAction({
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, rsc_worker_handleAction as handleAction, rsc_worker_renderRsc as renderRsc, server_edge_renderToReadableStream as renderToReadableStream };
193
+ export { handleAction, registerClientReference, registerServerReference, renderCSRWithRSC, renderToReadableStream, rsc_worker_renderRsc as renderRsc };
@@ -1,2 +1 @@
1
- export * from './server/rsc/csr';
2
1
  export * from './server/rsc/rsc.worker';
@@ -1,5 +1,4 @@
1
- import type { ReactElement } from 'react';
2
- export declare function renderCSRWithRSC(options: {
1
+ export declare const renderCSRWithRSC: (options: {
3
2
  html: string;
4
- rscRoot: ReactElement;
5
- }): Promise<Response>;
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.2",
20
+ "version": "3.4.0-ultramodern.20",
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/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.2",
28
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.2"
27
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.20",
28
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.20"
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
- "@scripts/build": "2.66.0",
40
39
  "@scripts/rstest-config": "2.66.0",
41
- "@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.4.0-ultramodern.2"
40
+ "@scripts/build": "2.66.0",
41
+ "@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.4.0-ultramodern.20"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": "^19.2.7",