@modern-js/server-core 2.68.0 → 2.68.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.
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var csrRscRender_exports = {};
20
+ __export(csrRscRender_exports, {
21
+ csrRscRender: () => csrRscRender
22
+ });
23
+ module.exports = __toCommonJS(csrRscRender_exports);
24
+ var import_constants = require("@modern-js/utils/universal/constants");
25
+ var import_utils = require("./utils");
26
+ const csrRscRender = async (req, options) => {
27
+ var _serverManifest_renderBundles;
28
+ const { routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, html } = options;
29
+ const serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || import_constants.MAIN_ENTRY_NAME];
30
+ const loadableStats = serverManifest.loadableStats || {};
31
+ const routeManifest = serverManifest.routeManifest || {};
32
+ const config = (0, import_utils.createRequestHandlerConfig)(options.config);
33
+ const requestHandlerOptions = {
34
+ resource: {
35
+ route: routeInfo,
36
+ loadableStats,
37
+ routeManifest,
38
+ entryName: routeInfo.entryName || import_constants.MAIN_ENTRY_NAME
39
+ },
40
+ config,
41
+ params,
42
+ loaderContext,
43
+ html,
44
+ rscSSRManifest,
45
+ rscClientManifest,
46
+ rscServerManifest,
47
+ locals,
48
+ reporter,
49
+ staticGenerate,
50
+ logger,
51
+ metrics,
52
+ monitors,
53
+ onError,
54
+ onTiming
55
+ };
56
+ if (!serverBundle) {
57
+ return new Response("Cannot find server bundle for RSC", {
58
+ status: 500
59
+ });
60
+ }
61
+ const renderRscStreamHandler = await serverBundle.renderRscStreamHandler;
62
+ if (!renderRscStreamHandler) {
63
+ return new Response("Cannot find render handler for RSC", {
64
+ status: 500
65
+ });
66
+ }
67
+ if (!rscClientManifest) {
68
+ return new Response("Cannot find rsc client manifest", {
69
+ status: 500
70
+ });
71
+ }
72
+ const response = await renderRscStreamHandler(req, requestHandlerOptions);
73
+ return response;
74
+ };
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ csrRscRender
78
+ });
@@ -36,6 +36,7 @@ var import_trie_router = require("hono/router/trie-router");
36
36
  var import_constants = require("../../constants");
37
37
  var import_utils = require("../../utils");
38
38
  var import_utils2 = require("../../utils");
39
+ var import_csrRscRender = require("./csrRscRender");
39
40
  var import_dataHandler = require("./dataHandler");
40
41
  var import_renderRscHandler = require("./renderRscHandler");
41
42
  var import_serverActionHandler = require("./serverActionHandler");
@@ -193,12 +194,12 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
193
194
  const url = new URL(request.url);
194
195
  const matchedRoutes = matchRoutes(routes, url.pathname, options.routeInfo.urlPath);
195
196
  if (!matchedRoutes) {
196
- response = csrRender(options.html);
197
+ response = await csrRender(request, options);
197
198
  } else {
198
199
  var _lastMatch_route;
199
200
  const lastMatch = matchedRoutes[matchedRoutes.length - 1];
200
201
  if (!(lastMatch === null || lastMatch === void 0 ? void 0 : (_lastMatch_route = lastMatch.route) === null || _lastMatch_route === void 0 ? void 0 : _lastMatch_route.id) || !ssrByRouteIds.includes(lastMatch.route.id)) {
201
- response = csrRender(options.html);
202
+ response = await csrRender(request, options);
202
203
  }
203
204
  }
204
205
  }
@@ -209,14 +210,17 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
209
210
  } catch (e) {
210
211
  options.onError(e, import_utils2.ErrorDigest.ERENDER);
211
212
  await fallbackWrapper("error", e);
212
- response = csrRender(injectFallbackReasonToHtml({
213
- html: options.html,
214
- reason: "error",
215
- framework
216
- }));
213
+ response = await csrRender(request, {
214
+ ...options,
215
+ html: injectFallbackReasonToHtml({
216
+ html: options.html,
217
+ reason: "error",
218
+ framework
219
+ })
220
+ });
217
221
  }
218
222
  } else {
219
- response = csrRender(options.html);
223
+ response = await csrRender(request, options);
220
224
  }
221
225
  const { routeInfo } = options;
222
226
  applyExtendHeaders(response, routeInfo);
@@ -261,14 +265,19 @@ function injectFallbackReasonToHtml({ html, reason, framework }) {
261
265
  })}</script>`;
262
266
  return html.replace(/<\/head>/, `${tag}</head>`);
263
267
  }
264
- function csrRender(html) {
265
- return new Response(html, {
266
- status: 200,
267
- headers: new Headers({
268
- "content-type": "text/html; charset=UTF-8",
269
- [import_constants.X_MODERNJS_RENDER]: "client"
270
- })
271
- });
268
+ async function csrRender(request, options) {
269
+ const { html, rscClientManifest } = options;
270
+ if (!rscClientManifest || process.env.MODERN_DISABLE_INJECT_RSC_DATA) {
271
+ return new Response(html, {
272
+ status: 200,
273
+ headers: new Headers({
274
+ "content-type": "text/html; charset=UTF-8",
275
+ [import_constants.X_MODERNJS_RENDER]: "client"
276
+ })
277
+ });
278
+ } else {
279
+ return (0, import_csrRscRender.csrRscRender)(request, options);
280
+ }
272
281
  }
273
282
  // Annotate the CommonJS export names for ESM import in node:
274
283
  0 && (module.exports = {
@@ -22,16 +22,43 @@ __export(renderRscHandler_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(renderRscHandler_exports);
24
24
  var import_constants = require("@modern-js/utils/universal/constants");
25
- const renderRscHandler = async (req, { serverManifest, routeInfo, rscClientManifest }) => {
25
+ var import_utils = require("./utils");
26
+ const renderRscHandler = async (req, options) => {
26
27
  var _serverManifest_renderBundles;
28
+ const { routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate } = options;
27
29
  const serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || import_constants.MAIN_ENTRY_NAME];
30
+ const loadableStats = serverManifest.loadableStats || {};
31
+ const routeManifest = serverManifest.routeManifest || {};
32
+ const config = (0, import_utils.createRequestHandlerConfig)(options.config);
33
+ const requestHandlerOptions = {
34
+ resource: {
35
+ route: routeInfo,
36
+ loadableStats,
37
+ routeManifest,
38
+ entryName: routeInfo.entryName || import_constants.MAIN_ENTRY_NAME
39
+ },
40
+ config,
41
+ params,
42
+ loaderContext,
43
+ rscSSRManifest,
44
+ rscClientManifest,
45
+ rscServerManifest,
46
+ locals,
47
+ reporter,
48
+ staticGenerate,
49
+ logger,
50
+ metrics,
51
+ monitors,
52
+ onError,
53
+ onTiming
54
+ };
28
55
  if (!serverBundle) {
29
56
  return new Response("Cannot find server bundle for RSC", {
30
57
  status: 500
31
58
  });
32
59
  }
33
- const { rscRequestHandler } = serverBundle;
34
- if (!rscRequestHandler) {
60
+ const rscPayloadHandler = await serverBundle.rscPayloadHandler;
61
+ if (!rscPayloadHandler) {
35
62
  return new Response("Cannot find request handler for RSC", {
36
63
  status: 500
37
64
  });
@@ -41,9 +68,7 @@ const renderRscHandler = async (req, { serverManifest, routeInfo, rscClientManif
41
68
  status: 500
42
69
  });
43
70
  }
44
- return rscRequestHandler({
45
- clientManifest: rscClientManifest
46
- });
71
+ return rscPayloadHandler(req, requestHandlerOptions);
47
72
  };
48
73
  // Annotate the CommonJS export names for ESM import in node:
49
74
  0 && (module.exports = {
@@ -25,6 +25,7 @@ var import_constants = require("@modern-js/utils/universal/constants");
25
25
  var import_constants2 = require("../../constants");
26
26
  var import_utils = require("../../utils");
27
27
  var import_ssrCache = require("./ssrCache");
28
+ var import_utils2 = require("./utils");
28
29
  const SERVER_RUNTIME_ENTRY = "requestHandler";
29
30
  async function ssrRender(request, { routeInfo, html, config: userConfig, staticGenerate, nodeReq, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, cacheConfig, logger, metrics, onError, onTiming }) {
30
31
  var _serverManifest_renderBundles;
@@ -44,7 +45,7 @@ async function ssrRender(request, { routeInfo, html, config: userConfig, staticG
44
45
  throw new Error(`Can't find renderBundle ${entryName || import_constants.MAIN_ENTRY_NAME}`);
45
46
  }
46
47
  const requestHandler = await renderBundle[SERVER_RUNTIME_ENTRY];
47
- const config = createRequestHandlerConfig(userConfig);
48
+ const config = (0, import_utils2.createRequestHandlerConfig)(userConfig);
48
49
  const requestHandlerOptions = {
49
50
  resource: {
50
51
  route: routeInfo,
@@ -94,20 +95,6 @@ class IncomingMessgeProxy {
94
95
  this.url = (0, import_utils.getPathname)(req);
95
96
  }
96
97
  }
97
- function createRequestHandlerConfig(userConfig) {
98
- const { output, server, security, html, source } = userConfig;
99
- return {
100
- ssr: server === null || server === void 0 ? void 0 : server.ssr,
101
- ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
102
- nonce: security === null || security === void 0 ? void 0 : security.nonce,
103
- enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
104
- enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
105
- crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
106
- scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
107
- useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
108
- enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
109
- };
110
- }
111
98
  // Annotate the CommonJS export names for ESM import in node:
112
99
  0 && (module.exports = {
113
100
  ssrRender
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ createRequestHandlerConfig: () => createRequestHandlerConfig
22
+ });
23
+ module.exports = __toCommonJS(utils_exports);
24
+ function createRequestHandlerConfig(userConfig) {
25
+ const { output, server, security, html, source } = userConfig;
26
+ return {
27
+ ssr: server === null || server === void 0 ? void 0 : server.ssr,
28
+ ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
29
+ nonce: security === null || security === void 0 ? void 0 : security.nonce,
30
+ enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
31
+ enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
32
+ crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
33
+ scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
34
+ useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
35
+ enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
36
+ };
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ createRequestHandlerConfig
41
+ });
@@ -0,0 +1,88 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
4
+ import { createRequestHandlerConfig } from "./utils";
5
+ var csrRscRender = function() {
6
+ var _ref = _async_to_generator(function(req, options) {
7
+ var _serverManifest_renderBundles, routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, html, serverBundle, loadableStats, routeManifest, config, requestHandlerOptions, renderRscStreamHandler, response;
8
+ return _ts_generator(this, function(_state) {
9
+ switch (_state.label) {
10
+ case 0:
11
+ routeInfo = options.routeInfo, serverManifest = options.serverManifest, rscSSRManifest = options.rscSSRManifest, rscClientManifest = options.rscClientManifest, rscServerManifest = options.rscServerManifest, locals = options.locals, params = options.params, loaderContext = options.loaderContext, reporter = options.reporter, monitors = options.monitors, logger = options.logger, metrics = options.metrics, onError = options.onError, onTiming = options.onTiming, staticGenerate = options.staticGenerate, html = options.html;
12
+ serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
13
+ loadableStats = serverManifest.loadableStats || {};
14
+ routeManifest = serverManifest.routeManifest || {};
15
+ config = createRequestHandlerConfig(options.config);
16
+ requestHandlerOptions = {
17
+ resource: {
18
+ route: routeInfo,
19
+ loadableStats,
20
+ routeManifest,
21
+ entryName: routeInfo.entryName || MAIN_ENTRY_NAME
22
+ },
23
+ config,
24
+ params,
25
+ loaderContext,
26
+ html,
27
+ rscSSRManifest,
28
+ rscClientManifest,
29
+ rscServerManifest,
30
+ locals,
31
+ reporter,
32
+ staticGenerate,
33
+ logger,
34
+ metrics,
35
+ monitors,
36
+ onError,
37
+ onTiming
38
+ };
39
+ if (!serverBundle) {
40
+ return [
41
+ 2,
42
+ new Response("Cannot find server bundle for RSC", {
43
+ status: 500
44
+ })
45
+ ];
46
+ }
47
+ return [
48
+ 4,
49
+ serverBundle.renderRscStreamHandler
50
+ ];
51
+ case 1:
52
+ renderRscStreamHandler = _state.sent();
53
+ if (!renderRscStreamHandler) {
54
+ return [
55
+ 2,
56
+ new Response("Cannot find render handler for RSC", {
57
+ status: 500
58
+ })
59
+ ];
60
+ }
61
+ if (!rscClientManifest) {
62
+ return [
63
+ 2,
64
+ new Response("Cannot find rsc client manifest", {
65
+ status: 500
66
+ })
67
+ ];
68
+ }
69
+ return [
70
+ 4,
71
+ renderRscStreamHandler(req, requestHandlerOptions)
72
+ ];
73
+ case 2:
74
+ response = _state.sent();
75
+ return [
76
+ 2,
77
+ response
78
+ ];
79
+ }
80
+ });
81
+ });
82
+ return function csrRscRender2(req, options) {
83
+ return _ref.apply(this, arguments);
84
+ };
85
+ }();
86
+ export {
87
+ csrRscRender
88
+ };
@@ -11,6 +11,7 @@ import { TrieRouter } from "hono/router/trie-router";
11
11
  import { X_MODERNJS_RENDER } from "../../constants";
12
12
  import { uniqueKeyByRoute } from "../../utils";
13
13
  import { ErrorDigest, createErrorHtml, getPathname, getRuntimeEnv, parseHeaders, parseQuery, sortRoutes } from "../../utils";
14
+ import { csrRscRender } from "./csrRscRender";
14
15
  import { dataHandler } from "./dataHandler";
15
16
  import { renderRscHandler } from "./renderRscHandler";
16
17
  import { serverActionHandler } from "./serverActionHandler";
@@ -313,14 +314,14 @@ function _renderHandler() {
313
314
  if (!(serverManifest.nestedRoutesJson && ssrByRouteIds && (ssrByRouteIds === null || ssrByRouteIds === void 0 ? void 0 : ssrByRouteIds.length) > 0 && runtimeEnv === "node"))
314
315
  return [
315
316
  3,
316
- 3
317
+ 6
317
318
  ];
318
319
  nestedRoutesJson = serverManifest.nestedRoutesJson;
319
320
  routes = nestedRoutesJson === null || nestedRoutesJson === void 0 ? void 0 : nestedRoutesJson[options.routeInfo.entryName];
320
321
  if (!routes)
321
322
  return [
322
323
  3,
323
- 3
324
+ 6
324
325
  ];
325
326
  urlPath = "node:url";
326
327
  return [
@@ -337,67 +338,98 @@ function _renderHandler() {
337
338
  matchRoutes = _state.sent().matchRoutes;
338
339
  url = new URL(request.url);
339
340
  matchedRoutes = matchRoutes(routes, url.pathname, options.routeInfo.urlPath);
340
- if (!matchedRoutes) {
341
- response = csrRender(options.html);
342
- } else {
343
- ;
344
- lastMatch = matchedRoutes[matchedRoutes.length - 1];
345
- if (!(lastMatch === null || lastMatch === void 0 ? void 0 : (_lastMatch_route = lastMatch.route) === null || _lastMatch_route === void 0 ? void 0 : _lastMatch_route.id) || !ssrByRouteIds.includes(lastMatch.route.id)) {
346
- response = csrRender(options.html);
347
- }
348
- }
349
- _state.label = 3;
341
+ if (!!matchedRoutes)
342
+ return [
343
+ 3,
344
+ 4
345
+ ];
346
+ return [
347
+ 4,
348
+ csrRender(request, options)
349
+ ];
350
350
  case 3:
351
+ response = _state.sent();
352
+ return [
353
+ 3,
354
+ 6
355
+ ];
356
+ case 4:
357
+ lastMatch = matchedRoutes[matchedRoutes.length - 1];
358
+ if (!(!(lastMatch === null || lastMatch === void 0 ? void 0 : (_lastMatch_route = lastMatch.route) === null || _lastMatch_route === void 0 ? void 0 : _lastMatch_route.id) || !ssrByRouteIds.includes(lastMatch.route.id)))
359
+ return [
360
+ 3,
361
+ 6
362
+ ];
363
+ return [
364
+ 4,
365
+ csrRender(request, options)
366
+ ];
367
+ case 5:
368
+ response = _state.sent();
369
+ _state.label = 6;
370
+ case 6:
351
371
  if (!(mode === "ssr" && !response))
352
372
  return [
353
373
  3,
354
- 9
374
+ 13
355
375
  ];
356
- _state.label = 4;
357
- case 4:
376
+ _state.label = 7;
377
+ case 7:
358
378
  _state.trys.push([
359
- 4,
360
- 6,
379
+ 7,
380
+ 9,
361
381
  ,
362
- 8
382
+ 12
363
383
  ]);
364
384
  return [
365
385
  4,
366
386
  ssrRender(request, options)
367
387
  ];
368
- case 5:
388
+ case 8:
369
389
  response = _state.sent();
370
390
  return [
371
391
  3,
372
- 8
392
+ 12
373
393
  ];
374
- case 6:
394
+ case 9:
375
395
  e = _state.sent();
376
396
  options.onError(e, ErrorDigest.ERENDER);
377
397
  return [
378
398
  4,
379
399
  fallbackWrapper("error", e)
380
400
  ];
381
- case 7:
401
+ case 10:
382
402
  _state.sent();
383
- response = csrRender(injectFallbackReasonToHtml({
384
- html: options.html,
385
- reason: "error",
386
- framework
387
- }));
403
+ return [
404
+ 4,
405
+ csrRender(request, _object_spread_props(_object_spread({}, options), {
406
+ html: injectFallbackReasonToHtml({
407
+ html: options.html,
408
+ reason: "error",
409
+ framework
410
+ })
411
+ }))
412
+ ];
413
+ case 11:
414
+ response = _state.sent();
388
415
  return [
389
416
  3,
390
- 8
417
+ 12
391
418
  ];
392
- case 8:
419
+ case 12:
393
420
  return [
394
421
  3,
395
- 10
422
+ 15
396
423
  ];
397
- case 9:
398
- response = csrRender(options.html);
399
- _state.label = 10;
400
- case 10:
424
+ case 13:
425
+ return [
426
+ 4,
427
+ csrRender(request, options)
428
+ ];
429
+ case 14:
430
+ response = _state.sent();
431
+ _state.label = 15;
432
+ case 15:
401
433
  routeInfo = options.routeInfo;
402
434
  applyExtendHeaders(response, routeInfo);
403
435
  return [
@@ -503,13 +535,36 @@ function injectFallbackReasonToHtml(param) {
503
535
  }), "</script>");
504
536
  return html.replace(/<\/head>/, "".concat(tag, "</head>"));
505
537
  }
506
- function csrRender(html) {
507
- return new Response(html, {
508
- status: 200,
509
- headers: new Headers(_define_property({
510
- "content-type": "text/html; charset=UTF-8"
511
- }, X_MODERNJS_RENDER, "client"))
538
+ function csrRender(request, options) {
539
+ return _csrRender.apply(this, arguments);
540
+ }
541
+ function _csrRender() {
542
+ _csrRender = _async_to_generator(function(request, options) {
543
+ var html, rscClientManifest;
544
+ return _ts_generator(this, function(_state) {
545
+ html = options.html, rscClientManifest = options.rscClientManifest;
546
+ if (!rscClientManifest || process.env.MODERN_DISABLE_INJECT_RSC_DATA) {
547
+ return [
548
+ 2,
549
+ new Response(html, {
550
+ status: 200,
551
+ headers: new Headers(_define_property({
552
+ "content-type": "text/html; charset=UTF-8"
553
+ }, X_MODERNJS_RENDER, "client"))
554
+ })
555
+ ];
556
+ } else {
557
+ return [
558
+ 2,
559
+ csrRscRender(request, options)
560
+ ];
561
+ }
562
+ return [
563
+ 2
564
+ ];
565
+ });
512
566
  });
567
+ return _csrRender.apply(this, arguments);
513
568
  }
514
569
  export {
515
570
  createRender
@@ -1,46 +1,78 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
4
+ import { createRequestHandlerConfig } from "./utils";
4
5
  var renderRscHandler = function() {
5
- var _ref = _async_to_generator(function(req, param) {
6
- var serverManifest, routeInfo, rscClientManifest, _serverManifest_renderBundles, serverBundle, rscRequestHandler;
6
+ var _ref = _async_to_generator(function(req, options) {
7
+ var _serverManifest_renderBundles, routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, serverBundle, loadableStats, routeManifest, config, requestHandlerOptions, rscPayloadHandler;
7
8
  return _ts_generator(this, function(_state) {
8
- serverManifest = param.serverManifest, routeInfo = param.routeInfo, rscClientManifest = param.rscClientManifest;
9
- serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
10
- if (!serverBundle) {
11
- return [
12
- 2,
13
- new Response("Cannot find server bundle for RSC", {
14
- status: 500
15
- })
16
- ];
9
+ switch (_state.label) {
10
+ case 0:
11
+ routeInfo = options.routeInfo, serverManifest = options.serverManifest, rscSSRManifest = options.rscSSRManifest, rscClientManifest = options.rscClientManifest, rscServerManifest = options.rscServerManifest, locals = options.locals, params = options.params, loaderContext = options.loaderContext, reporter = options.reporter, monitors = options.monitors, logger = options.logger, metrics = options.metrics, onError = options.onError, onTiming = options.onTiming, staticGenerate = options.staticGenerate;
12
+ serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
13
+ loadableStats = serverManifest.loadableStats || {};
14
+ routeManifest = serverManifest.routeManifest || {};
15
+ config = createRequestHandlerConfig(options.config);
16
+ requestHandlerOptions = {
17
+ resource: {
18
+ route: routeInfo,
19
+ loadableStats,
20
+ routeManifest,
21
+ entryName: routeInfo.entryName || MAIN_ENTRY_NAME
22
+ },
23
+ config,
24
+ params,
25
+ loaderContext,
26
+ rscSSRManifest,
27
+ rscClientManifest,
28
+ rscServerManifest,
29
+ locals,
30
+ reporter,
31
+ staticGenerate,
32
+ logger,
33
+ metrics,
34
+ monitors,
35
+ onError,
36
+ onTiming
37
+ };
38
+ if (!serverBundle) {
39
+ return [
40
+ 2,
41
+ new Response("Cannot find server bundle for RSC", {
42
+ status: 500
43
+ })
44
+ ];
45
+ }
46
+ return [
47
+ 4,
48
+ serverBundle.rscPayloadHandler
49
+ ];
50
+ case 1:
51
+ rscPayloadHandler = _state.sent();
52
+ if (!rscPayloadHandler) {
53
+ return [
54
+ 2,
55
+ new Response("Cannot find request handler for RSC", {
56
+ status: 500
57
+ })
58
+ ];
59
+ }
60
+ if (!rscClientManifest) {
61
+ return [
62
+ 2,
63
+ new Response("Cannot find rsc client manifest", {
64
+ status: 500
65
+ })
66
+ ];
67
+ }
68
+ return [
69
+ 2,
70
+ rscPayloadHandler(req, requestHandlerOptions)
71
+ ];
17
72
  }
18
- rscRequestHandler = serverBundle.rscRequestHandler;
19
- if (!rscRequestHandler) {
20
- return [
21
- 2,
22
- new Response("Cannot find request handler for RSC", {
23
- status: 500
24
- })
25
- ];
26
- }
27
- if (!rscClientManifest) {
28
- return [
29
- 2,
30
- new Response("Cannot find rsc client manifest", {
31
- status: 500
32
- })
33
- ];
34
- }
35
- return [
36
- 2,
37
- rscRequestHandler({
38
- clientManifest: rscClientManifest
39
- })
40
- ];
41
73
  });
42
74
  });
43
- return function renderRscHandler2(req, _) {
75
+ return function renderRscHandler2(req, options) {
44
76
  return _ref.apply(this, arguments);
45
77
  };
46
78
  }();
@@ -5,6 +5,7 @@ import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
5
5
  import { X_MODERNJS_RENDER } from "../../constants";
6
6
  import { getPathname, parseHeaders } from "../../utils";
7
7
  import { getCacheResult, matchCacheControl } from "./ssrCache";
8
+ import { createRequestHandlerConfig } from "./utils";
8
9
  var SERVER_RUNTIME_ENTRY = "requestHandler";
9
10
  function ssrRender(request, _) {
10
11
  return _ssrRender.apply(this, arguments);
@@ -118,20 +119,6 @@ var IncomingMessgeProxy = function IncomingMessgeProxy2(req) {
118
119
  this.method = req.method;
119
120
  this.url = getPathname(req);
120
121
  };
121
- function createRequestHandlerConfig(userConfig) {
122
- var output = userConfig.output, server = userConfig.server, security = userConfig.security, html = userConfig.html, source = userConfig.source;
123
- return {
124
- ssr: server === null || server === void 0 ? void 0 : server.ssr,
125
- ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
126
- nonce: security === null || security === void 0 ? void 0 : security.nonce,
127
- enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
128
- enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
129
- crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
130
- scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
131
- useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
132
- enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
133
- };
134
- }
135
122
  export {
136
123
  ssrRender
137
124
  };
@@ -0,0 +1,17 @@
1
+ function createRequestHandlerConfig(userConfig) {
2
+ var output = userConfig.output, server = userConfig.server, security = userConfig.security, html = userConfig.html, source = userConfig.source;
3
+ return {
4
+ ssr: server === null || server === void 0 ? void 0 : server.ssr,
5
+ ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
6
+ nonce: security === null || security === void 0 ? void 0 : security.nonce,
7
+ enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
8
+ enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
9
+ crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
10
+ scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
11
+ useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
12
+ enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
13
+ };
14
+ }
15
+ export {
16
+ createRequestHandlerConfig
17
+ };
@@ -0,0 +1,54 @@
1
+ import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
2
+ import { createRequestHandlerConfig } from "./utils";
3
+ const csrRscRender = async (req, options) => {
4
+ var _serverManifest_renderBundles;
5
+ const { routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, html } = options;
6
+ const serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
7
+ const loadableStats = serverManifest.loadableStats || {};
8
+ const routeManifest = serverManifest.routeManifest || {};
9
+ const config = createRequestHandlerConfig(options.config);
10
+ const requestHandlerOptions = {
11
+ resource: {
12
+ route: routeInfo,
13
+ loadableStats,
14
+ routeManifest,
15
+ entryName: routeInfo.entryName || MAIN_ENTRY_NAME
16
+ },
17
+ config,
18
+ params,
19
+ loaderContext,
20
+ html,
21
+ rscSSRManifest,
22
+ rscClientManifest,
23
+ rscServerManifest,
24
+ locals,
25
+ reporter,
26
+ staticGenerate,
27
+ logger,
28
+ metrics,
29
+ monitors,
30
+ onError,
31
+ onTiming
32
+ };
33
+ if (!serverBundle) {
34
+ return new Response("Cannot find server bundle for RSC", {
35
+ status: 500
36
+ });
37
+ }
38
+ const renderRscStreamHandler = await serverBundle.renderRscStreamHandler;
39
+ if (!renderRscStreamHandler) {
40
+ return new Response("Cannot find render handler for RSC", {
41
+ status: 500
42
+ });
43
+ }
44
+ if (!rscClientManifest) {
45
+ return new Response("Cannot find rsc client manifest", {
46
+ status: 500
47
+ });
48
+ }
49
+ const response = await renderRscStreamHandler(req, requestHandlerOptions);
50
+ return response;
51
+ };
52
+ export {
53
+ csrRscRender
54
+ };
@@ -3,6 +3,7 @@ import { TrieRouter } from "hono/router/trie-router";
3
3
  import { X_MODERNJS_RENDER } from "../../constants";
4
4
  import { uniqueKeyByRoute } from "../../utils";
5
5
  import { ErrorDigest, createErrorHtml, getPathname, getRuntimeEnv, parseHeaders, parseQuery, sortRoutes } from "../../utils";
6
+ import { csrRscRender } from "./csrRscRender";
6
7
  import { dataHandler } from "./dataHandler";
7
8
  import { renderRscHandler } from "./renderRscHandler";
8
9
  import { serverActionHandler } from "./serverActionHandler";
@@ -160,12 +161,12 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
160
161
  const url = new URL(request.url);
161
162
  const matchedRoutes = matchRoutes(routes, url.pathname, options.routeInfo.urlPath);
162
163
  if (!matchedRoutes) {
163
- response = csrRender(options.html);
164
+ response = await csrRender(request, options);
164
165
  } else {
165
166
  var _lastMatch_route;
166
167
  const lastMatch = matchedRoutes[matchedRoutes.length - 1];
167
168
  if (!(lastMatch === null || lastMatch === void 0 ? void 0 : (_lastMatch_route = lastMatch.route) === null || _lastMatch_route === void 0 ? void 0 : _lastMatch_route.id) || !ssrByRouteIds.includes(lastMatch.route.id)) {
168
- response = csrRender(options.html);
169
+ response = await csrRender(request, options);
169
170
  }
170
171
  }
171
172
  }
@@ -176,14 +177,17 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
176
177
  } catch (e) {
177
178
  options.onError(e, ErrorDigest.ERENDER);
178
179
  await fallbackWrapper("error", e);
179
- response = csrRender(injectFallbackReasonToHtml({
180
- html: options.html,
181
- reason: "error",
182
- framework
183
- }));
180
+ response = await csrRender(request, {
181
+ ...options,
182
+ html: injectFallbackReasonToHtml({
183
+ html: options.html,
184
+ reason: "error",
185
+ framework
186
+ })
187
+ });
184
188
  }
185
189
  } else {
186
- response = csrRender(options.html);
190
+ response = await csrRender(request, options);
187
191
  }
188
192
  const { routeInfo } = options;
189
193
  applyExtendHeaders(response, routeInfo);
@@ -228,14 +232,19 @@ function injectFallbackReasonToHtml({ html, reason, framework }) {
228
232
  })}</script>`;
229
233
  return html.replace(/<\/head>/, `${tag}</head>`);
230
234
  }
231
- function csrRender(html) {
232
- return new Response(html, {
233
- status: 200,
234
- headers: new Headers({
235
- "content-type": "text/html; charset=UTF-8",
236
- [X_MODERNJS_RENDER]: "client"
237
- })
238
- });
235
+ async function csrRender(request, options) {
236
+ const { html, rscClientManifest } = options;
237
+ if (!rscClientManifest || process.env.MODERN_DISABLE_INJECT_RSC_DATA) {
238
+ return new Response(html, {
239
+ status: 200,
240
+ headers: new Headers({
241
+ "content-type": "text/html; charset=UTF-8",
242
+ [X_MODERNJS_RENDER]: "client"
243
+ })
244
+ });
245
+ } else {
246
+ return csrRscRender(request, options);
247
+ }
239
248
  }
240
249
  export {
241
250
  createRender
@@ -1,14 +1,41 @@
1
1
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
2
- const renderRscHandler = async (req, { serverManifest, routeInfo, rscClientManifest }) => {
2
+ import { createRequestHandlerConfig } from "./utils";
3
+ const renderRscHandler = async (req, options) => {
3
4
  var _serverManifest_renderBundles;
5
+ const { routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate } = options;
4
6
  const serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
7
+ const loadableStats = serverManifest.loadableStats || {};
8
+ const routeManifest = serverManifest.routeManifest || {};
9
+ const config = createRequestHandlerConfig(options.config);
10
+ const requestHandlerOptions = {
11
+ resource: {
12
+ route: routeInfo,
13
+ loadableStats,
14
+ routeManifest,
15
+ entryName: routeInfo.entryName || MAIN_ENTRY_NAME
16
+ },
17
+ config,
18
+ params,
19
+ loaderContext,
20
+ rscSSRManifest,
21
+ rscClientManifest,
22
+ rscServerManifest,
23
+ locals,
24
+ reporter,
25
+ staticGenerate,
26
+ logger,
27
+ metrics,
28
+ monitors,
29
+ onError,
30
+ onTiming
31
+ };
5
32
  if (!serverBundle) {
6
33
  return new Response("Cannot find server bundle for RSC", {
7
34
  status: 500
8
35
  });
9
36
  }
10
- const { rscRequestHandler } = serverBundle;
11
- if (!rscRequestHandler) {
37
+ const rscPayloadHandler = await serverBundle.rscPayloadHandler;
38
+ if (!rscPayloadHandler) {
12
39
  return new Response("Cannot find request handler for RSC", {
13
40
  status: 500
14
41
  });
@@ -18,9 +45,7 @@ const renderRscHandler = async (req, { serverManifest, routeInfo, rscClientManif
18
45
  status: 500
19
46
  });
20
47
  }
21
- return rscRequestHandler({
22
- clientManifest: rscClientManifest
23
- });
48
+ return rscPayloadHandler(req, requestHandlerOptions);
24
49
  };
25
50
  export {
26
51
  renderRscHandler
@@ -2,6 +2,7 @@ import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
2
2
  import { X_MODERNJS_RENDER } from "../../constants";
3
3
  import { getPathname, parseHeaders } from "../../utils";
4
4
  import { getCacheResult, matchCacheControl } from "./ssrCache";
5
+ import { createRequestHandlerConfig } from "./utils";
5
6
  const SERVER_RUNTIME_ENTRY = "requestHandler";
6
7
  async function ssrRender(request, { routeInfo, html, config: userConfig, staticGenerate, nodeReq, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, cacheConfig, logger, metrics, onError, onTiming }) {
7
8
  var _serverManifest_renderBundles;
@@ -71,20 +72,6 @@ class IncomingMessgeProxy {
71
72
  this.url = getPathname(req);
72
73
  }
73
74
  }
74
- function createRequestHandlerConfig(userConfig) {
75
- const { output, server, security, html, source } = userConfig;
76
- return {
77
- ssr: server === null || server === void 0 ? void 0 : server.ssr,
78
- ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
79
- nonce: security === null || security === void 0 ? void 0 : security.nonce,
80
- enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
81
- enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
82
- crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
83
- scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
84
- useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
85
- enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
86
- };
87
- }
88
75
  export {
89
76
  ssrRender
90
77
  };
@@ -0,0 +1,17 @@
1
+ function createRequestHandlerConfig(userConfig) {
2
+ const { output, server, security, html, source } = userConfig;
3
+ return {
4
+ ssr: server === null || server === void 0 ? void 0 : server.ssr,
5
+ ssrByEntries: server === null || server === void 0 ? void 0 : server.ssrByEntries,
6
+ nonce: security === null || security === void 0 ? void 0 : security.nonce,
7
+ enableInlineScripts: output === null || output === void 0 ? void 0 : output.enableInlineScripts,
8
+ enableInlineStyles: output === null || output === void 0 ? void 0 : output.enableInlineStyles,
9
+ crossorigin: html === null || html === void 0 ? void 0 : html.crossorigin,
10
+ scriptLoading: html === null || html === void 0 ? void 0 : html.scriptLoading,
11
+ useJsonScript: server === null || server === void 0 ? void 0 : server.useJsonScript,
12
+ enableAsyncEntry: source === null || source === void 0 ? void 0 : source.enableAsyncEntry
13
+ };
14
+ }
15
+ export {
16
+ createRequestHandlerConfig
17
+ };
@@ -4,4 +4,4 @@ import { type InjectRenderHandlerOptions } from './render';
4
4
  export type CreateDefaultPluginsOptions = InjectRenderHandlerOptions & {
5
5
  logger?: Logger | false;
6
6
  };
7
- export declare function createDefaultPlugins(options?: CreateDefaultPluginsOptions): (ServerPluginLegacy | ServerPlugin)[];
7
+ export declare function createDefaultPlugins(options?: CreateDefaultPluginsOptions): (ServerPlugin | ServerPluginLegacy)[];
@@ -0,0 +1,2 @@
1
+ import type { SSRRenderOptions } from './ssrRender';
2
+ export declare const csrRscRender: (req: Request, options: SSRRenderOptions) => Promise<Response>;
@@ -1,2 +1,2 @@
1
1
  import type { SSRRenderOptions } from './ssrRender';
2
- export declare const renderRscHandler: (req: Request, { serverManifest, routeInfo, rscClientManifest }: SSRRenderOptions) => Promise<Response>;
2
+ export declare const renderRscHandler: (req: Request, options: SSRRenderOptions) => Promise<Response>;
@@ -0,0 +1,3 @@
1
+ import type { UserConfig } from '../../types';
2
+ import type { RequestHandlerConfig } from '../../types/requestHandler';
3
+ export declare function createRequestHandlerConfig(userConfig: UserConfig): RequestHandlerConfig;
@@ -28,11 +28,13 @@ export type RequestHandlerOptions = {
28
28
  config: RequestHandlerConfig;
29
29
  params: Params;
30
30
  loaderContext: LoaderContext;
31
+ html?: string;
31
32
  rscServerManifest?: RscServerManifest;
32
33
  rscClientManifest?: RscClientManifest;
33
34
  rscSSRManifest?: RscSSRManifest;
34
35
  RSCRoot?: any;
35
36
  rscRoot?: any;
37
+ serverPayload?: any;
36
38
  /** @deprecated */
37
39
  locals?: Record<string, any>;
38
40
  /** @deprecated */
@@ -1,6 +1,6 @@
1
1
  import type { Logger, Metrics, Monitors, NestedRoute, Reporter, ServerRoute } from '@modern-js/types';
2
2
  import type { ClientManifest as RscClientManifest, SSRManifest as RscSSRManifest, ServerManifest as RscServerManifest } from '@modern-js/types/server';
3
- import type { RequestHandler as BundleRequestHandler, OnError, OnTiming } from './requestHandler';
3
+ import type { RequestHandler as BundleRequestHandler, OnError, OnTiming, RequestHandlerOptions, Resource } from './requestHandler';
4
4
  export type RequestHandler = (request: Request, ...args: any[]) => Response | Promise<Response>;
5
5
  export type ServerLoaderBundle = {
6
6
  routes: NestedRoute[];
@@ -17,14 +17,16 @@ export type ServerLoaderBundle = {
17
17
  onTiming?: OnTiming;
18
18
  }) => Promise<any>;
19
19
  };
20
+ export type RscPayloadHandlerOptions = Omit<RequestHandlerOptions, 'resource'> & {
21
+ resource: Omit<Resource, 'htmlTemplate'>;
22
+ };
20
23
  type ServerRenderBundle = {
21
24
  requestHandler?: Promise<BundleRequestHandler>;
22
25
  handleAction?: (req: Request, options: {
23
26
  clientManifest: RscClientManifest;
24
27
  }) => Promise<Response>;
25
- rscRequestHandler?: (options: {
26
- clientManifest: RscClientManifest;
27
- }) => Promise<Response>;
28
+ rscPayloadHandler?: (req: Request, options: RscPayloadHandlerOptions) => Promise<Response>;
29
+ renderRscStreamHandler?: (req: Request, options: RscPayloadHandlerOptions) => Promise<Response>;
28
30
  };
29
31
  export type ServerManifest = {
30
32
  loaderBundles?: Record<string, ServerLoaderBundle>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.68.0",
18
+ "version": "2.68.1",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -54,10 +54,10 @@
54
54
  "flatted": "^3.3.3",
55
55
  "hono": "^3.12.2",
56
56
  "ts-deepmerge": "7.0.2",
57
- "@modern-js/plugin": "2.68.0",
58
- "@modern-js/plugin-v2": "2.68.0",
59
- "@modern-js/runtime-utils": "2.68.0",
60
- "@modern-js/utils": "2.68.0"
57
+ "@modern-js/plugin": "2.68.1",
58
+ "@modern-js/plugin-v2": "2.68.1",
59
+ "@modern-js/utils": "2.68.1",
60
+ "@modern-js/runtime-utils": "2.68.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/cloneable-readable": "^2.0.3",
@@ -68,7 +68,7 @@
68
68
  "jest": "^29",
69
69
  "ts-jest": "^29.1.0",
70
70
  "typescript": "^5",
71
- "@modern-js/types": "2.68.0",
71
+ "@modern-js/types": "2.68.1",
72
72
  "@scripts/build": "2.66.0",
73
73
  "@scripts/jest-config": "2.66.0"
74
74
  },