@umijs/server 4.0.0-canary.20230927.1 → 4.0.0-canary.20231009.1
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/ssr.d.ts +1 -0
- package/dist/ssr.js +9 -19
- package/package.json +2 -2
package/dist/ssr.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ interface CreateRequestHandlerOptions {
|
|
|
18
18
|
createHistory: (opts: any) => any;
|
|
19
19
|
helmetContext?: any;
|
|
20
20
|
ServerInsertedHTMLContext: React.Context<ServerInsertedHTMLHook | null>;
|
|
21
|
+
withoutHTML?: boolean;
|
|
21
22
|
}
|
|
22
23
|
export declare function createMarkupGenerator(opts: CreateRequestHandlerOptions): (url: string) => Promise<unknown>;
|
|
23
24
|
export default function createRequestHandler(opts: CreateRequestHandlerOptions): (req: any, res: any, next: any) => Promise<any>;
|
package/dist/ssr.js
CHANGED
|
@@ -98,7 +98,8 @@ function createJSXGenerator(opts) {
|
|
|
98
98
|
pluginManager,
|
|
99
99
|
location: url,
|
|
100
100
|
manifest,
|
|
101
|
-
loaderData
|
|
101
|
+
loaderData,
|
|
102
|
+
withoutHTML: opts.withoutHTML
|
|
102
103
|
};
|
|
103
104
|
const element = await opts.getClientRootComponent(
|
|
104
105
|
context
|
|
@@ -202,7 +203,10 @@ function createRequestHandler(opts) {
|
|
|
202
203
|
};
|
|
203
204
|
}
|
|
204
205
|
function createUmiHandler(opts) {
|
|
205
|
-
const jsxGeneratorDeferrer = createJSXGenerator(
|
|
206
|
+
const jsxGeneratorDeferrer = createJSXGenerator({
|
|
207
|
+
...opts,
|
|
208
|
+
withoutHTML: true
|
|
209
|
+
});
|
|
206
210
|
return function(req) {
|
|
207
211
|
return new Promise(async (resolve, reject) => {
|
|
208
212
|
const jsx = await jsxGeneratorDeferrer(new URL(req.url).pathname);
|
|
@@ -210,34 +214,20 @@ function createUmiHandler(opts) {
|
|
|
210
214
|
reject(new Error("no page resource"));
|
|
211
215
|
return;
|
|
212
216
|
}
|
|
213
|
-
|
|
214
|
-
const writable = new import_stream.Writable();
|
|
215
|
-
writable._write = (chunk, _encoding, next) => {
|
|
216
|
-
buf = Buffer.concat([buf, chunk]);
|
|
217
|
-
next();
|
|
218
|
-
};
|
|
219
|
-
writable.on("finish", async () => {
|
|
220
|
-
resolve(import_stream.Readable.from(buf));
|
|
221
|
-
});
|
|
222
|
-
const stream = await ReactDomServer.renderToPipeableStream(jsx.element, {
|
|
217
|
+
const stream = await ReactDomServer.renderToReadableStream(jsx.element, {
|
|
223
218
|
bootstrapScripts: [jsx.manifest.assets["umi.js"] || "/umi.js"],
|
|
224
|
-
onShellReady() {
|
|
225
|
-
stream.pipe(writable);
|
|
226
|
-
},
|
|
227
219
|
onError(err) {
|
|
228
220
|
reject(err);
|
|
229
221
|
}
|
|
230
222
|
});
|
|
223
|
+
resolve(stream);
|
|
231
224
|
});
|
|
232
225
|
};
|
|
233
226
|
}
|
|
234
227
|
function createUmiServerLoader(opts) {
|
|
235
228
|
return async function(req) {
|
|
236
229
|
const query = Object.fromEntries(new URL(req.url).searchParams);
|
|
237
|
-
return await executeLoader(
|
|
238
|
-
query.route,
|
|
239
|
-
opts.routesWithServerLoader
|
|
240
|
-
);
|
|
230
|
+
return await executeLoader(query.route, opts.routesWithServerLoader);
|
|
241
231
|
};
|
|
242
232
|
}
|
|
243
233
|
function matchRoutesForSSR(reqUrl, routesById) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umijs/server",
|
|
3
|
-
"version": "4.0.0-canary.
|
|
3
|
+
"version": "4.0.0-canary.20231009.1",
|
|
4
4
|
"description": "@umijs/server",
|
|
5
5
|
"homepage": "https://github.com/umijs/umi/tree/master/packages/server#readme",
|
|
6
6
|
"bugs": "https://github.com/umijs/umi/issues",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"react": "18.1.0",
|
|
20
20
|
"react-dom": "18.1.0",
|
|
21
21
|
"react-router-dom": "6.3.0",
|
|
22
|
-
"@umijs/bundler-utils": "4.0.0-canary.
|
|
22
|
+
"@umijs/bundler-utils": "4.0.0-canary.20231009.1"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|