@modern-js/server-core 2.49.3-alpha.0 → 2.49.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/cjs/base/adapters/node/middlewares/serverPublic.js +3 -0
- package/dist/cjs/base/middlewares/renderHandler/render.js +29 -12
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +2 -2
- package/dist/esm/base/adapters/node/middlewares/serverPublic.js +5 -0
- package/dist/esm/base/middlewares/renderHandler/render.js +52 -33
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +3 -3
- package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +3 -0
- package/dist/esm-node/base/middlewares/renderHandler/render.js +29 -12
- package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +2 -2
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +3 -1
- package/package.json +7 -7
|
@@ -22,13 +22,31 @@ __export(render_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(render_exports);
|
|
24
24
|
var import_universal = require("@modern-js/utils/universal");
|
|
25
|
+
var import_trie_router = require("hono/router/trie-router");
|
|
25
26
|
var import_constants = require("../../../base/constants");
|
|
26
27
|
var import_utils = require("../../utils");
|
|
27
28
|
var import_dataHandler = require("./dataHandler");
|
|
28
29
|
var import_ssrRender = require("./ssrRender");
|
|
30
|
+
function getRouter(routes) {
|
|
31
|
+
const sorted = routes.sort(import_utils.sortRoutes);
|
|
32
|
+
const router = new import_trie_router.TrieRouter();
|
|
33
|
+
for (const route of sorted) {
|
|
34
|
+
const { urlPath: originUrlPath } = route;
|
|
35
|
+
const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
|
|
36
|
+
router.add("*", urlPath, route);
|
|
37
|
+
}
|
|
38
|
+
return router;
|
|
39
|
+
}
|
|
40
|
+
function matchRoute(router, request) {
|
|
41
|
+
const pathname = (0, import_utils.getPathname)(request);
|
|
42
|
+
const matched = router.match("*", pathname);
|
|
43
|
+
const result = matched[0][0];
|
|
44
|
+
return result || [];
|
|
45
|
+
}
|
|
29
46
|
async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn }) {
|
|
47
|
+
const router = getRouter(routes);
|
|
30
48
|
return async (req, { logger, nodeReq, reporter, templates, serverManifest, locals, metrics }) => {
|
|
31
|
-
const routeInfo = matchRoute(
|
|
49
|
+
const [routeInfo, params] = matchRoute(router, req);
|
|
32
50
|
const onFallback = async (reason, error) => {
|
|
33
51
|
return onFallbackFn === null || onFallbackFn === void 0 ? void 0 : onFallbackFn(reason, {
|
|
34
52
|
logger,
|
|
@@ -69,6 +87,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
|
|
|
69
87
|
nodeReq,
|
|
70
88
|
reporter,
|
|
71
89
|
serverRoutes: routes,
|
|
90
|
+
params,
|
|
72
91
|
locals,
|
|
73
92
|
serverManifest,
|
|
74
93
|
metrics
|
|
@@ -92,7 +111,7 @@ async function renderHandler(request, options, mode, onError) {
|
|
|
92
111
|
const serverData = {
|
|
93
112
|
router: {
|
|
94
113
|
baseUrl: options.routeInfo.urlPath,
|
|
95
|
-
params:
|
|
114
|
+
params: options.params
|
|
96
115
|
}
|
|
97
116
|
};
|
|
98
117
|
let response;
|
|
@@ -106,17 +125,15 @@ async function renderHandler(request, options, mode, onError) {
|
|
|
106
125
|
} else {
|
|
107
126
|
response = csrRender(options.html);
|
|
108
127
|
}
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
128
|
+
const newRes = (0, import_utils.transformResponse)(response, injectServerData(serverData));
|
|
129
|
+
const { routeInfo } = options;
|
|
130
|
+
applyExtendHeaders(newRes, routeInfo);
|
|
131
|
+
return newRes;
|
|
132
|
+
function applyExtendHeaders(r, route) {
|
|
133
|
+
Object.entries(route.responseHeaders || {}).forEach(([k, v]) => {
|
|
134
|
+
r.headers.set(k, v);
|
|
135
|
+
});
|
|
118
136
|
}
|
|
119
|
-
return void 0;
|
|
120
137
|
}
|
|
121
138
|
async function getRenderMode(req, framework, isSSR, forceCSR, nodeReq, onFallback) {
|
|
122
139
|
const query = (0, import_utils.parseQuery)(req);
|
|
@@ -49,7 +49,7 @@ const defaultReporter = {
|
|
|
49
49
|
reportWarn() {
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics }) {
|
|
52
|
+
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics }) {
|
|
53
53
|
var _serverManifest_renderBundles;
|
|
54
54
|
const { entryName } = routeInfo;
|
|
55
55
|
const loadableStats = serverManifest.loadableStats || {};
|
|
@@ -69,7 +69,7 @@ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, meta
|
|
|
69
69
|
const ssrContext = {
|
|
70
70
|
request: {
|
|
71
71
|
baseUrl: routeInfo.urlPath,
|
|
72
|
-
params
|
|
72
|
+
params,
|
|
73
73
|
pathname: nodeReq ? getPathnameFromNodeReq(nodeReq) : (0, import_utils.getPathname)(request),
|
|
74
74
|
host,
|
|
75
75
|
query,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
4
|
import path from "path";
|
|
4
5
|
import { fileReader } from "@modern-js/runtime-utils/fileReader";
|
|
@@ -31,6 +32,10 @@ function createPublicMiddleware(param) {
|
|
|
31
32
|
if (mimeType) {
|
|
32
33
|
c.header("Content-Type", mimeType);
|
|
33
34
|
}
|
|
35
|
+
Object.entries(route.responseHeaders || {}).forEach(function(param2) {
|
|
36
|
+
var _param = _sliced_to_array(param2, 2), k = _param[0], v = _param[1];
|
|
37
|
+
c.header(k, v);
|
|
38
|
+
});
|
|
34
39
|
return [
|
|
35
40
|
2,
|
|
36
41
|
c.body(data, 200)
|
|
@@ -1,28 +1,64 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
4
|
import { cutNameByHyphen } from "@modern-js/utils/universal";
|
|
5
|
+
import { TrieRouter } from "hono/router/trie-router";
|
|
4
6
|
import { REPLACE_REG } from "../../../base/constants";
|
|
5
7
|
import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname, onError as onErrorFn, ErrorDigest } from "../../utils";
|
|
6
8
|
import { dataHandler } from "./dataHandler";
|
|
7
9
|
import { ssrRender } from "./ssrRender";
|
|
10
|
+
function getRouter(routes) {
|
|
11
|
+
var sorted = routes.sort(sortRoutes);
|
|
12
|
+
var router = new TrieRouter();
|
|
13
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
14
|
+
try {
|
|
15
|
+
for (var _iterator = sorted[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
16
|
+
var route = _step.value;
|
|
17
|
+
var originUrlPath = route.urlPath;
|
|
18
|
+
var urlPath = originUrlPath.endsWith("/") ? "".concat(originUrlPath, "*") : "".concat(originUrlPath, "/*");
|
|
19
|
+
router.add("*", urlPath, route);
|
|
20
|
+
}
|
|
21
|
+
} catch (err) {
|
|
22
|
+
_didIteratorError = true;
|
|
23
|
+
_iteratorError = err;
|
|
24
|
+
} finally {
|
|
25
|
+
try {
|
|
26
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
27
|
+
_iterator.return();
|
|
28
|
+
}
|
|
29
|
+
} finally {
|
|
30
|
+
if (_didIteratorError) {
|
|
31
|
+
throw _iteratorError;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return router;
|
|
36
|
+
}
|
|
37
|
+
function matchRoute(router, request) {
|
|
38
|
+
var pathname = getPathname(request);
|
|
39
|
+
var matched = router.match("*", pathname);
|
|
40
|
+
var result = matched[0][0];
|
|
41
|
+
return result || [];
|
|
42
|
+
}
|
|
8
43
|
function createRender(_) {
|
|
9
44
|
return _createRender.apply(this, arguments);
|
|
10
45
|
}
|
|
11
46
|
function _createRender() {
|
|
12
47
|
_createRender = _async_to_generator(function(param) {
|
|
13
|
-
var routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallbackFn;
|
|
48
|
+
var routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallbackFn, router;
|
|
14
49
|
return _ts_generator(this, function(_state) {
|
|
15
50
|
routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, forceCSR = param.forceCSR, nonce = param.nonce, onFallbackFn = param.onFallback;
|
|
51
|
+
router = getRouter(routes);
|
|
16
52
|
return [
|
|
17
53
|
2,
|
|
18
54
|
function() {
|
|
19
55
|
var _ref = _async_to_generator(function(req, param2) {
|
|
20
|
-
var logger, nodeReq, reporter, templates, serverManifest, locals, metrics, routeInfo, onFallback, html, renderMode, onError, renderOptions, response;
|
|
56
|
+
var logger, nodeReq, reporter, templates, serverManifest, locals, metrics, _matchRoute, routeInfo, params, onFallback, html, renderMode, onError, renderOptions, response;
|
|
21
57
|
return _ts_generator(this, function(_state2) {
|
|
22
58
|
switch (_state2.label) {
|
|
23
59
|
case 0:
|
|
24
60
|
logger = param2.logger, nodeReq = param2.nodeReq, reporter = param2.reporter, templates = param2.templates, serverManifest = param2.serverManifest, locals = param2.locals, metrics = param2.metrics;
|
|
25
|
-
|
|
61
|
+
_matchRoute = _sliced_to_array(matchRoute(router, req), 2), routeInfo = _matchRoute[0], params = _matchRoute[1];
|
|
26
62
|
onFallback = function() {
|
|
27
63
|
var _ref2 = _async_to_generator(function(reason, error) {
|
|
28
64
|
return _ts_generator(this, function(_state3) {
|
|
@@ -102,6 +138,7 @@ function _createRender() {
|
|
|
102
138
|
nodeReq,
|
|
103
139
|
reporter,
|
|
104
140
|
serverRoutes: routes,
|
|
141
|
+
params,
|
|
105
142
|
locals,
|
|
106
143
|
serverManifest,
|
|
107
144
|
metrics
|
|
@@ -179,14 +216,20 @@ function renderHandler(request, options, mode, onError) {
|
|
|
179
216
|
}
|
|
180
217
|
function _renderHandler() {
|
|
181
218
|
_renderHandler = _async_to_generator(function(request, options, mode, onError) {
|
|
182
|
-
var serverData, response, e;
|
|
219
|
+
var serverData, response, e, newRes, routeInfo;
|
|
220
|
+
function applyExtendHeaders(r, route) {
|
|
221
|
+
Object.entries(route.responseHeaders || {}).forEach(function(param) {
|
|
222
|
+
var _param = _sliced_to_array(param, 2), k = _param[0], v = _param[1];
|
|
223
|
+
r.headers.set(k, v);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
183
226
|
return _ts_generator(this, function(_state) {
|
|
184
227
|
switch (_state.label) {
|
|
185
228
|
case 0:
|
|
186
229
|
serverData = {
|
|
187
230
|
router: {
|
|
188
231
|
baseUrl: options.routeInfo.urlPath,
|
|
189
|
-
params:
|
|
232
|
+
params: options.params
|
|
190
233
|
}
|
|
191
234
|
};
|
|
192
235
|
if (!(mode === "ssr"))
|
|
@@ -234,42 +277,18 @@ function _renderHandler() {
|
|
|
234
277
|
response = csrRender(options.html);
|
|
235
278
|
_state.label = 7;
|
|
236
279
|
case 7:
|
|
280
|
+
newRes = transformResponse(response, injectServerData(serverData));
|
|
281
|
+
routeInfo = options.routeInfo;
|
|
282
|
+
applyExtendHeaders(newRes, routeInfo);
|
|
237
283
|
return [
|
|
238
284
|
2,
|
|
239
|
-
|
|
285
|
+
newRes
|
|
240
286
|
];
|
|
241
287
|
}
|
|
242
288
|
});
|
|
243
289
|
});
|
|
244
290
|
return _renderHandler.apply(this, arguments);
|
|
245
291
|
}
|
|
246
|
-
function matchRoute(req, routes) {
|
|
247
|
-
var sorted = routes.sort(sortRoutes);
|
|
248
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
249
|
-
try {
|
|
250
|
-
for (var _iterator = sorted[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
251
|
-
var route = _step.value;
|
|
252
|
-
var pathname = getPathname(req);
|
|
253
|
-
if (pathname.startsWith(route.urlPath)) {
|
|
254
|
-
return route;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
} catch (err) {
|
|
258
|
-
_didIteratorError = true;
|
|
259
|
-
_iteratorError = err;
|
|
260
|
-
} finally {
|
|
261
|
-
try {
|
|
262
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
263
|
-
_iterator.return();
|
|
264
|
-
}
|
|
265
|
-
} finally {
|
|
266
|
-
if (_didIteratorError) {
|
|
267
|
-
throw _iteratorError;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
return void 0;
|
|
272
|
-
}
|
|
273
292
|
function getRenderMode(req, framework, isSSR, forceCSR, nodeReq, onFallback) {
|
|
274
293
|
return _getRenderMode.apply(this, arguments);
|
|
275
294
|
}
|
|
@@ -24,11 +24,11 @@ function ssrRender(request, _) {
|
|
|
24
24
|
}
|
|
25
25
|
function _ssrRender() {
|
|
26
26
|
_ssrRender = _async_to_generator(function(request, param) {
|
|
27
|
-
var routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics, _serverManifest_renderBundles, entryName, loadableStats, routeManifest, host, isSpider, responseProxy, query, headers, key, ssrContext, renderBundle, runtimeEnv, ssrResult, cacheStatus, render, cacheModuleName, ssrCache, incomingMessage, cacheControl, _ref, data, status, redirection, headers1, Readable, streamModule, createReadableStreamFromReadable, _tmp, data1;
|
|
27
|
+
var routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, _serverManifest_renderBundles, entryName, loadableStats, routeManifest, host, isSpider, responseProxy, query, headers, key, ssrContext, renderBundle, runtimeEnv, ssrResult, cacheStatus, render, cacheModuleName, ssrCache, incomingMessage, cacheControl, _ref, data, status, redirection, headers1, Readable, streamModule, createReadableStreamFromReadable, _tmp, data1;
|
|
28
28
|
return _ts_generator(this, function(_state) {
|
|
29
29
|
switch (_state.label) {
|
|
30
30
|
case 0:
|
|
31
|
-
routeInfo = param.routeInfo, html = param.html, staticGenerate = param.staticGenerate, nonce = param.nonce, metaName = param.metaName, reporter = param.reporter, logger = param.logger, nodeReq = param.nodeReq, serverManifest = param.serverManifest, locals = param.locals, metrics = param.metrics;
|
|
31
|
+
routeInfo = param.routeInfo, html = param.html, staticGenerate = param.staticGenerate, nonce = param.nonce, metaName = param.metaName, reporter = param.reporter, logger = param.logger, nodeReq = param.nodeReq, serverManifest = param.serverManifest, locals = param.locals, params = param.params, metrics = param.metrics;
|
|
32
32
|
entryName = routeInfo.entryName;
|
|
33
33
|
loadableStats = serverManifest.loadableStats || {};
|
|
34
34
|
routeManifest = serverManifest.routeManifest || {};
|
|
@@ -47,7 +47,7 @@ function _ssrRender() {
|
|
|
47
47
|
ssrContext = {
|
|
48
48
|
request: {
|
|
49
49
|
baseUrl: routeInfo.urlPath,
|
|
50
|
-
params
|
|
50
|
+
params,
|
|
51
51
|
pathname: nodeReq ? getPathnameFromNodeReq(nodeReq) : getPathname(request),
|
|
52
52
|
host,
|
|
53
53
|
query,
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import { cutNameByHyphen } from "@modern-js/utils/universal";
|
|
2
|
+
import { TrieRouter } from "hono/router/trie-router";
|
|
2
3
|
import { REPLACE_REG } from "../../../base/constants";
|
|
3
4
|
import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname, onError as onErrorFn, ErrorDigest } from "../../utils";
|
|
4
5
|
import { dataHandler } from "./dataHandler";
|
|
5
6
|
import { ssrRender } from "./ssrRender";
|
|
7
|
+
function getRouter(routes) {
|
|
8
|
+
const sorted = routes.sort(sortRoutes);
|
|
9
|
+
const router = new TrieRouter();
|
|
10
|
+
for (const route of sorted) {
|
|
11
|
+
const { urlPath: originUrlPath } = route;
|
|
12
|
+
const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
|
|
13
|
+
router.add("*", urlPath, route);
|
|
14
|
+
}
|
|
15
|
+
return router;
|
|
16
|
+
}
|
|
17
|
+
function matchRoute(router, request) {
|
|
18
|
+
const pathname = getPathname(request);
|
|
19
|
+
const matched = router.match("*", pathname);
|
|
20
|
+
const result = matched[0][0];
|
|
21
|
+
return result || [];
|
|
22
|
+
}
|
|
6
23
|
async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn }) {
|
|
24
|
+
const router = getRouter(routes);
|
|
7
25
|
return async (req, { logger, nodeReq, reporter, templates, serverManifest, locals, metrics }) => {
|
|
8
|
-
const routeInfo = matchRoute(
|
|
26
|
+
const [routeInfo, params] = matchRoute(router, req);
|
|
9
27
|
const onFallback = async (reason, error) => {
|
|
10
28
|
return onFallbackFn === null || onFallbackFn === void 0 ? void 0 : onFallbackFn(reason, {
|
|
11
29
|
logger,
|
|
@@ -46,6 +64,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
|
|
|
46
64
|
nodeReq,
|
|
47
65
|
reporter,
|
|
48
66
|
serverRoutes: routes,
|
|
67
|
+
params,
|
|
49
68
|
locals,
|
|
50
69
|
serverManifest,
|
|
51
70
|
metrics
|
|
@@ -69,7 +88,7 @@ async function renderHandler(request, options, mode, onError) {
|
|
|
69
88
|
const serverData = {
|
|
70
89
|
router: {
|
|
71
90
|
baseUrl: options.routeInfo.urlPath,
|
|
72
|
-
params:
|
|
91
|
+
params: options.params
|
|
73
92
|
}
|
|
74
93
|
};
|
|
75
94
|
let response;
|
|
@@ -83,17 +102,15 @@ async function renderHandler(request, options, mode, onError) {
|
|
|
83
102
|
} else {
|
|
84
103
|
response = csrRender(options.html);
|
|
85
104
|
}
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
105
|
+
const newRes = transformResponse(response, injectServerData(serverData));
|
|
106
|
+
const { routeInfo } = options;
|
|
107
|
+
applyExtendHeaders(newRes, routeInfo);
|
|
108
|
+
return newRes;
|
|
109
|
+
function applyExtendHeaders(r, route) {
|
|
110
|
+
Object.entries(route.responseHeaders || {}).forEach(([k, v]) => {
|
|
111
|
+
r.headers.set(k, v);
|
|
112
|
+
});
|
|
95
113
|
}
|
|
96
|
-
return void 0;
|
|
97
114
|
}
|
|
98
115
|
async function getRenderMode(req, framework, isSSR, forceCSR, nodeReq, onFallback) {
|
|
99
116
|
const query = parseQuery(req);
|
|
@@ -15,7 +15,7 @@ const defaultReporter = {
|
|
|
15
15
|
reportWarn() {
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics }) {
|
|
18
|
+
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics }) {
|
|
19
19
|
var _serverManifest_renderBundles;
|
|
20
20
|
const { entryName } = routeInfo;
|
|
21
21
|
const loadableStats = serverManifest.loadableStats || {};
|
|
@@ -35,7 +35,7 @@ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, meta
|
|
|
35
35
|
const ssrContext = {
|
|
36
36
|
request: {
|
|
37
37
|
baseUrl: routeInfo.urlPath,
|
|
38
|
-
params
|
|
38
|
+
params,
|
|
39
39
|
pathname: nodeReq ? getPathnameFromNodeReq(nodeReq) : getPathname(request),
|
|
40
40
|
host,
|
|
41
41
|
query,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import type { IncomingMessage } from 'http';
|
|
3
3
|
import type { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
|
|
4
4
|
import { ServerManifest } from '../../../core/server';
|
|
5
|
+
export type Params = Record<string, any>;
|
|
5
6
|
export interface SSRRenderOptions {
|
|
6
7
|
pwd: string;
|
|
7
8
|
html: string;
|
|
@@ -10,6 +11,7 @@ export interface SSRRenderOptions {
|
|
|
10
11
|
metaName: string;
|
|
11
12
|
logger: Logger;
|
|
12
13
|
serverManifest: ServerManifest;
|
|
14
|
+
params: Params;
|
|
13
15
|
/** Produce by custom server hook */
|
|
14
16
|
locals?: Record<string, any>;
|
|
15
17
|
reporter?: Reporter;
|
|
@@ -17,5 +19,5 @@ export interface SSRRenderOptions {
|
|
|
17
19
|
nodeReq?: IncomingMessage;
|
|
18
20
|
nonce?: string;
|
|
19
21
|
}
|
|
20
|
-
export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics, }: SSRRenderOptions): Promise<Response>;
|
|
22
|
+
export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, }: SSRRenderOptions): Promise<Response>;
|
|
21
23
|
export declare function getPathnameFromNodeReq(nodeReq: IncomingMessage): string;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.49.3
|
|
18
|
+
"version": "2.49.3",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
"hono": "^3.12.2",
|
|
70
70
|
"isbot": "3.8.0",
|
|
71
71
|
"merge-deep": "^3.0.3",
|
|
72
|
-
"@modern-js/
|
|
73
|
-
"@modern-js/utils": "2.49.
|
|
74
|
-
"@modern-js/plugin": "2.49.
|
|
72
|
+
"@modern-js/utils": "2.49.3",
|
|
73
|
+
"@modern-js/runtime-utils": "2.49.3",
|
|
74
|
+
"@modern-js/plugin": "2.49.3"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@types/jest": "^29",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"jest": "^29",
|
|
82
82
|
"ts-jest": "^29.1.0",
|
|
83
83
|
"typescript": "^5",
|
|
84
|
-
"@
|
|
85
|
-
"@
|
|
86
|
-
"@scripts/
|
|
84
|
+
"@modern-js/types": "2.49.3",
|
|
85
|
+
"@scripts/jest-config": "2.49.3",
|
|
86
|
+
"@scripts/build": "2.49.3"
|
|
87
87
|
},
|
|
88
88
|
"sideEffects": false,
|
|
89
89
|
"publishConfig": {
|