@modern-js/runtime 2.5.0-alpha.0 → 2.6.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 (135) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/cli/index.js +9 -0
  3. package/dist/cjs/common.js +0 -6
  4. package/dist/cjs/core/app-config.js +5 -1
  5. package/dist/cjs/core/compatible.js +8 -7
  6. package/dist/cjs/core/loader/index.js +4 -0
  7. package/dist/cjs/core/loader/loaderManager.js +6 -0
  8. package/dist/cjs/core/loader/useLoader.js +4 -0
  9. package/dist/cjs/document/Body.js +6 -8
  10. package/dist/cjs/document/DocumentContext.js +4 -0
  11. package/dist/cjs/document/DocumentStructureContext.js +4 -0
  12. package/dist/cjs/document/Head.js +7 -11
  13. package/dist/cjs/document/Html.js +24 -22
  14. package/dist/cjs/document/Links.js +1 -3
  15. package/dist/cjs/document/Root.js +8 -14
  16. package/dist/cjs/document/Script.js +5 -7
  17. package/dist/cjs/document/Scripts.js +1 -3
  18. package/dist/cjs/document/cli/index.js +7 -1
  19. package/dist/cjs/exports/head.js +4 -0
  20. package/dist/cjs/exports/loadable.js +4 -0
  21. package/dist/cjs/exports/styled.js +4 -0
  22. package/dist/cjs/router/cli/index.js +3 -7
  23. package/dist/cjs/router/index.js +4 -0
  24. package/dist/cjs/router/runtime/DefaultNotFound.js +13 -10
  25. package/dist/cjs/router/runtime/index.js +3 -52
  26. package/dist/cjs/router/runtime/plugin.js +6 -14
  27. package/dist/cjs/router/runtime/plugin.node.js +54 -10
  28. package/dist/cjs/router/runtime/utils.js +80 -28
  29. package/dist/cjs/router/runtime/withRouter.js +9 -6
  30. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +4 -0
  31. package/dist/cjs/ssr/cli/index.js +4 -0
  32. package/dist/cjs/ssr/index.js +10 -24
  33. package/dist/cjs/ssr/index.node.js +4 -0
  34. package/dist/cjs/ssr/prefetch.js +3 -6
  35. package/dist/cjs/ssr/react/nossr/index.js +4 -0
  36. package/dist/cjs/ssr/react/prerender/index.js +4 -0
  37. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +19 -5
  38. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +5 -0
  39. package/dist/cjs/ssr/serverRender/renderToStream/index.js +4 -0
  40. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +7 -22
  41. package/dist/cjs/ssr/serverRender/renderToStream/template.js +1 -2
  42. package/dist/cjs/ssr/serverRender/renderToString/entry.js +14 -12
  43. package/dist/cjs/ssr/serverRender/renderToString/index.js +4 -0
  44. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +1 -1
  45. package/dist/cjs/ssr/serverRender/time.worker.js +1 -1
  46. package/dist/cjs/ssr/serverRender/utils.js +1 -1
  47. package/dist/cjs/ssr/utils.js +16 -4
  48. package/dist/cjs/state/index.js +4 -0
  49. package/dist/cjs/state/plugins.js +4 -0
  50. package/dist/cjs/state/runtime/index.js +4 -0
  51. package/dist/cjs/state/runtime/plugin.js +5 -7
  52. package/dist/esm/cli/index.js +5 -1
  53. package/dist/esm/common.js +1 -3
  54. package/dist/esm/core/app-config.js +3 -1
  55. package/dist/esm/core/compatible.js +3 -1
  56. package/dist/esm/core/loader/loaderManager.js +3 -1
  57. package/dist/esm/document/cli/index.js +3 -1
  58. package/dist/esm/router/cli/index.js +1 -5
  59. package/dist/esm/router/runtime/index.js +2 -3
  60. package/dist/esm/router/runtime/plugin.js +2 -5
  61. package/dist/esm/router/runtime/plugin.node.js +65 -8
  62. package/dist/esm/router/runtime/utils.js +106 -5
  63. package/dist/esm/ssr/prefetch.js +1 -0
  64. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +39 -8
  65. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
  66. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +8 -19
  67. package/dist/esm/ssr/serverRender/renderToStream/template.js +1 -2
  68. package/dist/esm/ssr/serverRender/renderToString/entry.js +29 -16
  69. package/dist/esm/ssr/serverRender/time.worker.js +1 -1
  70. package/dist/esm/ssr/utils.js +6 -4
  71. package/dist/esm-node/cli/index.js +5 -0
  72. package/dist/esm-node/common.js +0 -4
  73. package/dist/esm-node/core/app-config.js +5 -1
  74. package/dist/esm-node/core/compatible.js +4 -7
  75. package/dist/esm-node/core/loader/loaderManager.js +2 -0
  76. package/dist/esm-node/document/Body.js +6 -8
  77. package/dist/esm-node/document/Head.js +7 -11
  78. package/dist/esm-node/document/Html.js +24 -22
  79. package/dist/esm-node/document/Links.js +1 -3
  80. package/dist/esm-node/document/Root.js +8 -14
  81. package/dist/esm-node/document/Script.js +5 -7
  82. package/dist/esm-node/document/Scripts.js +1 -3
  83. package/dist/esm-node/document/cli/index.js +3 -1
  84. package/dist/esm-node/router/cli/index.js +2 -5
  85. package/dist/esm-node/router/runtime/DefaultNotFound.js +13 -10
  86. package/dist/esm-node/router/runtime/index.js +2 -51
  87. package/dist/esm-node/router/runtime/plugin.js +2 -14
  88. package/dist/esm-node/router/runtime/plugin.node.js +53 -10
  89. package/dist/esm-node/router/runtime/utils.js +80 -22
  90. package/dist/esm-node/router/runtime/withRouter.js +9 -6
  91. package/dist/esm-node/ssr/index.js +6 -24
  92. package/dist/esm-node/ssr/prefetch.js +3 -6
  93. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +9 -5
  94. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -0
  95. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +7 -22
  96. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +1 -2
  97. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +10 -12
  98. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +1 -1
  99. package/dist/esm-node/ssr/serverRender/time.worker.js +1 -1
  100. package/dist/esm-node/ssr/serverRender/utils.js +1 -1
  101. package/dist/esm-node/ssr/utils.js +6 -4
  102. package/dist/esm-node/state/runtime/plugin.js +1 -7
  103. package/dist/types/common.d.ts +1 -3
  104. package/dist/types/core/index.d.ts +0 -1
  105. package/dist/types/core/loader/index.d.ts +2 -1
  106. package/dist/types/core/loader/useLoader.d.ts +15 -1
  107. package/dist/types/router/runtime/index.d.ts +2 -4
  108. package/dist/types/runtime-context.d.ts +0 -2
  109. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -2
  110. package/dist/types/ssr/serverRender/renderToString/type.d.ts +1 -0
  111. package/package.json +17 -12
  112. package/dist/cjs/core/types.js +0 -15
  113. package/dist/cjs/router/index.node.js +0 -31
  114. package/dist/cjs/router/runtime/DeferredDataScripts.js +0 -148
  115. package/dist/cjs/ssr/prefetch.worker.js +0 -67
  116. package/dist/cjs/ssr/serverRender/renderToStream/index.worker.js +0 -64
  117. package/dist/cjs/ssr/serverRender/renderToString/index.worker.js +0 -58
  118. package/dist/esm/core/types.js +0 -1
  119. package/dist/esm/router/index.node.js +0 -4
  120. package/dist/esm/router/runtime/DeferredDataScripts.js +0 -158
  121. package/dist/esm/ssr/prefetch.worker.js +0 -191
  122. package/dist/esm/ssr/serverRender/renderToStream/index.worker.js +0 -32
  123. package/dist/esm/ssr/serverRender/renderToString/index.worker.js +0 -167
  124. package/dist/esm-node/core/types.js +0 -0
  125. package/dist/esm-node/router/index.node.js +0 -7
  126. package/dist/esm-node/router/runtime/DeferredDataScripts.js +0 -131
  127. package/dist/esm-node/ssr/prefetch.worker.js +0 -46
  128. package/dist/esm-node/ssr/serverRender/renderToStream/index.worker.js +0 -35
  129. package/dist/esm-node/ssr/serverRender/renderToString/index.worker.js +0 -29
  130. package/dist/types/core/types.d.ts +0 -21
  131. package/dist/types/router/index.node.d.ts +0 -3
  132. package/dist/types/router/runtime/DeferredDataScripts.d.ts +0 -8
  133. package/dist/types/ssr/prefetch.worker.d.ts +0 -13
  134. package/dist/types/ssr/serverRender/renderToStream/index.worker.d.ts +0 -6
  135. package/dist/types/ssr/serverRender/renderToString/index.worker.d.ts +0 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @modern-js/runtime
2
2
 
3
+ ## 2.6.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 671477d: chore(CI): make CI faster
8
+
9
+ chore(CI): 提升 CI 执行速度
10
+
11
+ - 7915ab3: fix: should not assign nestedRoutesEntry to entrypoint if use v5 router
12
+ fix: 使用 v5 路由的时候,不应该在 entrypoint 上挂载 nestedRoutesEntry 属性
13
+ - a909ad1: feat: revert worker use async_hooks
14
+
15
+ feat: 还原 worker 使用 async_hooks 代码
16
+
17
+ - 49fa0b1: fix: remove header info from SSR ctx to avoid security issues, reserved a switch
18
+ fix: 移除 SSR 上下文中的 header 信息,避免造成安全问题,预留一个字段开启
19
+ - 1906d7b: fix: document param output get undefined in default template
20
+ fix: 修复 Document param 中 output 参数取值问题
21
+ - Updated dependencies [e1f799e]
22
+ - Updated dependencies [7915ab3]
23
+ - Updated dependencies [49fa0b1]
24
+ - Updated dependencies [0fe658a]
25
+ - Updated dependencies [62930b9]
26
+ - @modern-js/utils@2.6.0
27
+ - @modern-js/types@2.6.0
28
+ - @modern-js/plugin@2.6.0
29
+
3
30
  ## 2.5.0
4
31
 
5
32
  ### Patch Changes
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -52,6 +56,11 @@ var cli_default = () => ({
52
56
  runtimeByEntries: {},
53
57
  source: {
54
58
  alias: {
59
+ /**
60
+ * twin.macro inserts styled-components into the code during the compilation process
61
+ * But it will not be installed under the user project.
62
+ * So need to add alias
63
+ */
55
64
  "styled-components": require.resolve("styled-components")
56
65
  },
57
66
  globalVars: {
@@ -17,17 +17,11 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var common_exports = {};
19
19
  __export(common_exports, {
20
- ESCAPED_SHELL_STREAM_END_MARK: () => ESCAPED_SHELL_STREAM_END_MARK,
21
- JSX_SHELL_STREAM_END_MARK: () => JSX_SHELL_STREAM_END_MARK,
22
20
  isBrowser: () => isBrowser
23
21
  });
24
22
  module.exports = __toCommonJS(common_exports);
25
23
  const isBrowser = () => typeof window !== "undefined" && window.name !== "nodejs";
26
- const JSX_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
27
- const ESCAPED_SHELL_STREAM_END_MARK = "&lt;!--&lt;?- SHELL_STREAM_END ?&gt;--&gt;";
28
24
  // Annotate the CommonJS export names for ESM import in node:
29
25
  0 && (module.exports = {
30
- ESCAPED_SHELL_STREAM_END_MARK,
31
- JSX_SHELL_STREAM_END_MARK,
32
26
  isBrowser
33
27
  });
@@ -22,7 +22,11 @@ __export(app_config_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(app_config_exports);
24
24
  const APP_CONFIG_SYMBOL = "config";
25
- const getConfig = (Component) => Component[APP_CONFIG_SYMBOL];
25
+ const getConfig = (Component) => (
26
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
+ // @ts-expect-error
28
+ Component[APP_CONFIG_SYMBOL]
29
+ );
26
30
  const defineConfig = (Component, config) => {
27
31
  Component[APP_CONFIG_SYMBOL] = config;
28
32
  return Component;
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -86,12 +90,7 @@ const createApp = ({ plugins }) => {
86
90
  }
87
91
  );
88
92
  }
89
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtime_context.RuntimeReactContext.Provider, {
90
- value: contextValue,
91
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, {
92
- ...props
93
- })
94
- });
93
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtime_context.RuntimeReactContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, { ...props }) });
95
94
  };
96
95
  return (0, import_hoist_non_react_statics.default)(WrapComponent, App2);
97
96
  }
@@ -218,12 +217,14 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
218
217
  {},
219
218
  {
220
219
  skipNonStatic: id.staticGenerate,
220
+ // if not static generate, only non-static loader can exec on prod env
221
221
  skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
222
222
  }
223
223
  )
224
224
  });
225
225
  const isRedirectResponse = (result) => {
226
- if (typeof Response !== "undefined" && result instanceof Response && result.status >= 300 && result.status <= 399) {
226
+ if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
227
+ result instanceof Response && result.status >= 300 && result.status <= 399) {
227
228
  const { status } = result;
228
229
  const redirectUrl = result.headers.get("Location") || "/";
229
230
  const { ssrContext } = context;
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -88,6 +92,7 @@ const createLoader = (id, initialData = {
88
92
  reloading: hasLoaded && status === 1 /* loading */,
89
93
  data,
90
94
  error: error instanceof Error ? `${error.message}` : error,
95
+ // redundant fields for ssr log
91
96
  _error: error
92
97
  });
93
98
  const notify = () => {
@@ -128,6 +133,7 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
128
133
  id,
129
134
  typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : { data: loaderOptions.initialData },
130
135
  loaderFn,
136
+ // Todo whether static loader is exec when CSR
131
137
  skipExec
132
138
  );
133
139
  loadersMap.set(id, loader);
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -28,14 +28,12 @@ var import_Root = require("./Root");
28
28
  function Body(props) {
29
29
  const { hasSetRoot } = (0, import_react.useContext)(import_DocumentStructureContext.DocumentStructureContext);
30
30
  const { children } = props;
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", {
32
- children: [
33
- hasSetRoot ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Root.DefaultRoot, {}),
34
- children,
35
- `${import_constants.DOCUMENT_CHUNKSMAP_PLACEHOLDER}`,
36
- `${import_constants.DOCUMENT_SSRDATASCRIPT_PLACEHOLDER}`
37
- ]
38
- });
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", { children: [
32
+ hasSetRoot ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Root.DefaultRoot, {}),
33
+ children,
34
+ `${import_constants.DOCUMENT_CHUNKSMAP_PLACEHOLDER}`,
35
+ `${import_constants.DOCUMENT_SSRDATASCRIPT_PLACEHOLDER}`
36
+ ] });
39
37
  }
40
38
  // Annotate the CommonJS export names for ESM import in node:
41
39
  0 && (module.exports = {
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -30,19 +30,15 @@ var import_constants = require("./constants");
30
30
  function Head(props) {
31
31
  const { hasSetScripts, hasSetLinks } = (0, import_react.useContext)(import_DocumentStructureContext.DocumentStructureContext);
32
32
  const { children } = props;
33
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("head", {
34
- children: [
35
- `${import_constants.DOCUMENT_META_PLACEHOLDER}`,
36
- !hasSetLinks && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Links.Links, {}),
37
- !hasSetScripts && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scripts.Scripts, {}),
38
- children
39
- ]
40
- });
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("head", { children: [
34
+ `${import_constants.DOCUMENT_META_PLACEHOLDER}`,
35
+ !hasSetLinks && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Links.Links, {}),
36
+ !hasSetScripts && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scripts.Scripts, {}),
37
+ children
38
+ ] });
41
39
  }
42
40
  function DefaultHead() {
43
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("head", {
44
- children: `${import_constants.DOCUMENT_META_PLACEHOLDER}`
45
- });
41
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("head", { children: `${import_constants.DOCUMENT_META_PLACEHOLDER}` });
46
42
  }
47
43
  // Annotate the CommonJS export names for ESM import in node:
48
44
  0 && (module.exports = {
@@ -56,29 +56,31 @@ function Html(props) {
56
56
  const notMissMustChild = [
57
57
  hasSetHead,
58
58
  hasSetBody
59
+ // hasSetScripts,
60
+ // hasSetRoot,
59
61
  ].every((item) => item);
60
62
  if (!notMissMustChild) {
61
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", {
62
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", {
63
- style: { color: "red" },
64
- children: [
65
- `Miss the `,
66
- [
67
- hasSetHead,
68
- hasSetBody
69
- ].map((item, index) => {
70
- return item ? null : [
71
- "Head",
72
- "Body"
73
- ][index];
74
- }),
75
- ` Element`
76
- ]
77
- })
78
- });
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", { style: { color: "red" }, children: [
64
+ `Miss the `,
65
+ [
66
+ hasSetHead,
67
+ hasSetBody
68
+ // hasSetScripts,
69
+ // hasSetRoot,
70
+ ].map((item, index) => {
71
+ return item ? null : [
72
+ "Head",
73
+ "Body"
74
+ // 'Scripts',
75
+ // 'Root',
76
+ ][index];
77
+ }),
78
+ ` Element`
79
+ ] }) });
79
80
  }
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", {
81
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_DocumentStructureContext.DocumentStructureContext.Provider, {
81
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("html", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
82
+ import_DocumentStructureContext.DocumentStructureContext.Provider,
83
+ {
82
84
  value: {
83
85
  hasSetHead,
84
86
  hasSetScripts,
@@ -92,8 +94,8 @@ function Html(props) {
92
94
  !hasSetBody && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Body.Body, {}),
93
95
  children
94
96
  ]
95
- })
96
- });
97
+ }
98
+ ) });
97
99
  }
98
100
  // Annotate the CommonJS export names for ESM import in node:
99
101
  0 && (module.exports = {
@@ -23,9 +23,7 @@ module.exports = __toCommonJS(Links_exports);
23
23
  var import_jsx_runtime = require("react/jsx-runtime");
24
24
  var import_constants = require("./constants");
25
25
  function Links() {
26
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
27
- children: import_constants.DOCUMENT_LINKS_PLACEHOLDER
28
- });
26
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: import_constants.DOCUMENT_LINKS_PLACEHOLDER });
29
27
  }
30
28
  // Annotate the CommonJS export names for ESM import in node:
31
29
  0 && (module.exports = {
@@ -30,25 +30,19 @@ function Root(props) {
30
30
  const {
31
31
  templateParams: { mountId = "root" }
32
32
  } = (0, import_react.useContext)(import_DocumentContext.DocumentContext);
33
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
34
- id: `${rootId || mountId}`,
35
- children: [
36
- `${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
37
- children
38
- ]
39
- });
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { id: `${rootId || mountId}`, children: [
34
+ `${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
35
+ children
36
+ ] });
40
37
  }
41
38
  function DefaultRoot(props) {
42
39
  const {
43
40
  templateParams: { mountId = "root" }
44
41
  } = (0, import_react.useContext)(import_DocumentContext.DocumentContext);
45
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
46
- id: `${mountId}`,
47
- children: [
48
- `${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
49
- props.children
50
- ]
51
- });
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { id: `${mountId}`, children: [
43
+ `${import_constants.DOCUMENT_SSR_PLACEHOLDER}`,
44
+ props.children
45
+ ] });
52
46
  }
53
47
  // Annotate the CommonJS export names for ESM import in node:
54
48
  0 && (module.exports = {
@@ -26,13 +26,11 @@ function Script(props) {
26
26
  const { content } = props;
27
27
  const contentStr = content.toString();
28
28
  const contentIIFE = encodeURIComponent(`(${contentStr})()`);
29
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
30
- children: [
31
- `${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_START}`,
32
- `${contentIIFE}`,
33
- `${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_END}`
34
- ]
35
- });
29
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
30
+ `${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_START}`,
31
+ `${contentIIFE}`,
32
+ `${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_END}`
33
+ ] });
36
34
  }
37
35
  // Annotate the CommonJS export names for ESM import in node:
38
36
  0 && (module.exports = {
@@ -23,9 +23,7 @@ module.exports = __toCommonJS(Scripts_exports);
23
23
  var import_jsx_runtime = require("react/jsx-runtime");
24
24
  var import_constants = require("./constants");
25
25
  function Scripts() {
26
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
27
- children: `${import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER}`
28
- });
26
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: `${import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER}` });
29
27
  }
30
28
  // Annotate the CommonJS export names for ESM import in node:
31
29
  0 && (module.exports = {
@@ -17,6 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  return to;
18
18
  };
19
19
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
24
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
25
  mod
22
26
  ));
@@ -107,6 +111,7 @@ var cli_default = () => ({
107
111
  entryPoints: [documentFilePath],
108
112
  outfile: htmlOutputFile,
109
113
  platform: "node",
114
+ // change esbuild use the rootDir tsconfig.json as default to tempTsConfigFile
110
115
  tsconfig: tempTsConfigFile,
111
116
  target: "es6",
112
117
  loader: {
@@ -163,7 +168,7 @@ var cli_default = () => ({
163
168
  `${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_START}(.*?)${import_constants.DOCUMENT_SCRIPT_PLACEHOLDER_END}`,
164
169
  "g"
165
170
  ),
166
- (_scriptStr, $1) => `<script>${decodeURIComponent($1)}<\/script>`
171
+ (_scriptStr, $1) => `<script>${decodeURIComponent($1)}</script>`
167
172
  );
168
173
  }
169
174
  const finalHtml = `<!DOCTYPE html>${html}`.replace(import_constants.DOCUMENT_META_PLACEHOLDER, metas).replace(import_constants.DOCUMENT_SSR_PLACEHOLDER, import_constants.HTML_SEPARATOR).replace(import_constants.DOCUMENT_SCRIPTS_PLACEHOLDER, scripts).replace(import_constants.DOCUMENT_LINKS_PLACEHOLDER, links).replace(
@@ -189,6 +194,7 @@ var cli_default = () => ({
189
194
  ) : { ...options == null ? void 0 : options.templateParameters };
190
195
  const templateContent = documentEntry(
191
196
  entry.entryName,
197
+ // options,
192
198
  hackParameters
193
199
  );
194
200
  const documentHtmlOptions = templateContent ? {
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  };
19
19
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  };
19
19
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  };
19
19
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -23,10 +23,6 @@ module.exports = __toCommonJS(cli_exports);
23
23
  var import_utils = require("@modern-js/utils");
24
24
  const PLUGIN_IDENTIFIER = "router";
25
25
  const ROUTES_IDENTIFIER = "routes";
26
- const isV5 = (config) => {
27
- var _a, _b;
28
- return ((_b = (_a = config == null ? void 0 : config.runtime) == null ? void 0 : _a.router) == null ? void 0 : _b.mode) === "react-router-5";
29
- };
30
26
  var cli_default = () => ({
31
27
  name: "@modern-js/plugin-router",
32
28
  required: ["@modern-js/runtime"],
@@ -63,7 +59,7 @@ var cli_default = () => ({
63
59
  );
64
60
  runtimeConfigMap.set(entryName, runtimeConfig);
65
61
  if (runtimeConfig == null ? void 0 : runtimeConfig.router) {
66
- if (!isV5(userConfig)) {
62
+ if (!(0, import_utils.isRouterV5)(userConfig)) {
67
63
  imports.push({
68
64
  value: "@modern-js/runtime/plugins",
69
65
  specifiers: [{ imported: PLUGIN_IDENTIFIER }]
@@ -84,7 +80,7 @@ var cli_default = () => ({
84
80
  const { serverRoutes } = api.useAppContext();
85
81
  const userConfig = api.useResolvedConfigContext();
86
82
  const runtimeConfig = runtimeConfigMap.get(entryName);
87
- if (runtimeConfig.router && !isV5(userConfig)) {
83
+ if (runtimeConfig.router && !(0, import_utils.isRouterV5)(userConfig)) {
88
84
  const serverBase = serverRoutes.filter((route) => route.entryName === entryName).map((route) => route.urlPath).sort((a, b) => a.length - b.length > 0 ? -1 : 1);
89
85
  plugins.push({
90
86
  name: PLUGIN_IDENTIFIER,
@@ -105,7 +101,7 @@ var cli_default = () => ({
105
101
  },
106
102
  addRuntimeExports() {
107
103
  const userConfig = api.useResolvedConfigContext();
108
- if (!isV5(userConfig)) {
104
+ if (!(0, import_utils.isRouterV5)(userConfig)) {
109
105
  pluginsExportsUtils.addExport(
110
106
  `export { default as router } from '@modern-js/runtime/router'`
111
107
  );
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  };
19
19
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -21,16 +21,19 @@ __export(DefaultNotFound_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(DefaultNotFound_exports);
23
23
  var import_jsx_runtime = require("react/jsx-runtime");
24
- const DefaultNotFound = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
25
- style: {
26
- margin: "150px auto",
27
- textAlign: "center",
28
- display: "flex",
29
- alignItems: "center",
30
- justifyContent: "center"
31
- },
32
- children: "404"
33
- });
24
+ const DefaultNotFound = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
25
+ "div",
26
+ {
27
+ style: {
28
+ margin: "150px auto",
29
+ textAlign: "center",
30
+ display: "flex",
31
+ alignItems: "center",
32
+ justifyContent: "center"
33
+ },
34
+ children: "404"
35
+ }
36
+ );
34
37
  // Annotate the CommonJS export names for ESM import in node:
35
38
  0 && (module.exports = {
36
39
  DefaultNotFound
@@ -18,65 +18,16 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var runtime_exports = {};
20
20
  __export(runtime_exports, {
21
- Form: () => import_react_router_dom.Form,
22
- Outlet: () => import_react_router_dom.Outlet,
23
21
  default: () => runtime_default,
24
- defer: () => import_remix_router.defer,
25
- isRouteErrorResponse: () => import_react_router_dom.isRouteErrorResponse,
26
- modifyRoutes: () => import_plugin2.modifyRoutes,
27
- unstable_useBlocker: () => import_react_router_dom.unstable_useBlocker,
28
- unstable_usePrompt: () => import_react_router_dom.unstable_usePrompt,
29
- useAsyncError: () => import_react_router_dom.useAsyncError,
30
- useAsyncValue: () => import_react_router_dom.useAsyncValue,
31
- useBeforeUnload: () => import_react_router_dom.useBeforeUnload,
32
- useFormAction: () => import_react_router_dom.useFormAction,
33
- useHref: () => import_react_router_dom.useHref,
34
- useLocation: () => import_react_router_dom.useLocation,
35
- useNavigate: () => import_react_router_dom.useNavigate,
36
- useNavigation: () => import_react_router_dom.useNavigation,
37
- useNavigationType: () => import_react_router_dom.useNavigationType,
38
- useOutlet: () => import_react_router_dom.useOutlet,
39
- useOutletContext: () => import_react_router_dom.useOutletContext,
40
- useParams: () => import_react_router_dom.useParams,
41
- useResolvedPath: () => import_react_router_dom.useResolvedPath,
42
- useRevalidator: () => import_react_router_dom.useRevalidator,
43
- useRouteError: () => import_react_router_dom.useRouteError,
44
- useRouteLoaderData: () => import_react_router_dom.useRouteLoaderData,
45
- useSearchParams: () => import_react_router_dom.useSearchParams,
46
- useSubmit: () => import_react_router_dom.useSubmit
22
+ modifyRoutes: () => import_plugin2.modifyRoutes
47
23
  });
48
24
  module.exports = __toCommonJS(runtime_exports);
49
25
  var import_plugin = require("./plugin");
50
26
  var import_plugin2 = require("./plugin");
27
+ __reExport(runtime_exports, require("react-router-dom"), module.exports);
51
28
  __reExport(runtime_exports, require("./withRouter"), module.exports);
52
- var import_react_router_dom = require("react-router-dom");
53
- var import_remix_router = require("@modern-js/utils/remix-router");
54
29
  var runtime_default = import_plugin.routerPlugin;
55
30
  // Annotate the CommonJS export names for ESM import in node:
56
31
  0 && (module.exports = {
57
- Form,
58
- Outlet,
59
- defer,
60
- isRouteErrorResponse,
61
- modifyRoutes,
62
- unstable_useBlocker,
63
- unstable_usePrompt,
64
- useAsyncError,
65
- useAsyncValue,
66
- useBeforeUnload,
67
- useFormAction,
68
- useHref,
69
- useLocation,
70
- useNavigate,
71
- useNavigation,
72
- useNavigationType,
73
- useOutlet,
74
- useOutletContext,
75
- useParams,
76
- useResolvedPath,
77
- useRevalidator,
78
- useRouteError,
79
- useRouteLoaderData,
80
- useSearchParams,
81
- useSubmit
32
+ modifyRoutes
82
33
  });