@modern-js/runtime 2.58.2 → 2.58.4-alpha.0

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.
Files changed (159) hide show
  1. package/dist/cjs/cli/index.js +11 -14
  2. package/dist/cjs/cli/ssr/babel-plugin-ssr-loader-id.js +1 -1
  3. package/dist/cjs/cli/template.js +1 -1
  4. package/dist/cjs/core/browser/hydrate.js +1 -1
  5. package/dist/cjs/core/browser/index.js +2 -2
  6. package/dist/cjs/core/compatible.js +4 -4
  7. package/dist/cjs/core/context/runtime.js +1 -1
  8. package/dist/cjs/core/loader/useLoader.js +1 -1
  9. package/dist/cjs/core/server/react/prerender/index.js +1 -1
  10. package/dist/cjs/core/server/requestHandler.js +8 -3
  11. package/dist/cjs/core/server/stream/afterTemplate.js +1 -1
  12. package/dist/cjs/core/server/stream/beforeTemplate.js +3 -3
  13. package/dist/cjs/core/server/stream/createReadableStream.js +2 -2
  14. package/dist/cjs/core/server/stream/createReadableStream.worker.js +2 -2
  15. package/dist/cjs/core/server/stream/shared.js +1 -1
  16. package/dist/cjs/core/server/stream/template.js +1 -1
  17. package/dist/cjs/core/server/string/index.js +18 -18
  18. package/dist/cjs/core/server/string/prefetch.js +5 -5
  19. package/dist/cjs/core/server/string/ssrData.js +1 -1
  20. package/dist/cjs/document/Body.js +1 -1
  21. package/dist/cjs/document/Head.js +1 -1
  22. package/dist/cjs/document/Root.js +1 -1
  23. package/dist/cjs/document/cli/index.js +2 -2
  24. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +1 -1
  25. package/dist/cjs/router/cli/code/getClientRoutes/getRoutesLegacy.js +1 -1
  26. package/dist/cjs/router/cli/code/index.js +18 -27
  27. package/dist/cjs/router/cli/code/templates.js +15 -8
  28. package/dist/cjs/router/cli/code/utils.js +1 -1
  29. package/dist/cjs/router/cli/handler.js +2 -2
  30. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +2 -2
  31. package/dist/cjs/router/runtime/PrefetchLink.js +1 -1
  32. package/dist/cjs/router/runtime/plugin.js +4 -4
  33. package/dist/cjs/router/runtime/plugin.node.js +6 -6
  34. package/dist/cjs/router/runtime/utils.js +2 -2
  35. package/dist/cjs/state/plugins.js +1 -1
  36. package/dist/cjs/state/runtime/plugin.js +6 -6
  37. package/dist/esm/cli/code.js +1 -1
  38. package/dist/esm/cli/index.js +7 -10
  39. package/dist/esm/cli/ssr/babel-plugin-ssr-loader-id.js +1 -1
  40. package/dist/esm/cli/template.js +1 -1
  41. package/dist/esm/core/browser/hydrate.js +1 -1
  42. package/dist/esm/core/browser/index.js +2 -2
  43. package/dist/esm/core/browser/withCallback.js +1 -1
  44. package/dist/esm/core/compatible.js +4 -4
  45. package/dist/esm/core/context/runtime.js +1 -1
  46. package/dist/esm/core/loader/useLoader.js +1 -1
  47. package/dist/esm/core/plugin/base.js +1 -1
  48. package/dist/esm/core/plugin/index.js +1 -1
  49. package/dist/esm/core/server/react/prerender/index.js +2 -2
  50. package/dist/esm/core/server/requestHandler.js +8 -4
  51. package/dist/esm/core/server/stream/afterTemplate.js +1 -1
  52. package/dist/esm/core/server/stream/beforeTemplate.js +3 -3
  53. package/dist/esm/core/server/stream/createReadableStream.js +2 -2
  54. package/dist/esm/core/server/stream/createReadableStream.worker.js +2 -2
  55. package/dist/esm/core/server/stream/shared.js +1 -1
  56. package/dist/esm/core/server/stream/template.js +1 -1
  57. package/dist/esm/core/server/string/index.js +8 -8
  58. package/dist/esm/core/server/string/prefetch.js +2 -2
  59. package/dist/esm/core/server/string/ssrData.js +1 -1
  60. package/dist/esm/document/Body.js +1 -1
  61. package/dist/esm/document/Comment.js +1 -1
  62. package/dist/esm/document/Head.js +1 -1
  63. package/dist/esm/document/Root.js +1 -1
  64. package/dist/esm/document/Script.js +1 -1
  65. package/dist/esm/document/Style.js +1 -1
  66. package/dist/esm/document/cli/index.js +3 -3
  67. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.js +2 -2
  68. package/dist/esm/router/cli/code/getClientRoutes/getRoutesLegacy.js +2 -2
  69. package/dist/esm/router/cli/code/getClientRoutes/utils.js +2 -2
  70. package/dist/esm/router/cli/code/index.js +36 -35
  71. package/dist/esm/router/cli/code/nestedRoutes.js +1 -1
  72. package/dist/esm/router/cli/code/templates.js +2 -2
  73. package/dist/esm/router/cli/code/utils.js +2 -2
  74. package/dist/esm/router/cli/entry.js +1 -1
  75. package/dist/esm/router/cli/handler.js +2 -2
  76. package/dist/esm/router/cli/index.js +1 -1
  77. package/dist/esm/router/runtime/DeferredDataScripts.node.js +2 -2
  78. package/dist/esm/router/runtime/PrefetchLink.js +1 -1
  79. package/dist/esm/router/runtime/plugin.js +4 -4
  80. package/dist/esm/router/runtime/plugin.node.js +6 -6
  81. package/dist/esm/router/runtime/utils.js +2 -2
  82. package/dist/esm/state/plugins.js +1 -1
  83. package/dist/esm/state/runtime/plugin.js +4 -4
  84. package/dist/esm-node/cli/code.js +1 -1
  85. package/dist/esm-node/cli/index.js +7 -10
  86. package/dist/esm-node/cli/ssr/babel-plugin-ssr-loader-id.js +1 -1
  87. package/dist/esm-node/cli/template.js +1 -1
  88. package/dist/esm-node/core/browser/hydrate.js +1 -1
  89. package/dist/esm-node/core/browser/index.js +2 -2
  90. package/dist/esm-node/core/browser/withCallback.js +1 -1
  91. package/dist/esm-node/core/compatible.js +4 -4
  92. package/dist/esm-node/core/context/runtime.js +1 -1
  93. package/dist/esm-node/core/loader/useLoader.js +1 -1
  94. package/dist/esm-node/core/plugin/base.js +1 -1
  95. package/dist/esm-node/core/plugin/index.js +1 -1
  96. package/dist/esm-node/core/server/react/prerender/index.js +2 -2
  97. package/dist/esm-node/core/server/requestHandler.js +8 -3
  98. package/dist/esm-node/core/server/stream/afterTemplate.js +1 -1
  99. package/dist/esm-node/core/server/stream/beforeTemplate.js +3 -3
  100. package/dist/esm-node/core/server/stream/createReadableStream.js +2 -2
  101. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +2 -2
  102. package/dist/esm-node/core/server/stream/shared.js +1 -1
  103. package/dist/esm-node/core/server/stream/template.js +1 -1
  104. package/dist/esm-node/core/server/string/index.js +8 -8
  105. package/dist/esm-node/core/server/string/prefetch.js +2 -2
  106. package/dist/esm-node/core/server/string/ssrData.js +1 -1
  107. package/dist/esm-node/document/Body.js +1 -1
  108. package/dist/esm-node/document/Comment.js +1 -1
  109. package/dist/esm-node/document/Head.js +1 -1
  110. package/dist/esm-node/document/Root.js +1 -1
  111. package/dist/esm-node/document/Script.js +1 -1
  112. package/dist/esm-node/document/Style.js +1 -1
  113. package/dist/esm-node/document/cli/index.js +3 -3
  114. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.js +2 -2
  115. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutesLegacy.js +2 -2
  116. package/dist/esm-node/router/cli/code/getClientRoutes/utils.js +2 -2
  117. package/dist/esm-node/router/cli/code/index.js +15 -24
  118. package/dist/esm-node/router/cli/code/nestedRoutes.js +1 -1
  119. package/dist/esm-node/router/cli/code/templates.js +16 -9
  120. package/dist/esm-node/router/cli/code/utils.js +2 -2
  121. package/dist/esm-node/router/cli/entry.js +1 -1
  122. package/dist/esm-node/router/cli/handler.js +2 -2
  123. package/dist/esm-node/router/cli/index.js +1 -1
  124. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +2 -2
  125. package/dist/esm-node/router/runtime/PrefetchLink.js +1 -1
  126. package/dist/esm-node/router/runtime/plugin.js +4 -4
  127. package/dist/esm-node/router/runtime/plugin.node.js +6 -6
  128. package/dist/esm-node/router/runtime/utils.js +2 -2
  129. package/dist/esm-node/state/plugins.js +1 -1
  130. package/dist/esm-node/state/runtime/plugin.js +4 -4
  131. package/dist/types/cli/code.d.ts +1 -1
  132. package/dist/types/cli/index.d.ts +3 -3
  133. package/dist/types/cli/ssr/index.d.ts +1 -1
  134. package/dist/types/common.d.ts +1 -1
  135. package/dist/types/config.d.ts +1 -1
  136. package/dist/types/core/compatible.d.ts +1 -1
  137. package/dist/types/core/context/runtime.d.ts +2 -2
  138. package/dist/types/core/plugin/index.d.ts +1 -1
  139. package/dist/types/core/server/stream/afterTemplate.d.ts +2 -2
  140. package/dist/types/core/server/stream/template.d.ts +1 -1
  141. package/dist/types/core/server/string/loadable.d.ts +1 -1
  142. package/dist/types/core/server/string/prefetch.d.ts +1 -1
  143. package/dist/types/core/server/string/ssrData.d.ts +2 -2
  144. package/dist/types/core/server/string/styledComponent.d.ts +1 -1
  145. package/dist/types/core/server/utils.d.ts +1 -1
  146. package/dist/types/core/types.d.ts +1 -1
  147. package/dist/types/document/cli/index.d.ts +1 -1
  148. package/dist/types/index.d.ts +1 -1
  149. package/dist/types/router/cli/code/index.d.ts +1 -1
  150. package/dist/types/router/cli/code/templates.d.ts +1 -1
  151. package/dist/types/router/cli/handler.d.ts +2 -2
  152. package/dist/types/router/cli/index.d.ts +1 -1
  153. package/dist/types/router/runtime/PrefetchLink.d.ts +1 -1
  154. package/dist/types/router/runtime/index.d.ts +1 -1
  155. package/dist/types/router/runtime/types.d.ts +2 -2
  156. package/dist/types/router/runtime/utils.d.ts +2 -2
  157. package/dist/types/router/runtime/withRouter.d.ts +1 -1
  158. package/dist/types/state/cli/index.d.ts +1 -1
  159. package/package.json +10 -10
@@ -29,24 +29,24 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  var cli_exports = {};
30
30
  __export(cli_exports, {
31
31
  default: () => cli_default,
32
- documentPlugin: () => import_cli3.documentPlugin,
32
+ documentPlugin: () => import_cli.documentPlugin,
33
33
  isRuntimeEntry: () => import_entry2.isRuntimeEntry,
34
34
  routerPlugin: () => import_cli2.routerPlugin,
35
35
  runtimePlugin: () => runtimePlugin,
36
36
  ssrPlugin: () => import_ssr.ssrPlugin,
37
- statePlugin: () => import_cli.statePlugin
37
+ statePlugin: () => import_cli3.statePlugin
38
38
  });
39
39
  module.exports = __toCommonJS(cli_exports);
40
40
  var import_path = __toESM(require("path"));
41
41
  var import_utils = require("@modern-js/utils");
42
- var import_cli = require("../state/cli");
42
+ var import_cli = require("../document/cli");
43
43
  var import_cli2 = require("../router/cli");
44
- var import_cli3 = require("../document/cli");
45
- var import_ssr = require("./ssr");
46
- var import_entry = require("./entry");
47
- var import_constants = require("./constants");
48
- var import_code = require("./code");
44
+ var import_cli3 = require("../state/cli");
49
45
  var import_alias = require("./alias");
46
+ var import_code = require("./code");
47
+ var import_constants = require("./constants");
48
+ var import_entry = require("./entry");
49
+ var import_ssr = require("./ssr");
50
50
  var import_entry2 = require("./entry");
51
51
  const runtimePlugin = (params) => ({
52
52
  name: "@modern-js/runtime",
@@ -61,8 +61,8 @@ const runtimePlugin = (params) => ({
61
61
  usePlugins: (params === null || params === void 0 ? void 0 : params.plugins) || [
62
62
  (0, import_ssr.ssrPlugin)(),
63
63
  (0, import_cli2.routerPlugin)(),
64
- (0, import_cli.statePlugin)(),
65
- (0, import_cli3.documentPlugin)()
64
+ (0, import_cli3.statePlugin)(),
65
+ (0, import_cli.documentPlugin)()
66
66
  ],
67
67
  setup: (api) => {
68
68
  return {
@@ -142,10 +142,7 @@ const runtimePlugin = (params) => ({
142
142
  ]
143
143
  },
144
144
  bundlerChain: (chain) => {
145
- chain.module.rule("modern-entry").test([
146
- /\.js$/,
147
- /\.jsx$/
148
- ]).include.add(import_path.default.resolve(appDirectory, "node_modules", `.${metaName}`)).end().sideEffects(true);
145
+ chain.module.rule("modern-entry").test(/\.jsx?$/).include.add(import_path.default.resolve(appDirectory, "node_modules", `.${metaName}`)).end().sideEffects(true);
149
146
  },
150
147
  /**
151
148
  * Add IgnorePlugin to fix react-dom/client import error when use react17
@@ -21,8 +21,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
22
  mod
23
23
  ));
24
- var import_crypto = __toESM(require("crypto"));
25
24
  var import_buffer = require("buffer");
25
+ var import_crypto = __toESM(require("crypto"));
26
26
  var t = __toESM(require("@babel/types"));
27
27
  var import_lodash = require("@modern-js/utils/lodash");
28
28
  const RUNTIME_PACKAGE_NAMES = [
@@ -89,7 +89,7 @@ const runtimeGlobalContext = ({ srcDirectory, internalSrcAlias, metaName, entry,
89
89
  return `import { setGlobalContext } from '@${metaName}/runtime/context'
90
90
 
91
91
  import App from '${// We need to get the path of App.tsx here, but the entry is `src/entry.tsx`
92
- (0, import_utils.formatImportPath)(customEntry ? entry.replace("entry.tsx", "App.tsx").replace(srcDirectory, internalSrcAlias) : entry.replace(srcDirectory, internalSrcAlias))}';
92
+ (0, import_utils.formatImportPath)(customEntry ? entry.replace("entry.tsx", "App").replace(srcDirectory, internalSrcAlias) : entry.replace(srcDirectory, internalSrcAlias).replace(".tsx", ""))}';
93
93
 
94
94
  setGlobalContext({
95
95
  App,
@@ -23,8 +23,8 @@ __export(hydrate_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(hydrate_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_url = require("@modern-js/runtime-utils/url");
27
26
  var import_component = require("@loadable/component");
27
+ var import_url = require("@modern-js/runtime-utils/url");
28
28
  var import_constants = require("../constants");
29
29
  var import_wrapper = require("../react/wrapper");
30
30
  var import_withCallback = require("./withCallback");
@@ -31,14 +31,14 @@ __export(browser_exports, {
31
31
  render: () => render
32
32
  });
33
33
  module.exports = __toCommonJS(browser_exports);
34
- var import_cookie = __toESM(require("cookie"));
35
34
  var import_parsed = require("@modern-js/runtime-utils/parsed");
35
+ var import_cookie = __toESM(require("cookie"));
36
+ var import_constants = require("../constants");
36
37
  var import_context = require("../context");
37
38
  var import_runtime = require("../context/runtime");
38
39
  var import_loaderManager = require("../loader/loaderManager");
39
40
  var import_runner = require("../plugin/runner");
40
41
  var import_wrapper = require("../react/wrapper");
41
- var import_constants = require("../constants");
42
42
  var import_hydrate = require("./hydrate");
43
43
  const IS_REACT18 = process.env.IS_REACT18 === "true";
44
44
  const getQuery = () => window.location.search.substring(1).split("&").reduce((res, item) => {
@@ -34,14 +34,14 @@ __export(compatible_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(compatible_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
- var import_react = __toESM(require("react"));
38
37
  var import_constants = require("@modern-js/utils/universal/constants");
38
+ var import_react = __toESM(require("react"));
39
+ var import_hydrate = require("./browser/hydrate");
40
+ var import_context = require("./context");
39
41
  var import_runtime = require("./context/runtime");
40
- var import_plugin = require("./plugin");
41
42
  var import_loaderManager = require("./loader/loaderManager");
43
+ var import_plugin = require("./plugin");
42
44
  var import_runner = require("./plugin/runner");
43
- var import_context = require("./context");
44
- var import_hydrate = require("./browser/hydrate");
45
45
  var import_wrapper = require("./react/wrapper");
46
46
  const IS_REACT18 = process.env.IS_REACT18 === "true";
47
47
  function isClientArgs(id) {
@@ -23,8 +23,8 @@ __export(runtime_exports, {
23
23
  getInitialContext: () => getInitialContext
24
24
  });
25
25
  module.exports = __toCommonJS(runtime_exports);
26
- var import_react = require("react");
27
26
  var import_constants = require("@modern-js/utils/universal/constants");
27
+ var import_react = require("react");
28
28
  var import_loaderManager = require("../loader/loaderManager");
29
29
  const RuntimeReactContext = (0, import_react.createContext)({});
30
30
  const ServerRouterContext = (0, import_react.createContext)({});
@@ -31,8 +31,8 @@ __export(useLoader_exports, {
31
31
  default: () => useLoader_default
32
32
  });
33
33
  module.exports = __toCommonJS(useLoader_exports);
34
- var import_react = require("react");
35
34
  var import_invariant = __toESM(require("invariant"));
35
+ var import_react = require("react");
36
36
  var import_runtime = require("../context/runtime");
37
37
  var import_loaderManager = require("./loaderManager");
38
38
  const useLoader = (loaderFn, options = {
@@ -31,8 +31,8 @@ __export(prerender_exports, {
31
31
  PreRender: () => PreRender
32
32
  });
33
33
  module.exports = __toCommonJS(prerender_exports);
34
- var import_react_side_effect = __toESM(require("react-side-effect"));
35
34
  var import_react = __toESM(require("react"));
35
+ var import_react_side_effect = __toESM(require("react-side-effect"));
36
36
  var import_util = require("./util");
37
37
  const PROP_NAMES = {
38
38
  INTERVAL: "interval",
@@ -22,13 +22,13 @@ __export(requestHandler_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(requestHandler_exports);
24
24
  var import_request = require("@modern-js/runtime-utils/universal/request");
25
- var import_react = require("../react");
26
25
  var import_context = require("../context");
27
- var import_runner = require("../plugin/runner");
28
26
  var import_runtime = require("../context/runtime");
29
27
  var import_loaderManager = require("../loader/loaderManager");
30
- var import_utils = require("./utils");
28
+ var import_runner = require("../plugin/runner");
29
+ var import_react = require("../react");
31
30
  var import_constants = require("./constants");
31
+ var import_utils = require("./utils");
32
32
  function createSSRContext(request, options) {
33
33
  const { config, loaderContext, onError, onTiming, locals, resource, params, responseProxy, logger, metrics, reporter } = options;
34
34
  const { nonce } = config;
@@ -86,6 +86,7 @@ function createSSRContext(request, options) {
86
86
  }
87
87
  const createRequestHandler = async (handleRequest) => {
88
88
  const requestHandler = async (request, options) => {
89
+ var _context_routerContext, _context_routerContext1;
89
90
  const Root = (0, import_react.createRoot)();
90
91
  const runner = (0, import_runner.getGlobalRunner)();
91
92
  const { routeManifest } = options.resource;
@@ -133,6 +134,10 @@ const createRequestHandler = async (handleRequest) => {
133
134
  return void 0;
134
135
  };
135
136
  const initialData = await runBeforeRender(context);
137
+ if (((_context_routerContext = context.routerContext) === null || _context_routerContext === void 0 ? void 0 : _context_routerContext.statusCode) && ((_context_routerContext1 = context.routerContext) === null || _context_routerContext1 === void 0 ? void 0 : _context_routerContext1.statusCode) !== 200) {
138
+ var _context_routerContext2, _context_ssrContext;
139
+ (_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.response.status((_context_routerContext2 = context.routerContext) === null || _context_routerContext2 === void 0 ? void 0 : _context_routerContext2.statusCode);
140
+ }
136
141
  context.initialData = initialData;
137
142
  const redirectResponse = getRedirectResponse(initialData);
138
143
  if (redirectResponse) {
@@ -22,9 +22,9 @@ __export(afterTemplate_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(afterTemplate_exports);
24
24
  var import_node = require("@modern-js/runtime-utils/node");
25
- var import_utils = require("../utils");
26
25
  var import_constants = require("../constants");
27
26
  var import_shared = require("../shared");
27
+ var import_utils = require("../utils");
28
28
  function buildShellAfterTemplate(afterAppTemplate, options) {
29
29
  const { request, config, ssrConfig, runtimeContext, renderLevel, entryName } = options;
30
30
  const callbacks = [
@@ -31,12 +31,12 @@ __export(beforeTemplate_exports, {
31
31
  buildShellBeforeTemplate: () => buildShellBeforeTemplate
32
32
  });
33
33
  module.exports = __toCommonJS(beforeTemplate_exports);
34
- var import_react_helmet = __toESM(require("react-helmet"));
35
34
  var import_router = require("@modern-js/runtime-utils/router");
36
- var import_helmet = require("../helmet");
35
+ var import_react_helmet = __toESM(require("react-helmet"));
37
36
  var import_constants = require("../constants");
38
- var import_utils = require("../utils");
37
+ var import_helmet = require("../helmet");
39
38
  var import_shared = require("../shared");
39
+ var import_utils = require("../utils");
40
40
  const readAsset = async (chunk) => {
41
41
  const fs = await Promise.resolve().then(() => __toESM(require("fs/promises")));
42
42
  const path = await Promise.resolve().then(() => __toESM(require("path")));
@@ -33,12 +33,12 @@ __export(createReadableStream_exports, {
33
33
  module.exports = __toCommonJS(createReadableStream_exports);
34
34
  var import_stream = require("stream");
35
35
  var import_node = require("@modern-js/runtime-utils/node");
36
- var import_styled_components = require("styled-components");
37
36
  var import_isbot = __toESM(require("isbot"));
37
+ var import_styled_components = require("styled-components");
38
38
  var import_common = require("../../../common");
39
39
  var import_constants = require("../../constants");
40
- var import_template = require("./template");
41
40
  var import_shared = require("./shared");
41
+ var import_template = require("./template");
42
42
  const createReadableStreamFromElement = async (request, rootElement, options) => {
43
43
  const { renderToPipeableStream } = await Promise.resolve().then(() => __toESM(require("react-dom/server")));
44
44
  const { runtimeContext, htmlTemplate, config, ssrConfig, entryName } = options;
@@ -31,10 +31,10 @@ __export(createReadableStream_worker_exports, {
31
31
  createReadableStreamFromElement: () => createReadableStreamFromElement
32
32
  });
33
33
  module.exports = __toCommonJS(createReadableStream_worker_exports);
34
- var import_server = require("react-dom/server");
35
34
  var import_isbot = __toESM(require("isbot"));
36
- var import_constants = require("../../constants");
35
+ var import_server = require("react-dom/server");
37
36
  var import_common = require("../../../common");
37
+ var import_constants = require("../../constants");
38
38
  var import_shared = require("./shared");
39
39
  var import_template = require("./template");
40
40
  const createReadableStreamFromElement = async (request, rootElement, options) => {
@@ -24,9 +24,9 @@ __export(shared_exports, {
24
24
  getReadableStreamFromString: () => getReadableStreamFromString
25
25
  });
26
26
  module.exports = __toCommonJS(shared_exports);
27
+ var import_node = require("@modern-js/runtime-utils/node");
27
28
  var import_time = require("@modern-js/runtime-utils/time");
28
29
  var import_request = require("@modern-js/runtime-utils/universal/request");
29
- var import_node = require("@modern-js/runtime-utils/node");
30
30
  var import_wrapper = require("../../react/wrapper");
31
31
  var import_tracer = require("../tracer");
32
32
  var import_utils = require("../utils");
@@ -21,8 +21,8 @@ __export(template_exports, {
21
21
  getTemplates: () => getTemplates
22
22
  });
23
23
  module.exports = __toCommonJS(template_exports);
24
- var import_beforeTemplate = require("./beforeTemplate");
25
24
  var import_afterTemplate = require("./afterTemplate");
25
+ var import_beforeTemplate = require("./beforeTemplate");
26
26
  const HTML_SEPARATOR = "<!--<?- html ?>-->";
27
27
  const getTemplates = async (htmlTemplate, options) => {
28
28
  const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = htmlTemplate.split(HTML_SEPARATOR) || [];
@@ -31,22 +31,22 @@ __export(string_exports, {
31
31
  renderString: () => renderString
32
32
  });
33
33
  module.exports = __toCommonJS(string_exports);
34
- var import_react_helmet = __toESM(require("react-helmet"));
35
- var import_server = __toESM(require("react-dom/server"));
36
- var import_time = require("@modern-js/runtime-utils/time");
37
34
  var import_node = require("@modern-js/runtime-utils/node");
35
+ var import_time = require("@modern-js/runtime-utils/time");
38
36
  var import_request = require("@modern-js/runtime-utils/universal/request");
37
+ var import_server = __toESM(require("react-dom/server"));
38
+ var import_react_helmet = __toESM(require("react-helmet"));
39
+ var import_constants = require("../../constants");
39
40
  var import_wrapper = require("../../react/wrapper");
41
+ var import_constants2 = require("../constants");
40
42
  var import_helmet = require("../helmet");
41
- var import_utils = require("../utils");
42
- var import_constants = require("../constants");
43
43
  var import_shared = require("../shared");
44
44
  var import_tracer = require("../tracer");
45
- var import_constants2 = require("../../constants");
46
- var import_ssrData = require("./ssrData");
45
+ var import_utils = require("../utils");
47
46
  var import_loadable = require("./loadable");
48
- var import_styledComponent = require("./styledComponent");
49
47
  var import_prefetch = require("./prefetch");
48
+ var import_ssrData = require("./ssrData");
49
+ var import_styledComponent = require("./styledComponent");
50
50
  const renderString = async (request, serverRoot, options) => {
51
51
  const headersData = (0, import_request.parseHeaders)(request);
52
52
  return (0, import_node.run)(headersData, async () => {
@@ -60,7 +60,7 @@ const renderString = async (request, serverRoot, options) => {
60
60
  const { htmlTemplate, entryName, loadableStats, routeManifest } = resource;
61
61
  const ssrConfig = (0, import_utils.getSSRConfigByEntry)(entryName, config.ssr, config.ssrByEntries);
62
62
  const chunkSet = {
63
- renderLevel: import_constants2.RenderLevel.CLIENT_RENDER,
63
+ renderLevel: import_constants.RenderLevel.CLIENT_RENDER,
64
64
  ssrScripts: "",
65
65
  jsChunk: "",
66
66
  cssChunk: ""
@@ -68,9 +68,9 @@ const renderString = async (request, serverRoot, options) => {
68
68
  let prefetchData = {};
69
69
  try {
70
70
  prefetchData = await (0, import_prefetch.prefetch)(serverRoot, request, options, ssrConfig, tracer);
71
- chunkSet.renderLevel = import_constants2.RenderLevel.SERVER_PREFETCH;
71
+ chunkSet.renderLevel = import_constants.RenderLevel.SERVER_PREFETCH;
72
72
  } catch (e) {
73
- chunkSet.renderLevel = import_constants2.RenderLevel.CLIENT_RENDER;
73
+ chunkSet.renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
74
74
  tracer.onError(import_tracer.SSRErrors.PRERENDER, e);
75
75
  }
76
76
  const collectors = [
@@ -110,16 +110,16 @@ async function generateHtml(App, htmlTemplate, chunkSet, collectors, htmlModifie
110
110
  var _creator_collect;
111
111
  return ((_creator_collect = creator.collect) === null || _creator_collect === void 0 ? void 0 : _creator_collect.call(creator, pre)) || pre;
112
112
  }, App);
113
- if (chunkSet.renderLevel >= import_constants2.RenderLevel.SERVER_PREFETCH) {
113
+ if (chunkSet.renderLevel >= import_constants.RenderLevel.SERVER_PREFETCH) {
114
114
  html = import_server.default.renderToString(finalApp);
115
- chunkSet.renderLevel = import_constants2.RenderLevel.SERVER_RENDER;
115
+ chunkSet.renderLevel = import_constants.RenderLevel.SERVER_RENDER;
116
116
  }
117
117
  helmetData = import_react_helmet.default.renderStatic();
118
118
  await Promise.all(collectors.map((component) => component.effect()));
119
119
  const cost = end();
120
120
  onTiming(import_tracer.SSRTimings.RENDER_HTML, cost);
121
121
  } catch (e) {
122
- chunkSet.renderLevel = import_constants2.RenderLevel.CLIENT_RENDER;
122
+ chunkSet.renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
123
123
  onError(import_tracer.SSRErrors.RENDER_HTML, e);
124
124
  }
125
125
  const { ssrScripts, cssChunk, jsChunk } = chunkSet;
@@ -134,16 +134,16 @@ async function generateHtml(App, htmlTemplate, chunkSet, collectors, htmlModifie
134
134
  return finalHtml;
135
135
  }
136
136
  function createReplaceHtml(html) {
137
- return (template) => (0, import_utils.safeReplace)(template, import_constants.HTML_PLACEHOLDER, html);
137
+ return (template) => (0, import_utils.safeReplace)(template, import_constants2.HTML_PLACEHOLDER, html);
138
138
  }
139
139
  function createReplaceSSRDataScript(data) {
140
- return (template) => (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, data);
140
+ return (template) => (0, import_utils.safeReplace)(template, import_constants2.SSR_DATA_PLACEHOLDER, data);
141
141
  }
142
142
  function createReplaceChunkJs(js) {
143
- return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_JS_PLACEHOLDER, js);
143
+ return (template) => (0, import_utils.safeReplace)(template, import_constants2.CHUNK_JS_PLACEHOLDER, js);
144
144
  }
145
145
  function createReplaceChunkCss(css) {
146
- return (template) => (0, import_utils.safeReplace)(template, import_constants.CHUNK_CSS_PLACEHOLDER, css);
146
+ return (template) => (0, import_utils.safeReplace)(template, import_constants2.CHUNK_CSS_PLACEHOLDER, css);
147
147
  }
148
148
  // Annotate the CommonJS export names for ESM import in node:
149
149
  0 && (module.exports = {
@@ -21,11 +21,11 @@ __export(prefetch_exports, {
21
21
  prefetch: () => prefetch
22
22
  });
23
23
  module.exports = __toCommonJS(prefetch_exports);
24
- var import_server = require("react-dom/server");
24
+ var import_server = require("@loadable/server");
25
25
  var import_node = require("@modern-js/runtime-utils/node");
26
- var import_server2 = require("@loadable/server");
27
26
  var import_time = require("@modern-js/runtime-utils/time");
28
27
  var import_request = require("@modern-js/runtime-utils/universal/request");
28
+ var import_server2 = require("react-dom/server");
29
29
  var import_wrapper = require("../../react/wrapper");
30
30
  var import_tracer = require("../tracer");
31
31
  const prefetch = async (App, request, options, ssrConfig, { onError, onTiming }) => {
@@ -38,17 +38,17 @@ const prefetch = async (App, request, options, ssrConfig, { onError, onTiming })
38
38
  try {
39
39
  const end = (0, import_time.time)();
40
40
  if (loadableStats) {
41
- const extractor = new import_server2.ChunkExtractor({
41
+ const extractor = new import_server.ChunkExtractor({
42
42
  stats: loadableStats,
43
43
  entrypoints: [
44
44
  entryName
45
45
  ].filter(Boolean)
46
46
  });
47
- (0, import_server.renderToStaticMarkup)(extractor.collectChunks((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
47
+ (0, import_server2.renderToStaticMarkup)(extractor.collectChunks((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
48
48
  ssr: false
49
49
  }))));
50
50
  } else {
51
- (0, import_server.renderToStaticMarkup)((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
51
+ (0, import_server2.renderToStaticMarkup)((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
52
52
  ssr: false
53
53
  })));
54
54
  }
@@ -27,8 +27,8 @@ var import_class_private_field_set = require("@swc/helpers/_/_class_private_fiel
27
27
  var import_class_private_method_get = require("@swc/helpers/_/_class_private_method_get");
28
28
  var import_class_private_method_init = require("@swc/helpers/_/_class_private_method_init");
29
29
  var import_node = require("@modern-js/runtime-utils/node");
30
- var import_utils = require("../utils");
31
30
  var import_constants = require("../../constants");
31
+ var import_utils = require("../utils");
32
32
  var _options = /* @__PURE__ */ new WeakMap(), _getSSRData = /* @__PURE__ */ new WeakSet(), _getSSRDataScripts = /* @__PURE__ */ new WeakSet();
33
33
  class SSRDataCollector {
34
34
  effect() {
@@ -23,9 +23,9 @@ __export(Body_exports, {
23
23
  module.exports = __toCommonJS(Body_exports);
24
24
  var import_jsx_runtime = require("react/jsx-runtime");
25
25
  var import_react = require("react");
26
- var import_constants = require("./constants");
27
26
  var import_DocumentStructureContext = require("./DocumentStructureContext");
28
27
  var import_Root = require("./Root");
28
+ var import_constants = require("./constants");
29
29
  function Body(props) {
30
30
  const { hasSetRoot } = (0, import_react.useContext)(import_DocumentStructureContext.DocumentStructureContext);
31
31
  const { children, ...rest } = props;
@@ -25,8 +25,8 @@ module.exports = __toCommonJS(Head_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
26
  var import_react = require("react");
27
27
  var import_DocumentStructureContext = require("./DocumentStructureContext");
28
- var import_Scripts = require("./Scripts");
29
28
  var import_Links = require("./Links");
29
+ var import_Scripts = require("./Scripts");
30
30
  var import_Title = require("./Title");
31
31
  var import_constants = require("./constants");
32
32
  function Head(props) {
@@ -23,8 +23,8 @@ __export(Root_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(Root_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_react = require("react");
27
26
  var import_lodash = require("@modern-js/utils/lodash");
27
+ var import_react = require("react");
28
28
  var import_DocumentContext = require("./DocumentContext");
29
29
  var import_constants = require("./constants");
30
30
  function Root(props) {
@@ -34,10 +34,10 @@ __export(cli_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(cli_exports);
36
36
  var import_path = __toESM(require("path"));
37
+ var import_utils = require("@modern-js/utils");
38
+ var import_esbuild = require("esbuild");
37
39
  var import_react = __toESM(require("react"));
38
40
  var import_server = __toESM(require("react-dom/server"));
39
- var import_esbuild = require("esbuild");
40
- var import_utils = require("@modern-js/utils");
41
41
  var import_DocumentContext = require("../DocumentContext");
42
42
  var import_constants = require("../constants");
43
43
  const debug = (0, import_utils.createDebugger)("html_genarate");
@@ -33,8 +33,8 @@ __export(getRoutes_exports, {
33
33
  module.exports = __toCommonJS(getRoutes_exports);
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_utils = require("@modern-js/utils");
36
- var import_makeLegalIdentifier = require("../makeLegalIdentifier");
37
36
  var import_constants = require("../../constants");
37
+ var import_makeLegalIdentifier = require("../makeLegalIdentifier");
38
38
  var import_utils2 = require("../utils");
39
39
  var import_utils3 = require("./utils");
40
40
  const compName = (srcDirectory, filePath) => {
@@ -34,8 +34,8 @@ module.exports = __toCommonJS(getRoutesLegacy_exports);
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_utils = require("@modern-js/utils");
36
36
  var import_constants = require("../../constants");
37
- var import_utils2 = require("../utils");
38
37
  var import_makeLegalIdentifier = require("../makeLegalIdentifier");
38
+ var import_utils2 = require("../utils");
39
39
  var import_utils3 = require("./utils");
40
40
  const compName = (srcDirectory, filePath) => {
41
41
  const legalCompName = (0, import_makeLegalIdentifier.makeLegalIdentifier)(import_path.default.relative(srcDirectory, filePath));
@@ -35,12 +35,12 @@ module.exports = __toCommonJS(code_exports);
35
35
  var import_path = __toESM(require("path"));
36
36
  var import_utils = require("@modern-js/utils");
37
37
  var import_lodash = require("@modern-js/utils/lodash");
38
- var import_constants = require("../constants");
39
- var import_constants2 = require("../../../cli/constants");
40
- var templates = __toESM(require("./templates"));
38
+ var import_constants = require("../../../cli/constants");
39
+ var import_constants2 = require("../constants");
41
40
  var import_getClientRoutes = require("./getClientRoutes");
42
- var import_utils2 = require("./utils");
43
41
  var import_nestedRoutes = require("./nestedRoutes");
42
+ var templates = __toESM(require("./templates"));
43
+ var import_utils2 = require("./utils");
44
44
  const generateCode = async (appContext, config, entrypoints, api) => {
45
45
  const { internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName } = appContext;
46
46
  const hookRunners = api.useHookRunners();
@@ -84,7 +84,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
84
84
  const config2 = api.useResolvedConfigContext();
85
85
  const ssrByRouteIds = config2.server.ssrByRouteIds || [];
86
86
  const clonedRoutes = (0, import_lodash.cloneDeep)(initialRoutes);
87
- const markedRoutes = ssrByRouteIds.length > 0 ? markRoutes(clonedRoutes, ssrByRouteIds) : initialRoutes;
87
+ const markedRoutes = ssrByRouteIds.length > 0 ? (0, import_utils.markRoutes)(clonedRoutes, ssrByRouteIds) : initialRoutes;
88
88
  const { routes } = await hookRunners.modifyFileSystemRoutes({
89
89
  entrypoint,
90
90
  routes: markedRoutes
@@ -115,7 +115,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
115
115
  })
116
116
  });
117
117
  if (entrypoint.nestedRoutesEntry && (0, import_utils.isUseSSRBundle)(config2)) {
118
- var _config_output1;
118
+ var _config_output1, _config_output2;
119
119
  const routesServerFile = (0, import_utils2.getServerLoadersFile)(internalDirectory, entryName);
120
120
  const filtedRoutesForServer = (0, import_utils.filterRoutesForServer)(routes);
121
121
  const routesForServerLoaderMatches = (0, import_utils.filterRoutesLoader)(routes);
@@ -134,38 +134,29 @@ const generateCode = async (appContext, config, entrypoints, api) => {
134
134
  splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output1 = config2.output) === null || _config_output1 === void 0 ? void 0 : _config_output1.splitRouteChunks
135
135
  });
136
136
  await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, "utf8");
137
+ const mfServerRoutesCode = await templates.fileSystemRoutes({
138
+ metaName,
139
+ routes,
140
+ ssrMode: useSSG ? "string" : mode,
141
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
142
+ entryName: entrypoint.entryName,
143
+ internalDirectory,
144
+ splitRouteChunks: config2 === null || config2 === void 0 ? void 0 : (_config_output2 = config2.output) === null || _config_output2 === void 0 ? void 0 : _config_output2.splitRouteChunks
145
+ });
146
+ await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/mf-routes.js`), mfServerRoutesCode, "utf8");
137
147
  }
138
148
  const serverLoaderCombined = templates.ssrLoaderCombinedModule(entrypoints, entrypoint, config2, appContext);
139
149
  if (serverLoaderCombined) {
140
150
  const serverLoaderFile = (0, import_utils2.getServerCombinedModueFile)(internalDirectory, entryName);
141
151
  await import_utils.fs.outputFile(serverLoaderFile, serverLoaderCombined);
142
152
  }
143
- await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.FILE_SYSTEM_ROUTES_FILE_NAME}`), code, "utf8");
153
+ await import_utils.fs.outputFile(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants2.FILE_SYSTEM_ROUTES_FILE_NAME}`), code, "utf8");
144
154
  }
145
155
  }
146
156
  }
147
157
  };
148
- function markRoutes(routes, routeIds) {
149
- return routes.map((route) => {
150
- if (route.type !== "nested") {
151
- return route;
152
- }
153
- if (route.children && route.children.length > 0) {
154
- route.children = markRoutes(route.children, routeIds);
155
- }
156
- if (route.children && route.children.length > 0) {
157
- route.inValidSSRRoute = route.children.every((child) => {
158
- var _child_inValidSSRRoute;
159
- return (_child_inValidSSRRoute = child.inValidSSRRoute) !== null && _child_inValidSSRRoute !== void 0 ? _child_inValidSSRRoute : false;
160
- });
161
- } else if (route.id) {
162
- route.inValidSSRRoute = !routeIds.includes(route.id);
163
- }
164
- return route;
165
- });
166
- }
167
158
  function generatorRegisterCode(internalDirectory, entryName, code) {
168
- import_utils.fs.outputFileSync(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants2.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`), code, "utf8");
159
+ import_utils.fs.outputFileSync(import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`), code, "utf8");
169
160
  }
170
161
  // Annotate the CommonJS export names for ESM import in node:
171
162
  0 && (module.exports = {
@@ -368,14 +368,21 @@ function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
368
368
  if (!config.source.enableAsyncEntry) {
369
369
  return combinedModule;
370
370
  }
371
- return `export default Promise.all([import("${(0, import_utils.slash)(serverLoaderRuntime)}"),import("${(0, import_utils.slash)(serverLoadersFile)}")]).then(res=>{
372
- return res.reduce((sum,cur)=>{
373
- return {
374
- ...sum,
375
- ...cur
376
- }
377
- },{})
378
- })`;
371
+ return `
372
+ async function loadModules() {
373
+ const [moduleA, moduleB] = await Promise.all([
374
+ import("${(0, import_utils.slash)(serverLoaderRuntime)}"),
375
+ import("${(0, import_utils.slash)(serverLoadersFile)}")
376
+ ]);
377
+
378
+ return {
379
+ ...moduleA,
380
+ ...moduleB
381
+ };
382
+ }
383
+
384
+ export { loadModules };
385
+ `;
379
386
  }
380
387
  return null;
381
388
  }
@@ -42,8 +42,8 @@ module.exports = __toCommonJS(utils_exports);
42
42
  var import_fs = __toESM(require("fs"));
43
43
  var import_path = __toESM(require("path"));
44
44
  var import_utils = require("@modern-js/utils");
45
- var import_esbuild = require("esbuild");
46
45
  var import_es_module_lexer = require("es-module-lexer");
46
+ var import_esbuild = require("esbuild");
47
47
  var import_constants = require("../constants");
48
48
  const walkDirectory = (dir) => import_fs.default.readdirSync(dir).reduce((previous, filename) => {
49
49
  const filePath = import_path.default.join(dir, filename);
@@ -35,9 +35,9 @@ __export(handler_exports, {
35
35
  module.exports = __toCommonJS(handler_exports);
36
36
  var import_path = __toESM(require("path"));
37
37
  var import_lodash = require("@modern-js/utils/lodash");
38
- var import_entry = require("./entry");
39
- var import_utils = require("./code/utils");
40
38
  var templates = __toESM(require("./code/templates"));
39
+ var import_utils = require("./code/utils");
40
+ var import_entry = require("./entry");
41
41
  let originEntrypoints = [];
42
42
  async function handleModifyEntrypoints(api, entrypoints) {
43
43
  const config = api.useResolvedConfigContext();