@modern-js/runtime 2.35.0 → 2.36.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 (267) hide show
  1. package/dist/cjs/cli/index.js +48 -30
  2. package/dist/cjs/common.js +27 -18
  3. package/dist/cjs/config.js +15 -3
  4. package/dist/cjs/core/appConfig.js +25 -15
  5. package/dist/cjs/core/compatible.js +69 -53
  6. package/dist/cjs/core/index.js +47 -40
  7. package/dist/cjs/core/loader/index.js +35 -9
  8. package/dist/cjs/core/loader/loaderManager.js +37 -18
  9. package/dist/cjs/core/loader/useLoader.js +53 -31
  10. package/dist/cjs/core/plugin.js +41 -34
  11. package/dist/cjs/core/types.js +15 -3
  12. package/dist/cjs/document/Body.js +35 -19
  13. package/dist/cjs/document/Comment.js +29 -14
  14. package/dist/cjs/document/DocumentContext.js +36 -10
  15. package/dist/cjs/document/DocumentStructureContext.js +36 -10
  16. package/dist/cjs/document/Head.js +40 -31
  17. package/dist/cjs/document/Html.js +37 -23
  18. package/dist/cjs/document/Links.js +28 -13
  19. package/dist/cjs/document/Root.js +37 -28
  20. package/dist/cjs/document/Script.js +29 -14
  21. package/dist/cjs/document/Scripts.js +28 -13
  22. package/dist/cjs/document/Style.js +29 -14
  23. package/dist/cjs/document/cli/index.js +72 -57
  24. package/dist/cjs/document/constants.js +64 -72
  25. package/dist/cjs/document/index.js +42 -15
  26. package/dist/cjs/exports/head.js +38 -11
  27. package/dist/cjs/exports/loadable.js +38 -11
  28. package/dist/cjs/exports/server.js +24 -7
  29. package/dist/cjs/exports/styled.js +38 -11
  30. package/dist/cjs/index.js +41 -38
  31. package/dist/cjs/router/cli/index.js +32 -24
  32. package/dist/cjs/router/index.js +39 -18
  33. package/dist/cjs/router/runtime/DefaultNotFound.js +26 -11
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +21 -8
  35. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +49 -38
  36. package/dist/cjs/router/runtime/PrefetchLink.js +64 -50
  37. package/dist/cjs/router/runtime/fetch.js +24 -7
  38. package/dist/cjs/router/runtime/fetch.node.js +25 -8
  39. package/dist/cjs/router/runtime/fetch.worker.js +24 -7
  40. package/dist/cjs/router/runtime/hooks.js +26 -9
  41. package/dist/cjs/router/runtime/index.js +155 -208
  42. package/dist/cjs/router/runtime/plugin.js +64 -50
  43. package/dist/cjs/router/runtime/plugin.node.js +66 -50
  44. package/dist/cjs/router/runtime/server.js +20 -4
  45. package/dist/cjs/router/runtime/types.js +15 -3
  46. package/dist/cjs/router/runtime/utils.js +64 -51
  47. package/dist/cjs/router/runtime/withRouter.js +30 -15
  48. package/dist/cjs/runtimeContext.js +28 -18
  49. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +40 -23
  50. package/dist/cjs/ssr/cli/index.js +57 -41
  51. package/dist/cjs/ssr/cli/loadable-bundler-plugin.js +31 -13
  52. package/dist/cjs/ssr/index.js +71 -52
  53. package/dist/cjs/ssr/index.node.js +45 -27
  54. package/dist/cjs/ssr/prefetch.js +31 -18
  55. package/dist/cjs/ssr/react/index.js +27 -17
  56. package/dist/cjs/ssr/react/nossr/index.js +38 -12
  57. package/dist/cjs/ssr/react/prerender/index.js +52 -27
  58. package/dist/cjs/ssr/react/prerender/type.js +15 -3
  59. package/dist/cjs/ssr/react/prerender/util.js +33 -28
  60. package/dist/cjs/ssr/react/withCallback/index.js +27 -11
  61. package/dist/cjs/ssr/serverRender/helmet.js +23 -15
  62. package/dist/cjs/ssr/serverRender/index.js +24 -11
  63. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +30 -13
  64. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +25 -15
  65. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +48 -26
  66. package/dist/cjs/ssr/serverRender/renderToStream/index.js +49 -23
  67. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +35 -23
  68. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +33 -22
  69. package/dist/cjs/ssr/serverRender/renderToStream/template.js +28 -11
  70. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +31 -24
  71. package/dist/cjs/ssr/serverRender/renderToString/entry.js +81 -59
  72. package/dist/cjs/ssr/serverRender/renderToString/index.js +44 -18
  73. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +61 -33
  74. package/dist/cjs/ssr/serverRender/renderToString/render.js +39 -13
  75. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +28 -11
  76. package/dist/cjs/ssr/serverRender/renderToString/type.js +24 -7
  77. package/dist/cjs/ssr/serverRender/tracker.js +27 -18
  78. package/dist/cjs/ssr/serverRender/types.js +25 -8
  79. package/dist/cjs/ssr/serverRender/utils.js +31 -24
  80. package/dist/cjs/ssr/utils.js +42 -25
  81. package/dist/cjs/state/cli/index.js +28 -19
  82. package/dist/cjs/state/index.js +39 -18
  83. package/dist/cjs/state/plugins.js +46 -29
  84. package/dist/cjs/state/runtime/index.js +39 -11
  85. package/dist/cjs/state/runtime/plugin.js +55 -28
  86. package/dist/esm/cli/index.js +6 -2
  87. package/dist/esm/common.js +8 -3
  88. package/dist/esm/config.js +0 -1
  89. package/dist/esm/core/appConfig.js +6 -2
  90. package/dist/esm/core/compatible.js +29 -25
  91. package/dist/esm/core/index.js +13 -3
  92. package/dist/esm/core/loader/index.js +4 -1
  93. package/dist/esm/core/loader/loaderManager.js +13 -9
  94. package/dist/esm/core/loader/useLoader.js +13 -10
  95. package/dist/esm/core/plugin.js +17 -13
  96. package/dist/esm/core/types.js +0 -1
  97. package/dist/esm/document/Body.js +4 -1
  98. package/dist/esm/document/Comment.js +4 -1
  99. package/dist/esm/document/DocumentContext.js +4 -1
  100. package/dist/esm/document/DocumentStructureContext.js +4 -1
  101. package/dist/esm/document/Head.js +6 -2
  102. package/dist/esm/document/Html.js +12 -10
  103. package/dist/esm/document/Links.js +4 -1
  104. package/dist/esm/document/Root.js +6 -2
  105. package/dist/esm/document/Script.js +4 -1
  106. package/dist/esm/document/Scripts.js +4 -1
  107. package/dist/esm/document/Style.js +4 -1
  108. package/dist/esm/document/cli/index.js +18 -14
  109. package/dist/esm/document/constants.js +42 -20
  110. package/dist/esm/exports/head.js +4 -1
  111. package/dist/esm/exports/loadable.js +4 -1
  112. package/dist/esm/exports/server.js +4 -1
  113. package/dist/esm/exports/styled.js +4 -1
  114. package/dist/esm/index.js +13 -2
  115. package/dist/esm/router/cli/index.js +12 -9
  116. package/dist/esm/router/index.js +6 -2
  117. package/dist/esm/router/runtime/DefaultNotFound.js +4 -1
  118. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -1
  119. package/dist/esm/router/runtime/DeferredDataScripts.node.js +14 -13
  120. package/dist/esm/router/runtime/PrefetchLink.js +17 -17
  121. package/dist/esm/router/runtime/fetch.js +3 -1
  122. package/dist/esm/router/runtime/fetch.node.js +3 -1
  123. package/dist/esm/router/runtime/fetch.worker.js +3 -1
  124. package/dist/esm/router/runtime/hooks.js +3 -1
  125. package/dist/esm/router/runtime/index.js +72 -8
  126. package/dist/esm/router/runtime/plugin.js +26 -22
  127. package/dist/esm/router/runtime/plugin.node.js +26 -22
  128. package/dist/esm/router/runtime/server.js +1 -1
  129. package/dist/esm/router/runtime/types.js +0 -1
  130. package/dist/esm/router/runtime/utils.js +29 -20
  131. package/dist/esm/router/runtime/withRouter.js +8 -5
  132. package/dist/esm/runtimeContext.js +6 -2
  133. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +107 -98
  134. package/dist/esm/ssr/cli/index.js +26 -24
  135. package/dist/esm/ssr/cli/loadable-bundler-plugin.js +105 -96
  136. package/dist/esm/ssr/index.js +19 -15
  137. package/dist/esm/ssr/index.node.js +15 -12
  138. package/dist/esm/ssr/prefetch.js +10 -7
  139. package/dist/esm/ssr/react/index.js +6 -2
  140. package/dist/esm/ssr/react/nossr/index.js +4 -1
  141. package/dist/esm/ssr/react/prerender/index.js +4 -1
  142. package/dist/esm/ssr/react/prerender/type.js +0 -1
  143. package/dist/esm/ssr/react/prerender/util.js +14 -9
  144. package/dist/esm/ssr/react/withCallback/index.js +4 -1
  145. package/dist/esm/ssr/serverRender/helmet.js +4 -1
  146. package/dist/esm/ssr/serverRender/index.js +4 -1
  147. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +8 -5
  148. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +6 -2
  149. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -6
  150. package/dist/esm/ssr/serverRender/renderToStream/index.js +6 -3
  151. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +9 -7
  152. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +9 -6
  153. package/dist/esm/ssr/serverRender/renderToStream/template.js +6 -3
  154. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +12 -5
  155. package/dist/esm/ssr/serverRender/renderToString/entry.js +7 -5
  156. package/dist/esm/ssr/serverRender/renderToString/index.js +8 -5
  157. package/dist/esm/ssr/serverRender/renderToString/loadable.js +37 -20
  158. package/dist/esm/ssr/serverRender/renderToString/render.js +4 -1
  159. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +4 -1
  160. package/dist/esm/ssr/serverRender/renderToString/type.js +4 -1
  161. package/dist/esm/ssr/serverRender/tracker.js +8 -3
  162. package/dist/esm/ssr/serverRender/types.js +3 -1
  163. package/dist/esm/ssr/serverRender/utils.js +12 -5
  164. package/dist/esm/ssr/utils.js +13 -7
  165. package/dist/esm/state/cli/index.js +10 -6
  166. package/dist/esm/state/index.js +6 -2
  167. package/dist/esm/state/plugins.js +10 -4
  168. package/dist/esm/state/runtime/index.js +4 -1
  169. package/dist/esm/state/runtime/plugin.js +10 -7
  170. package/dist/esm-node/cli/index.js +6 -2
  171. package/dist/esm-node/common.js +8 -3
  172. package/dist/esm-node/config.js +0 -1
  173. package/dist/esm-node/core/appConfig.js +6 -2
  174. package/dist/esm-node/core/compatible.js +17 -13
  175. package/dist/esm-node/core/index.js +13 -3
  176. package/dist/esm-node/core/loader/index.js +4 -1
  177. package/dist/esm-node/core/loader/loaderManager.js +6 -2
  178. package/dist/esm-node/core/loader/useLoader.js +12 -9
  179. package/dist/esm-node/core/plugin.js +11 -7
  180. package/dist/esm-node/core/types.js +0 -1
  181. package/dist/esm-node/document/Body.js +4 -1
  182. package/dist/esm-node/document/Comment.js +4 -1
  183. package/dist/esm-node/document/DocumentContext.js +4 -1
  184. package/dist/esm-node/document/DocumentStructureContext.js +4 -1
  185. package/dist/esm-node/document/Head.js +6 -2
  186. package/dist/esm-node/document/Html.js +7 -5
  187. package/dist/esm-node/document/Links.js +4 -1
  188. package/dist/esm-node/document/Root.js +6 -2
  189. package/dist/esm-node/document/Script.js +4 -1
  190. package/dist/esm-node/document/Scripts.js +4 -1
  191. package/dist/esm-node/document/Style.js +4 -1
  192. package/dist/esm-node/document/cli/index.js +12 -9
  193. package/dist/esm-node/document/constants.js +42 -20
  194. package/dist/esm-node/exports/head.js +4 -1
  195. package/dist/esm-node/exports/loadable.js +4 -1
  196. package/dist/esm-node/exports/server.js +4 -1
  197. package/dist/esm-node/exports/styled.js +4 -1
  198. package/dist/esm-node/index.js +13 -2
  199. package/dist/esm-node/router/cli/index.js +7 -4
  200. package/dist/esm-node/router/index.js +6 -2
  201. package/dist/esm-node/router/runtime/DefaultNotFound.js +4 -1
  202. package/dist/esm-node/router/runtime/DeferredDataScripts.js +4 -1
  203. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +8 -7
  204. package/dist/esm-node/router/runtime/PrefetchLink.js +11 -11
  205. package/dist/esm-node/router/runtime/fetch.js +3 -1
  206. package/dist/esm-node/router/runtime/fetch.node.js +3 -1
  207. package/dist/esm-node/router/runtime/fetch.worker.js +3 -1
  208. package/dist/esm-node/router/runtime/hooks.js +3 -1
  209. package/dist/esm-node/router/runtime/index.js +72 -8
  210. package/dist/esm-node/router/runtime/plugin.js +14 -10
  211. package/dist/esm-node/router/runtime/plugin.node.js +14 -10
  212. package/dist/esm-node/router/runtime/server.js +1 -1
  213. package/dist/esm-node/router/runtime/types.js +0 -1
  214. package/dist/esm-node/router/runtime/utils.js +22 -13
  215. package/dist/esm-node/router/runtime/withRouter.js +5 -2
  216. package/dist/esm-node/runtimeContext.js +6 -2
  217. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +108 -99
  218. package/dist/esm-node/ssr/cli/index.js +15 -13
  219. package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +92 -83
  220. package/dist/esm-node/ssr/index.js +7 -3
  221. package/dist/esm-node/ssr/index.node.js +7 -4
  222. package/dist/esm-node/ssr/prefetch.js +7 -4
  223. package/dist/esm-node/ssr/react/index.js +6 -2
  224. package/dist/esm-node/ssr/react/nossr/index.js +4 -1
  225. package/dist/esm-node/ssr/react/prerender/index.js +4 -1
  226. package/dist/esm-node/ssr/react/prerender/type.js +0 -1
  227. package/dist/esm-node/ssr/react/prerender/util.js +14 -9
  228. package/dist/esm-node/ssr/react/withCallback/index.js +4 -1
  229. package/dist/esm-node/ssr/serverRender/helmet.js +4 -1
  230. package/dist/esm-node/ssr/serverRender/index.js +4 -1
  231. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -2
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +6 -2
  233. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -8
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +6 -3
  235. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +9 -7
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +8 -7
  237. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +4 -1
  238. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +12 -5
  239. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +5 -3
  240. package/dist/esm-node/ssr/serverRender/renderToString/index.js +6 -3
  241. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +33 -19
  242. package/dist/esm-node/ssr/serverRender/renderToString/render.js +4 -1
  243. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +4 -1
  244. package/dist/esm-node/ssr/serverRender/renderToString/type.js +4 -1
  245. package/dist/esm-node/ssr/serverRender/tracker.js +8 -3
  246. package/dist/esm-node/ssr/serverRender/types.js +3 -1
  247. package/dist/esm-node/ssr/serverRender/utils.js +12 -5
  248. package/dist/esm-node/ssr/utils.js +10 -4
  249. package/dist/esm-node/state/cli/index.js +6 -2
  250. package/dist/esm-node/state/index.js +6 -2
  251. package/dist/esm-node/state/plugins.js +10 -4
  252. package/dist/esm-node/state/runtime/index.js +4 -1
  253. package/dist/esm-node/state/runtime/plugin.js +4 -1
  254. package/dist/types/router/runtime/PrefetchLink.d.ts +1 -1
  255. package/dist/types/router/runtime/hooks.d.ts +1 -1
  256. package/dist/types/router/runtime/index.d.ts +3 -3
  257. package/dist/types/router/runtime/server.d.ts +1 -1
  258. package/dist/types/router/runtime/types.d.ts +2 -2
  259. package/dist/types/router/runtime/utils.d.ts +1 -1
  260. package/dist/types/router/runtime/withRouter.d.ts +1 -1
  261. package/dist/types/runtimeContext.d.ts +1 -1
  262. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +1 -0
  263. package/package.json +10 -11
  264. package/dist/cjs/state/types.js +0 -4
  265. package/dist/esm/state/types.js +0 -1
  266. package/dist/esm-node/state/types.js +0 -1
  267. package/dist/types/state/types.d.ts +0 -16
@@ -3,17 +3,17 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { useContext, useMemo } from "react";
6
- import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements, useMatches, useLocation } from "@modern-js/utils/runtime/router";
6
+ import { createBrowserRouter, createHashRouter, RouterProvider, createRoutesFromElements, useMatches, useLocation } from "@modern-js/runtime-utils/router";
7
7
  import hoistNonReactStatics from "hoist-non-react-statics";
8
- import { parsedJSONFromElement } from "@modern-js/utils/runtime-browser";
8
+ import { parsedJSONFromElement } from "@modern-js/runtime-utils/browser";
9
9
  import { RuntimeReactContext } from "../../core";
10
10
  import { modifyRoutes as modifyRoutesHook } from "./hooks";
11
11
  import { deserializeErrors, renderRoutes, urlJoin } from "./utils";
12
- export var finalRouteConfig = {
12
+ var finalRouteConfig = {
13
13
  routes: []
14
14
  };
15
- export var beforeCreateRouter = true;
16
- export function modifyRoutes(modifyFunction) {
15
+ var beforeCreateRouter = true;
16
+ function modifyRoutes(modifyFunction) {
17
17
  if (beforeCreateRouter) {
18
18
  var originRoutes = finalRouteConfig.routes;
19
19
  var newRoutes = modifyFunction(originRoutes);
@@ -22,7 +22,7 @@ export function modifyRoutes(modifyFunction) {
22
22
  console.error("It is not allowed to modify routes config after create router.");
23
23
  }
24
24
  }
25
- export var routerPlugin = function(param) {
25
+ var routerPlugin = function(param) {
26
26
  var _param_serverBase = param.serverBase, serverBase = _param_serverBase === void 0 ? [] : _param_serverBase, _param_supportHtml5History = param.supportHtml5History, supportHtml5History = _param_supportHtml5History === void 0 ? true : _param_supportHtml5History, _param_basename = param.basename, basename = _param_basename === void 0 ? "" : _param_basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
27
27
  var select = function(pathname) {
28
28
  return serverBase.find(function(baseUrl) {
@@ -42,8 +42,8 @@ export var routerPlugin = function(param) {
42
42
  init: function init(param2, next) {
43
43
  var context = param2.context;
44
44
  context.router = {
45
- useMatches: useMatches,
46
- useLocation: useLocation
45
+ useMatches,
46
+ useLocation
47
47
  };
48
48
  Object.defineProperty(context, "routes", {
49
49
  get: function get() {
@@ -51,15 +51,14 @@ export var routerPlugin = function(param) {
51
51
  }
52
52
  });
53
53
  return next({
54
- context: context
54
+ context
55
55
  });
56
56
  },
57
57
  hoc: function(param2, next) {
58
58
  var App = param2.App;
59
- var _routesConfig;
60
59
  if (!finalRouteConfig && !createRoutes) {
61
60
  return next({
62
- App: App
61
+ App
63
62
  });
64
63
  }
65
64
  var getRouteApp = function() {
@@ -71,24 +70,23 @@ export var routerPlugin = function(param) {
71
70
  var runtimeContext = useContext(RuntimeReactContext);
72
71
  var getBlockNavState = runtimeContext.unstable_getBlockNavState;
73
72
  return useMemo(function() {
74
- var _hydrationData;
75
- if ((_hydrationData = hydrationData) === null || _hydrationData === void 0 ? void 0 : _hydrationData.errors) {
73
+ if (hydrationData === null || hydrationData === void 0 ? void 0 : hydrationData.errors) {
76
74
  hydrationData = _object_spread_props(_object_spread({}, hydrationData), {
77
75
  errors: deserializeErrors(hydrationData.errors)
78
76
  });
79
77
  }
80
78
  routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
81
79
  routesConfig: finalRouteConfig,
82
- props: props
80
+ props
83
81
  }));
84
82
  var runner = api.useHookRunners();
85
83
  routes = runner.modifyRoutes(routes);
86
84
  var router = supportHtml5History ? createBrowserRouter(routes, {
87
85
  basename: _basename,
88
- hydrationData: hydrationData
86
+ hydrationData
89
87
  }) : createHashRouter(routes, {
90
88
  basename: _basename,
91
- hydrationData: hydrationData
89
+ hydrationData
92
90
  });
93
91
  var originSubscribe = router.subscribe;
94
92
  router.subscribe = function(listener) {
@@ -124,7 +122,7 @@ export var routerPlugin = function(param) {
124
122
  var router = useCreateRouter(props);
125
123
  return /* @__PURE__ */ _jsx(App, _object_spread_props(_object_spread({}, props), {
126
124
  children: /* @__PURE__ */ _jsx(RouterProvider, {
127
- router: router
125
+ router
128
126
  })
129
127
  }));
130
128
  };
@@ -133,7 +131,7 @@ export var routerPlugin = function(param) {
133
131
  if (App) {
134
132
  RouteApp = hoistNonReactStatics(RouteApp, App);
135
133
  }
136
- if ((_routesConfig = routesConfig) === null || _routesConfig === void 0 ? void 0 : _routesConfig.globalApp) {
134
+ if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
137
135
  return next({
138
136
  App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
139
137
  });
@@ -147,8 +145,8 @@ export var routerPlugin = function(param) {
147
145
  var remixRouter = context.remixRouter;
148
146
  if (!remixRouter) {
149
147
  return next({
150
- context: context,
151
- pickedContext: pickedContext
148
+ context,
149
+ pickedContext
152
150
  });
153
151
  }
154
152
  var router = {
@@ -158,9 +156,9 @@ export var routerPlugin = function(param) {
158
156
  }
159
157
  };
160
158
  return next({
161
- context: context,
159
+ context,
162
160
  pickedContext: _object_spread_props(_object_spread({}, pickedContext), {
163
- router: router
161
+ router
164
162
  })
165
163
  });
166
164
  }
@@ -168,3 +166,9 @@ export var routerPlugin = function(param) {
168
166
  }
169
167
  };
170
168
  };
169
+ export {
170
+ beforeCreateRouter,
171
+ finalRouteConfig,
172
+ modifyRoutes,
173
+ routerPlugin
174
+ };
@@ -6,12 +6,12 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
6
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  import { useContext } from "react";
9
- import { createStaticHandler } from "@modern-js/utils/runtime/remix-router";
10
- import { createStaticRouter, StaticRouterProvider } from "@modern-js/utils/runtime-node/router";
9
+ import { createStaticHandler } from "@modern-js/runtime-utils/remix-router";
10
+ import { createStaticRouter, StaticRouterProvider } from "@modern-js/runtime-utils/node/router";
11
11
  import hoistNonReactStatics from "hoist-non-react-statics";
12
- import { createRoutesFromElements } from "@modern-js/utils/runtime/router";
13
- import { createRequestContext, reporterCtx } from "@modern-js/utils/runtime-node";
14
- import { time } from "@modern-js/utils/universal/time";
12
+ import { createRoutesFromElements } from "@modern-js/runtime-utils/router";
13
+ import { createRequestContext, reporterCtx } from "@modern-js/runtime-utils/node";
14
+ import { time } from "@modern-js/runtime-utils/time";
15
15
  import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
16
16
  import { RuntimeReactContext } from "../../core";
17
17
  import { renderRoutes, urlJoin } from "./utils";
@@ -29,7 +29,7 @@ function createFetchRequest(req) {
29
29
  };
30
30
  return new Request(url.href, init);
31
31
  }
32
- export function createFetchHeaders(requestHeaders) {
32
+ function createFetchHeaders(requestHeaders) {
33
33
  var headers = new Headers();
34
34
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
35
35
  try {
@@ -78,7 +78,7 @@ export function createFetchHeaders(requestHeaders) {
78
78
  }
79
79
  return headers;
80
80
  }
81
- export var routerPlugin = function(param) {
81
+ var routerPlugin = function(param) {
82
82
  var _param_basename = param.basename, basename = _param_basename === void 0 ? "" : _param_basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
83
83
  return {
84
84
  name: "@modern-js/plugin-router",
@@ -98,7 +98,7 @@ export var routerPlugin = function(param) {
98
98
  return [
99
99
  2,
100
100
  next({
101
- context: context
101
+ context
102
102
  })
103
103
  ];
104
104
  }
@@ -109,12 +109,12 @@ export var routerPlugin = function(param) {
109
109
  requestContext = createRequestContext();
110
110
  requestContext.set(reporterCtx, reporter);
111
111
  routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
112
- routesConfig: routesConfig,
113
- ssrMode: ssrMode,
112
+ routesConfig,
113
+ ssrMode,
114
114
  props: {
115
- nonce: nonce
115
+ nonce
116
116
  },
117
- reporter: reporter
117
+ reporter
118
118
  }));
119
119
  runner = api.useHookRunners();
120
120
  routes = runner.modifyRoutes(routes);
@@ -126,7 +126,7 @@ export var routerPlugin = function(param) {
126
126
  return [
127
127
  4,
128
128
  query(remixRequest, {
129
- requestContext: requestContext
129
+ requestContext
130
130
  })
131
131
  ];
132
132
  case 1:
@@ -148,7 +148,7 @@ export var routerPlugin = function(param) {
148
148
  return [
149
149
  2,
150
150
  next({
151
- context: context
151
+ context
152
152
  })
153
153
  ];
154
154
  }
@@ -157,10 +157,9 @@ export var routerPlugin = function(param) {
157
157
  },
158
158
  hoc: function(param2, next) {
159
159
  var App = param2.App;
160
- var _routesConfig;
161
160
  if (!routesConfig) {
162
161
  return next({
163
- App: App
162
+ App
164
163
  });
165
164
  }
166
165
  var getRouteApp = function() {
@@ -176,7 +175,7 @@ export var routerPlugin = function(param) {
176
175
  };
177
176
  };
178
177
  var RouteApp = getRouteApp();
179
- if ((_routesConfig = routesConfig) === null || _routesConfig === void 0 ? void 0 : _routesConfig.globalApp) {
178
+ if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
180
179
  return next({
181
180
  App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
182
181
  });
@@ -190,8 +189,8 @@ export var routerPlugin = function(param) {
190
189
  var remixRouter = context.remixRouter;
191
190
  if (!remixRouter) {
192
191
  return next({
193
- context: context,
194
- pickedContext: pickedContext
192
+ context,
193
+ pickedContext
195
194
  });
196
195
  }
197
196
  var router = {
@@ -201,9 +200,9 @@ export var routerPlugin = function(param) {
201
200
  }
202
201
  };
203
202
  return next({
204
- context: context,
203
+ context,
205
204
  pickedContext: _object_spread_props(_object_spread({}, pickedContext), {
206
- router: router
205
+ router
207
206
  })
208
207
  });
209
208
  }
@@ -211,5 +210,10 @@ export var routerPlugin = function(param) {
211
210
  }
212
211
  };
213
212
  };
214
- export var modifyRoutes = function() {
213
+ var modifyRoutes = function() {
214
+ };
215
+ export {
216
+ createFetchHeaders,
217
+ modifyRoutes,
218
+ routerPlugin
215
219
  };
@@ -1 +1 @@
1
- export * from "@modern-js/utils/runtime-node/router";
1
+ export * from "@modern-js/runtime-utils/node/router";
@@ -1 +0,0 @@
1
- export {};
@@ -4,12 +4,12 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
5
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- import { Route, isRouteErrorResponse } from "@modern-js/utils/runtime/router";
8
- import { ErrorResponse } from "@modern-js/utils/runtime/remix-router";
9
- import { renderNestedRoute } from "@modern-js/utils/runtime/nested-routes";
7
+ import { Route, isRouteErrorResponse } from "@modern-js/runtime-utils/router";
8
+ import { ErrorResponse } from "@modern-js/runtime-utils/remix-router";
9
+ import { renderNestedRoute } from "@modern-js/runtime-utils/browser";
10
10
  import { DefaultNotFound } from "./DefaultNotFound";
11
11
  import DeferredDataScripts from "./DeferredDataScripts";
12
- export function getRouteComponents(routes, param) {
12
+ function getRouteComponents(routes, param) {
13
13
  var globalApp = param.globalApp, ssrMode = param.ssrMode, props = param.props, reporter = param.reporter;
14
14
  var Layout = function(_param) {
15
15
  var Component = _param.Component, props2 = _object_without_properties(_param, [
@@ -20,7 +20,7 @@ export function getRouteComponents(routes, param) {
20
20
  return /* @__PURE__ */ _jsx(Component, _object_spread({}, props2));
21
21
  }
22
22
  return /* @__PURE__ */ _jsx(GlobalLayout, _object_spread({
23
- Component: Component
23
+ Component
24
24
  }, props2));
25
25
  };
26
26
  var routeElements = [];
@@ -31,8 +31,8 @@ export function getRouteComponents(routes, param) {
31
31
  if (route.type === "nested") {
32
32
  var routeElement = renderNestedRoute(route, {
33
33
  DeferredDataComponent: ssrMode === "stream" ? DeferredDataScripts : void 0,
34
- props: props,
35
- reporter: reporter
34
+ props,
35
+ reporter
36
36
  });
37
37
  routeElements.push(routeElement);
38
38
  } else {
@@ -65,7 +65,7 @@ export function getRouteComponents(routes, param) {
65
65
  }, "*"));
66
66
  return routeElements;
67
67
  }
68
- export function renderRoutes(param) {
68
+ function renderRoutes(param) {
69
69
  var routesConfig = param.routesConfig, props = param.props, ssrMode = param.ssrMode, reporter = param.reporter;
70
70
  if (!routesConfig) {
71
71
  return null;
@@ -75,24 +75,24 @@ export function renderRoutes(param) {
75
75
  return null;
76
76
  }
77
77
  var routeElements = getRouteComponents(routes, {
78
- globalApp: globalApp,
79
- ssrMode: ssrMode,
80
- props: props,
81
- reporter: reporter
78
+ globalApp,
79
+ ssrMode,
80
+ props,
81
+ reporter
82
82
  });
83
83
  return routeElements;
84
84
  }
85
- export function getLocation(serverContext) {
86
- var _serverContext, _url_replace, _url;
87
- var _ref = ((_serverContext = serverContext) === null || _serverContext === void 0 ? void 0 : _serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
88
- var cleanUrl = (_url = url) === null || _url === void 0 ? void 0 : (_url_replace = _url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
85
+ function getLocation(serverContext) {
86
+ var _url_replace;
87
+ var _ref = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
88
+ var cleanUrl = url === null || url === void 0 ? void 0 : (_url_replace = url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
89
89
  var index = (cleanUrl || "").indexOf(pathname);
90
90
  if (index === -1) {
91
91
  return pathname;
92
92
  }
93
93
  return cleanUrl.substring(index);
94
94
  }
95
- export var urlJoin = function() {
95
+ var urlJoin = function() {
96
96
  for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
97
97
  parts[_key] = arguments[_key];
98
98
  }
@@ -100,7 +100,7 @@ export var urlJoin = function() {
100
100
  var replace = new RegExp("".concat(separator, "{1,}"), "g");
101
101
  return standardSlash(parts.join(separator).replace(replace, separator));
102
102
  };
103
- export function standardSlash(str) {
103
+ function standardSlash(str) {
104
104
  var addr = str;
105
105
  if (!addr || typeof addr !== "string") {
106
106
  return addr;
@@ -116,7 +116,7 @@ export function standardSlash(str) {
116
116
  }
117
117
  return addr;
118
118
  }
119
- export function serializeErrors(errors) {
119
+ function serializeErrors(errors) {
120
120
  if (!errors) {
121
121
  return null;
122
122
  }
@@ -156,7 +156,7 @@ export function serializeErrors(errors) {
156
156
  }
157
157
  return serialized;
158
158
  }
159
- export function deserializeErrors(errors) {
159
+ function deserializeErrors(errors) {
160
160
  if (!errors) {
161
161
  return null;
162
162
  }
@@ -192,3 +192,12 @@ export function deserializeErrors(errors) {
192
192
  }
193
193
  return serialized;
194
194
  }
195
+ export {
196
+ deserializeErrors,
197
+ getLocation,
198
+ getRouteComponents,
199
+ renderRoutes,
200
+ serializeErrors,
201
+ standardSlash,
202
+ urlJoin
203
+ };
@@ -1,16 +1,19 @@
1
1
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
2
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- import { useLocation, useNavigate, useParams } from "@modern-js/utils/runtime/router";
5
- export var withRouter = function(Component) {
4
+ import { useLocation, useNavigate, useParams } from "@modern-js/runtime-utils/router";
5
+ var withRouter = function(Component) {
6
6
  return function(props) {
7
7
  var location = useLocation();
8
8
  var params = useParams();
9
9
  var navigate = useNavigate();
10
10
  return /* @__PURE__ */ _jsx(Component, _object_spread_props(_object_spread({}, props), {
11
- location: location,
12
- params: params,
13
- navigate: navigate
11
+ location,
12
+ params,
13
+ navigate
14
14
  }));
15
15
  };
16
16
  };
17
+ export {
18
+ withRouter
19
+ };
@@ -1,3 +1,7 @@
1
1
  import { createContext } from "react";
2
- export var RuntimeReactContext = createContext({});
3
- export var ServerRouterContext = createContext({});
2
+ var RuntimeReactContext = createContext({});
3
+ var ServerRouterContext = createContext({});
4
+ export {
5
+ RuntimeReactContext,
6
+ ServerRouterContext
7
+ };
@@ -1,109 +1,118 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function __require() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
1
5
  import crypto from "crypto";
2
- import { Buffer } from "buffer";
6
+ import { Buffer as Buffer2 } from "buffer";
3
7
  import * as t from "@babel/types";
4
8
  import { get } from "@modern-js/utils/lodash";
5
- var RUNTIME_PACKAGE_NAMES = [
6
- "@modern-js/runtime"
7
- ];
8
- var FUNCTION_USE_LOADER_NAME = "useLoader";
9
- function getHash(filepath) {
10
- var cwd = process.cwd();
11
- var point = filepath.indexOf(cwd);
12
- var relativePath = filepath;
13
- if (point !== -1) {
14
- relativePath = filepath.substring(point + cwd.length);
15
- }
16
- var fileBuf = Buffer.from(relativePath);
17
- var fsHash = crypto.createHash("md5");
18
- var md5 = fsHash.update(fileBuf).digest("hex");
19
- return md5;
20
- }
21
- function getUseLoaderPath(path, calleeName) {
22
- var node = path.node;
23
- if (!calleeName || node.callee.name !== calleeName) {
24
- return false;
25
- }
26
- var arg1 = get(node, "arguments.0");
27
- if (t.isFunction(arg1) || t.isFunctionExpression(arg1) || t.isArrowFunctionExpression(arg1) || t.isIdentifier(arg1) || t.isCallExpression(arg1) || t.isMemberExpression(arg1)) {
28
- var loaderPath = path.get("arguments.0");
29
- if (isDuplicateInnerLoader(loaderPath)) {
30
- return false;
31
- } else {
32
- return loaderPath;
33
- }
34
- }
35
- console.warn("useLoader 中 loaderId 生成失败,请检查 useLoader");
36
- throw path.buildCodeFrameError("\n please check the usage of ".concat(path.node.name, "\n "));
37
- }
38
- function isDuplicateInnerLoader(path) {
39
- var node = path.node;
40
- if (t.isFunctionExpression(node.callee)) {
41
- if (t.isBlockStatement(node.callee.body)) {
42
- if (get(node.callee.body, "body.0.declarations.0.id.name") === "innerLoader" && get(node.callee.body, "body.2.argument.name") === "innerLoader") {
43
- return true;
9
+ var require_babel_plugin_ssr_loader_id = __commonJS({
10
+ "src/ssr/cli/babel-plugin-ssr-loader-id.ts"(exports, module) {
11
+ var RUNTIME_PACKAGE_NAMES = [
12
+ "@modern-js/runtime"
13
+ ];
14
+ var FUNCTION_USE_LOADER_NAME = "useLoader";
15
+ function getHash(filepath) {
16
+ var cwd = process.cwd();
17
+ var point = filepath.indexOf(cwd);
18
+ var relativePath = filepath;
19
+ if (point !== -1) {
20
+ relativePath = filepath.substring(point + cwd.length);
44
21
  }
22
+ var fileBuf = Buffer2.from(relativePath);
23
+ var fsHash = crypto.createHash("md5");
24
+ var md5 = fsHash.update(fileBuf).digest("hex");
25
+ return md5;
45
26
  }
46
- }
47
- return false;
48
- }
49
- function getSelfRunLoaderExpression(loaderExpression, id) {
50
- return t.callExpression(t.functionExpression(null, [], t.blockStatement([
51
- t.variableDeclaration("var", [
52
- t.variableDeclarator(t.identifier("innerLoader"), loaderExpression)
53
- ]),
54
- t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.identifier("innerLoader"), t.identifier("id")), t.stringLiteral(id))),
55
- t.returnStatement(t.identifier("innerLoader"))
56
- ])), []);
57
- }
58
- module.exports = function() {
59
- var genId = function genId2() {
60
- return "".concat(hash, "_").concat(index++);
61
- };
62
- var useLoader = null;
63
- var hash = "";
64
- var index = 0;
65
- return {
66
- name: "babel-plugin-ssr-loader-id",
67
- pre: function pre() {
68
- index = 0;
69
- useLoader = null;
70
- hash = "";
71
- },
72
- visitor: {
73
- ImportDeclaration: function ImportDeclaration(path, state) {
74
- if (useLoader) {
75
- return false;
76
- }
77
- if (!RUNTIME_PACKAGE_NAMES.includes(get(path, "node.source.value"))) {
27
+ function getUseLoaderPath(path, calleeName) {
28
+ var node = path.node;
29
+ if (!calleeName || node.callee.name !== calleeName) {
30
+ return false;
31
+ }
32
+ var arg1 = get(node, "arguments.0");
33
+ if (t.isFunction(arg1) || t.isFunctionExpression(arg1) || t.isArrowFunctionExpression(arg1) || t.isIdentifier(arg1) || t.isCallExpression(arg1) || t.isMemberExpression(arg1)) {
34
+ var loaderPath = path.get("arguments.0");
35
+ if (isDuplicateInnerLoader(loaderPath)) {
78
36
  return false;
37
+ } else {
38
+ return loaderPath;
79
39
  }
80
- hash = getHash(state.file.opts.filename);
81
- get(path, "node.specifiers", []).forEach(function(param) {
82
- var imported = param.imported, local = param.local;
83
- if (!imported) {
84
- throw path.buildCodeFrameError("please `import { useLoader } from ".concat(RUNTIME_PACKAGE_NAMES[0], "`"));
85
- }
86
- if (!useLoader && imported.name === FUNCTION_USE_LOADER_NAME) {
87
- useLoader = local.name;
88
- }
89
- });
90
- return false;
91
- },
92
- CallExpression: function CallExpression(path) {
93
- var loaderPath = getUseLoaderPath(path, useLoader);
94
- if (loaderPath) {
95
- if (!Array.isArray(loaderPath)) {
96
- loaderPath = [
97
- loaderPath
98
- ];
40
+ }
41
+ console.warn("useLoader 中 loaderId 生成失败,请检查 useLoader");
42
+ throw path.buildCodeFrameError("\n please check the usage of ".concat(path.node.name, "\n "));
43
+ }
44
+ function isDuplicateInnerLoader(path) {
45
+ var node = path.node;
46
+ if (t.isFunctionExpression(node.callee)) {
47
+ if (t.isBlockStatement(node.callee.body)) {
48
+ if (get(node.callee.body, "body.0.declarations.0.id.name") === "innerLoader" && get(node.callee.body, "body.2.argument.name") === "innerLoader") {
49
+ return true;
99
50
  }
100
- loaderPath.forEach(function(p) {
101
- p.replaceWith(getSelfRunLoaderExpression(p.node, genId()));
102
- });
103
- return false;
104
51
  }
105
- return false;
106
52
  }
53
+ return false;
107
54
  }
108
- };
109
- };
55
+ function getSelfRunLoaderExpression(loaderExpression, id) {
56
+ return t.callExpression(t.functionExpression(null, [], t.blockStatement([
57
+ t.variableDeclaration("var", [
58
+ t.variableDeclarator(t.identifier("innerLoader"), loaderExpression)
59
+ ]),
60
+ t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.identifier("innerLoader"), t.identifier("id")), t.stringLiteral(id))),
61
+ t.returnStatement(t.identifier("innerLoader"))
62
+ ])), []);
63
+ }
64
+ module.exports = function() {
65
+ var genId = function genId2() {
66
+ return "".concat(hash, "_").concat(index++);
67
+ };
68
+ var useLoader = null;
69
+ var hash = "";
70
+ var index = 0;
71
+ return {
72
+ name: "babel-plugin-ssr-loader-id",
73
+ pre: function pre() {
74
+ index = 0;
75
+ useLoader = null;
76
+ hash = "";
77
+ },
78
+ visitor: {
79
+ ImportDeclaration: function ImportDeclaration(path, state) {
80
+ if (useLoader) {
81
+ return false;
82
+ }
83
+ if (!RUNTIME_PACKAGE_NAMES.includes(get(path, "node.source.value"))) {
84
+ return false;
85
+ }
86
+ hash = getHash(state.file.opts.filename);
87
+ get(path, "node.specifiers", []).forEach(function(param) {
88
+ var imported = param.imported, local = param.local;
89
+ if (!imported) {
90
+ throw path.buildCodeFrameError("please `import { useLoader } from ".concat(RUNTIME_PACKAGE_NAMES[0], "`"));
91
+ }
92
+ if (!useLoader && imported.name === FUNCTION_USE_LOADER_NAME) {
93
+ useLoader = local.name;
94
+ }
95
+ });
96
+ return false;
97
+ },
98
+ CallExpression: function CallExpression(path) {
99
+ var loaderPath = getUseLoaderPath(path, useLoader);
100
+ if (loaderPath) {
101
+ if (!Array.isArray(loaderPath)) {
102
+ loaderPath = [
103
+ loaderPath
104
+ ];
105
+ }
106
+ loaderPath.forEach(function(p) {
107
+ p.replaceWith(getSelfRunLoaderExpression(p.node, genId()));
108
+ });
109
+ return false;
110
+ }
111
+ return false;
112
+ }
113
+ }
114
+ };
115
+ };
116
+ }
117
+ });
118
+ export default require_babel_plugin_ssr_loader_id();