@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
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { renderToStaticMarkup } from "react-dom/server";
3
- import { run } from "@modern-js/utils/runtime-node";
3
+ import { run } from "@modern-js/runtime-utils/node";
4
4
  import { ChunkExtractor } from "@loadable/server";
5
5
  const prefetch = async (App, context, config) => run(context.ssrContext.request.headers, async () => {
6
- var _context_store, _context;
6
+ var _context_store;
7
7
  const { ssrContext } = context;
8
8
  const { loadableStats } = ssrContext;
9
9
  if (!config.disablePrerender) {
@@ -43,7 +43,10 @@ const prefetch = async (App, context, config) => run(context.ssrContext.request.
43
43
  initialData: context.initialData,
44
44
  i18nData: context.__i18nData__,
45
45
  // todo: move to plugin state
46
- storeState: (_context = context) === null || _context === void 0 ? void 0 : (_context_store = _context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
46
+ storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
47
47
  };
48
48
  });
49
- export default prefetch;
49
+ var prefetch_default = prefetch;
50
+ export {
51
+ prefetch_default as default
52
+ };
@@ -1,2 +1,6 @@
1
- export { PreRender } from "./prerender";
2
- export { NoSSR } from "./nossr";
1
+ import { PreRender } from "./prerender";
2
+ import { NoSSR } from "./nossr";
3
+ export {
4
+ NoSSR,
5
+ PreRender
6
+ };
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  let csr = false;
3
- export const NoSSR = (props) => {
3
+ const NoSSR = (props) => {
4
4
  const [isMounted, setMounted] = useState(csr);
5
5
  useEffect(() => {
6
6
  csr = true;
@@ -9,3 +9,6 @@ export const NoSSR = (props) => {
9
9
  const { children, fallback = null } = props;
10
10
  return React.createElement(React.Fragment, null, isMounted ? children : fallback);
11
11
  };
12
+ export {
13
+ NoSSR
14
+ };
@@ -83,4 +83,7 @@ function factory(Component) {
83
83
  }
84
84
  const NullComponent = () => null;
85
85
  const SprSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);
86
- export const PreRender = factory(SprSideEffects);
86
+ const PreRender = factory(SprSideEffects);
87
+ export {
88
+ PreRender
89
+ };
@@ -1 +0,0 @@
1
- export {};
@@ -2,7 +2,7 @@ const REQUEST_META = [
2
2
  "header",
3
3
  "query"
4
4
  ];
5
- export const getInnermostProperty = function getInnermostProperty2(propsList, propName) {
5
+ const getInnermostProperty = function getInnermostProperty2(propsList, propName) {
6
6
  for (let i = propsList.length - 1; i >= 0; i--) {
7
7
  const props = propsList[i];
8
8
  if (props.hasOwnProperty(propName)) {
@@ -11,7 +11,7 @@ export const getInnermostProperty = function getInnermostProperty2(propsList, pr
11
11
  }
12
12
  return null;
13
13
  };
14
- export const getOutermostProperty = function getOutermostProperty2(propsList, propName) {
14
+ const getOutermostProperty = function getOutermostProperty2(propsList, propName) {
15
15
  for (const props of propsList) {
16
16
  if (props.hasOwnProperty(propName)) {
17
17
  return props[propName];
@@ -19,7 +19,7 @@ export const getOutermostProperty = function getOutermostProperty2(propsList, pr
19
19
  }
20
20
  return null;
21
21
  };
22
- export const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, propName) {
22
+ const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, propName) {
23
23
  const initResult = REQUEST_META.reduce((result, next) => {
24
24
  const key = next;
25
25
  result[key] = [];
@@ -27,9 +27,8 @@ export const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, pr
27
27
  }, {});
28
28
  const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
29
29
  REQUEST_META.forEach((key) => {
30
- var _prop;
31
30
  const prop = next[propName];
32
- if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
31
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
33
32
  result[key] = unique(result[key].concat(prop[key]));
34
33
  }
35
34
  });
@@ -44,7 +43,7 @@ export const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, pr
44
43
  return result;
45
44
  }, res);
46
45
  };
47
- export const aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList, propName) {
46
+ const aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList, propName) {
48
47
  const initResult = REQUEST_META.reduce((result, next) => {
49
48
  const key = next;
50
49
  result[key] = {};
@@ -52,9 +51,8 @@ export const aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsLi
52
51
  }, {});
53
52
  const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
54
53
  REQUEST_META.forEach((key) => {
55
- var _prop;
56
54
  const prop = next[propName];
57
- if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
55
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
58
56
  result[key] = Object.assign(result[key], prop[key]);
59
57
  }
60
58
  });
@@ -83,6 +81,13 @@ function usefulArray(target) {
83
81
  }
84
82
  return Array.isArray(target) && target.length > 0;
85
83
  }
86
- export function exist(target) {
84
+ function exist(target) {
87
85
  return target != null;
88
86
  }
87
+ export {
88
+ aggKeysFromPropsList,
89
+ aggMatchesFromPropsList,
90
+ exist,
91
+ getInnermostProperty,
92
+ getOutermostProperty
93
+ };
@@ -1,5 +1,5 @@
1
1
  import { useRef, useLayoutEffect } from "react";
2
- export const WithCallback = ({ callback, children }) => {
2
+ const WithCallback = ({ callback, children }) => {
3
3
  const once = useRef(false);
4
4
  useLayoutEffect(() => {
5
5
  if (once.current) {
@@ -12,3 +12,6 @@ export const WithCallback = ({ callback, children }) => {
12
12
  ]);
13
13
  return children;
14
14
  };
15
+ export {
16
+ WithCallback
17
+ };
@@ -4,7 +4,7 @@ const RE_BODY_ATTR = /<body[^>]*>/;
4
4
  const RE_LAST_IN_HEAD = /<\/head>/;
5
5
  const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
6
6
  const TEST_TITLE_CONTENT = RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
7
- export default function helmet(content, helmetData) {
7
+ function helmet(content, helmetData) {
8
8
  let result = content;
9
9
  const bodyAttributes = helmetData.bodyAttributes.toString();
10
10
  if (bodyAttributes) {
@@ -39,3 +39,6 @@ export default function helmet(content, helmetData) {
39
39
  }, "");
40
40
  return result.replace(RE_LAST_IN_HEAD, `${helmetStr}</head>`);
41
41
  }
42
+ export {
43
+ helmet as default
44
+ };
@@ -1,6 +1,6 @@
1
1
  import { isReact18 } from "../utils";
2
2
  import { CSS_CHUNKS_PLACEHOLDER } from "./utils";
3
- export default async function serverRender(options) {
3
+ async function serverRender(options) {
4
4
  var _options_context_ssrContext;
5
5
  if ((_options_context_ssrContext = options.context.ssrContext) === null || _options_context_ssrContext === void 0 ? void 0 : _options_context_ssrContext.template) {
6
6
  var _options_context_ssrContext1;
@@ -14,3 +14,6 @@ export default async function serverRender(options) {
14
14
  return html;
15
15
  }
16
16
  }
17
+ export {
18
+ serverRender as default
19
+ };
@@ -1,7 +1,7 @@
1
- import { serializeJson } from "@modern-js/utils/runtime-node";
1
+ import { serializeJson } from "@modern-js/runtime-utils/node";
2
2
  import { attributesToString } from "../utils";
3
3
  import { buildTemplate } from "./buildTemplate.share";
4
- export function buildShellAfterTemplate(afterAppTemplate, options) {
4
+ function buildShellAfterTemplate(afterAppTemplate, options) {
5
5
  const callbacks = [
6
6
  injectSSRDataScript
7
7
  ];
@@ -44,3 +44,6 @@ export function buildShellAfterTemplate(afterAppTemplate, options) {
44
44
  }
45
45
  }
46
46
  }
47
+ export {
48
+ buildShellAfterTemplate
49
+ };
@@ -1,4 +1,8 @@
1
- export const HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
2
- export function buildTemplate(template, callbacks) {
1
+ const HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
2
+ function buildTemplate(template, callbacks) {
3
3
  return callbacks.reduce((template2, buildTemplateCb) => buildTemplateCb(template2), template);
4
4
  }
5
+ export {
6
+ HEAD_REG_EXP,
7
+ buildTemplate
8
+ };
@@ -1,5 +1,5 @@
1
1
  import ReactHelmet from "react-helmet";
2
- import { matchRoutes } from "@modern-js/utils/runtime/router";
2
+ import { matchRoutes } from "@modern-js/runtime-utils/router";
3
3
  import helmetReplace from "../helmet";
4
4
  import { CSS_CHUNKS_PLACEHOLDER } from "../utils";
5
5
  import { HEAD_REG_EXP, buildTemplate } from "./buildTemplate.share";
@@ -20,7 +20,6 @@ function getHeadTemplate(beforeEntryTemplate, context) {
20
20
  function injectCss(headTemplate2) {
21
21
  return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
22
22
  function getCssChunks() {
23
- var _matches;
24
23
  const { routeManifest, routerContext, routes } = context;
25
24
  if (!routeManifest || !routerContext || !routes) {
26
25
  return "";
@@ -28,7 +27,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
28
27
  const { routeAssets } = routeManifest;
29
28
  const cssChunks = [];
30
29
  const matches = matchRoutes(routes, routerContext.location, routerContext.basename);
31
- (_matches = matches) === null || _matches === void 0 ? void 0 : _matches.forEach((match, index) => {
30
+ matches === null || matches === void 0 ? void 0 : matches.forEach((match, index) => {
32
31
  if (!index) {
33
32
  return;
34
33
  }
@@ -37,10 +36,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
37
36
  const routeManifest2 = routeAssets[routeId];
38
37
  if (routeManifest2) {
39
38
  const { referenceCssAssets = [] } = routeManifest2;
40
- const _cssChunks = referenceCssAssets.filter((asset) => {
41
- var _asset;
42
- return ((_asset = asset) === null || _asset === void 0 ? void 0 : _asset.endsWith(".css")) && !headTemplate2.includes(asset);
43
- });
39
+ const _cssChunks = referenceCssAssets.filter((asset) => (asset === null || asset === void 0 ? void 0 : asset.endsWith(".css")) && !headTemplate2.includes(asset));
44
40
  cssChunks.push(..._cssChunks);
45
41
  }
46
42
  }
@@ -52,7 +48,10 @@ function getHeadTemplate(beforeEntryTemplate, context) {
52
48
  }
53
49
  }
54
50
  }
55
- export function buildShellBeforeTemplate(beforeAppTemplate, context) {
51
+ function buildShellBeforeTemplate(beforeAppTemplate, context) {
56
52
  const headTemplate = getHeadTemplate(beforeAppTemplate, context);
57
53
  return beforeAppTemplate.replace(HEAD_REG_EXP, headTemplate);
58
54
  }
55
+ export {
56
+ buildShellBeforeTemplate
57
+ };
@@ -1,10 +1,10 @@
1
1
  import { createElement } from "react";
2
- import { run } from "@modern-js/utils/runtime-node";
3
- import { time } from "@modern-js/utils/universal/time";
2
+ import { run } from "@modern-js/runtime-utils/node";
3
+ import { time } from "@modern-js/runtime-utils/time";
4
4
  import { PreRender } from "../../react/prerender";
5
5
  import { SSRErrors, SSRTimings } from "../tracker";
6
6
  import renderToPipe from "./renderToPipe";
7
- export const render = ({ App, context }) => {
7
+ const render = ({ App, context }) => {
8
8
  const { ssrContext } = context;
9
9
  if (!ssrContext) {
10
10
  throw new Error('The "ssrContext" must not be undefined, but received undefined');
@@ -40,3 +40,6 @@ export const render = ({ App, context }) => {
40
40
  return pipe;
41
41
  });
42
42
  };
43
+ export {
44
+ render
45
+ };
@@ -13,7 +13,6 @@ function renderToPipe(rootElement, context, options) {
13
13
  const chunkVec = [];
14
14
  const forUserPipe = (stream) => {
15
15
  return new Promise((resolve) => {
16
- var _ssrContext;
17
16
  let renderToPipeableStream;
18
17
  try {
19
18
  ({ renderToPipeableStream } = require("react-dom/server"));
@@ -21,11 +20,11 @@ function renderToPipe(rootElement, context, options) {
21
20
  }
22
21
  const { pipe } = renderToPipeableStream(rootElement, {
23
22
  ...options,
24
- nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
23
+ nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
25
24
  onShellReady() {
26
- var _options_onShellReady, _options;
25
+ var _options_onShellReady;
27
26
  const { shellAfter, shellBefore } = getTemplates(context, RenderLevel.SERVER_RENDER);
28
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onShellReady = _options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(_options);
27
+ options === null || options === void 0 ? void 0 : (_options_onShellReady = options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(options);
29
28
  const injectableTransform = new Transform({
30
29
  transform(chunk, _encoding, callback) {
31
30
  try {
@@ -53,15 +52,18 @@ function renderToPipe(rootElement, context, options) {
53
52
  resolve(pipe(injectableTransform).pipe(stream));
54
53
  },
55
54
  onShellError(error) {
56
- var _options_onShellError, _options;
55
+ var _options_onShellError;
57
56
  const { shellAfter, shellBefore } = getTemplates(context, RenderLevel.CLIENT_RENDER);
58
57
  const fallbackHtml = `${shellBefore}${shellAfter}`;
59
58
  resolve(fallbackHtml);
60
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onShellError = _options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(_options, error);
59
+ options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
61
60
  }
62
61
  });
63
62
  });
64
63
  };
65
64
  return forUserPipe;
66
65
  }
67
- export default renderToPipe;
66
+ var renderToPipe_default = renderToPipe;
67
+ export {
68
+ renderToPipe_default as default
69
+ };
@@ -19,13 +19,12 @@ function renderToPipe(rootElement, context, options) {
19
19
  }
20
20
  const { shellAfter, shellBefore } = getTemplates(context, RenderLevel.SERVER_RENDER);
21
21
  try {
22
- var _ssrContext;
23
22
  const readableOriginal = await renderToReadableStream(rootElement, {
24
23
  ...options,
25
- nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
24
+ nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
26
25
  onError(error) {
27
- var _options_onError, _options;
28
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onError = _options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options, error);
26
+ var _options_onError;
27
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
29
28
  }
30
29
  });
31
30
  const reader = readableOriginal.getReader();
@@ -56,8 +55,7 @@ function renderToPipe(rootElement, context, options) {
56
55
  });
57
56
  return injectableStream;
58
57
  } catch (err) {
59
- var _ssrContext1;
60
- (_ssrContext1 = ssrContext) === null || _ssrContext1 === void 0 ? void 0 : _ssrContext1.tracker.trackError(SSRErrors.RENDER_SHELL, err);
58
+ ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.tracker.trackError(SSRErrors.RENDER_SHELL, err);
61
59
  const { shellAfter: shellAfter2, shellBefore: shellBefore2 } = getTemplates(context, RenderLevel.CLIENT_RENDER);
62
60
  const fallbackHtml = `${shellBefore2}${shellAfter2}`;
63
61
  return fallbackHtml;
@@ -75,4 +73,7 @@ function encodeForWebStream(thing) {
75
73
  }
76
74
  return thing;
77
75
  }
78
- export default renderToPipe;
76
+ var renderToPipe_worker_default = renderToPipe;
77
+ export {
78
+ renderToPipe_worker_default as default
79
+ };
@@ -1,7 +1,7 @@
1
1
  import { buildShellAfterTemplate } from "./buildTemplate.after";
2
2
  import { buildShellBeforeTemplate } from "./bulidTemplate.before";
3
3
  const HTML_SEPARATOR = "<!--<?- html ?>-->";
4
- export const getTemplates = (context, renderLevel) => {
4
+ const getTemplates = (context, renderLevel) => {
5
5
  const { ssrContext } = context;
6
6
  const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = ssrContext.template.split(HTML_SEPARATOR) || [];
7
7
  const builtBeforeTemplate = buildShellBeforeTemplate(beforeAppTemplate, context);
@@ -14,3 +14,6 @@ export const getTemplates = (context, renderLevel) => {
14
14
  shellAfter: builtAfterTemplate
15
15
  };
16
16
  };
17
+ export {
18
+ getTemplates
19
+ };
@@ -1,19 +1,26 @@
1
- export function buildHtml(template, callbacks) {
1
+ function buildHtml(template, callbacks) {
2
2
  return callbacks.reduce((tmp, cb) => cb(tmp), template);
3
3
  }
4
- export function createReplaceHtml(html) {
4
+ function createReplaceHtml(html) {
5
5
  const HTML_REG = /<!--<\?-\s*html\s*\?>-->/;
6
6
  return (template) => template.replace(HTML_REG, html);
7
7
  }
8
- export function createReplaceSSRDataScript(data) {
8
+ function createReplaceSSRDataScript(data) {
9
9
  const SSR_DATA_REG = /<!--<\?-\s*SSRDataScript\s*\?>-->/;
10
10
  return (template) => template.replace(SSR_DATA_REG, data);
11
11
  }
12
- export function createReplaceChunkJs(js) {
12
+ function createReplaceChunkJs(js) {
13
13
  const CHUNK_JS_REG = /<!--<\?-\s*chunksMap\.js\s*\?>-->/;
14
14
  return (template) => template.replace(CHUNK_JS_REG, js);
15
15
  }
16
- export function createReplaceChunkCss(css) {
16
+ function createReplaceChunkCss(css) {
17
17
  const CHUNK_CSS_REG = /<!--<\?-\s*chunksMap\.css\s*\?>-->/;
18
18
  return (template) => template.replace(CHUNK_CSS_REG, css);
19
19
  }
20
+ export {
21
+ buildHtml,
22
+ createReplaceChunkCss,
23
+ createReplaceChunkJs,
24
+ createReplaceHtml,
25
+ createReplaceSSRDataScript
26
+ };
@@ -1,8 +1,8 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import React from "react";
3
- import { serializeJson } from "@modern-js/utils/runtime-node";
3
+ import { serializeJson } from "@modern-js/runtime-utils/node";
4
4
  import ReactHelmet from "react-helmet";
5
- import { time } from "@modern-js/utils/universal/time";
5
+ import { time } from "@modern-js/runtime-utils/time";
6
6
  import { serializeErrors } from "../../../router/runtime/utils";
7
7
  import helmetReplace from "../helmet";
8
8
  import { RenderLevel } from "../types";
@@ -155,4 +155,6 @@ class Entry {
155
155
  };
156
156
  }
157
157
  }
158
- export { Entry as default };
158
+ export {
159
+ Entry as default
160
+ };
@@ -1,9 +1,9 @@
1
- import { run } from "@modern-js/utils/runtime-node";
2
- import { time } from "@modern-js/utils/universal/time";
1
+ import { run } from "@modern-js/runtime-utils/node";
2
+ import { time } from "@modern-js/runtime-utils/time";
3
3
  import { PreRender } from "../../react/prerender";
4
4
  import { SSRTimings } from "../tracker";
5
5
  import SSREntry from "./entry";
6
- export const render = ({ App, context, config }) => {
6
+ const render = ({ App, context, config }) => {
7
7
  const ssrContext = context.ssrContext;
8
8
  return run(ssrContext.request.headers, async () => {
9
9
  const entry = new SSREntry({
@@ -23,3 +23,6 @@ export const render = ({ App, context, config }) => {
23
23
  return html;
24
24
  });
25
25
  };
26
+ export {
27
+ render
28
+ };
@@ -2,11 +2,10 @@ import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import { ChunkExtractor } from "@loadable/server";
3
3
  import { attributesToString, getLoadableScripts } from "../utils";
4
4
  const extname = (uri) => {
5
- var _uri;
6
5
  if (typeof uri !== "string" || !uri.includes(".")) {
7
6
  return "";
8
7
  }
9
- return `.${(_uri = uri) === null || _uri === void 0 ? void 0 : _uri.split(".").pop()}` || "";
8
+ return `.${uri === null || uri === void 0 ? void 0 : uri.split(".").pop()}` || "";
10
9
  };
11
10
  class LoadableCollector {
12
11
  collect(comopnent) {
@@ -30,41 +29,56 @@ class LoadableCollector {
30
29
  const { extractor } = this;
31
30
  const chunks = extractor.getChunkAssets(extractor.chunks);
32
31
  chunksMap.js = (chunksMap.js || "") + getLoadableScripts(extractor);
32
+ const attributes = this.generateAttributes();
33
33
  for (const v of chunks) {
34
- const fileType = extname(v.url).slice(1);
35
- const attributes = {};
36
- const { crossorigin, scriptLoading = "defer" } = config;
37
- if (crossorigin) {
38
- attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
39
- }
40
- switch (scriptLoading) {
41
- case "defer":
42
- attributes.defer = true;
43
- break;
44
- case "module":
45
- attributes.type = "module";
46
- break;
47
- default:
34
+ if (!v.url) {
35
+ continue;
48
36
  }
37
+ const fileType = extname(v.url).slice(1);
49
38
  if (fileType === "js") {
50
39
  const jsChunkReg = new RegExp(`<script .*src="${v.url}".*>`);
51
40
  if (!jsChunkReg.test(template)) {
41
+ const { scriptLoading = "defer" } = config;
42
+ switch (scriptLoading) {
43
+ case "defer":
44
+ attributes.defer = true;
45
+ break;
46
+ case "module":
47
+ attributes.type = "module";
48
+ break;
49
+ default:
50
+ }
52
51
  attributes.nonce = nonce;
53
52
  const attrsStr = attributesToString(attributes);
54
53
  chunksMap[fileType] += `<script${attrsStr} src="${v.url}"></script>`;
55
54
  }
56
55
  } else if (fileType === "css") {
57
- const attrsStr = attributesToString(attributes);
58
- chunksMap[fileType] += `<link${attrsStr} href="${v.url}" rel="stylesheet" />`;
56
+ const cssChunkReg = new RegExp(`<link .*href="${v.url}".*>`);
57
+ if (!cssChunkReg.test(template)) {
58
+ const attrsStr = attributesToString(attributes);
59
+ chunksMap[fileType] += `<link${attrsStr} href="${v.url}" rel="stylesheet" />`;
60
+ }
59
61
  }
60
62
  }
61
63
  }
64
+ generateAttributes() {
65
+ const { config } = this.options;
66
+ const { crossorigin } = config;
67
+ const attributes = {};
68
+ if (crossorigin) {
69
+ attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
70
+ }
71
+ return attributes;
72
+ }
62
73
  constructor(options) {
63
74
  _define_property(this, "options", void 0);
64
75
  _define_property(this, "extractor", void 0);
65
76
  this.options = options;
66
77
  }
67
78
  }
68
- export function createLoadableCollector(options) {
79
+ function createLoadableCollector(options) {
69
80
  return new LoadableCollector(options);
70
81
  }
82
+ export {
83
+ createLoadableCollector
84
+ };
@@ -19,6 +19,9 @@ class Render {
19
19
  this.App = App;
20
20
  }
21
21
  }
22
- export function createRender(App) {
22
+ function createRender(App) {
23
23
  return new Render(App);
24
24
  }
25
+ export {
26
+ createRender
27
+ };
@@ -14,6 +14,9 @@ class StyledCollector {
14
14
  this.result = result;
15
15
  }
16
16
  }
17
- export function createStyledCollector(result) {
17
+ function createStyledCollector(result) {
18
18
  return new StyledCollector(result);
19
19
  }
20
+ export {
21
+ createStyledCollector
22
+ };
@@ -1,6 +1,9 @@
1
- export var RenderLevel;
1
+ var RenderLevel;
2
2
  (function(RenderLevel2) {
3
3
  RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
4
4
  RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
5
5
  RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
6
6
  })(RenderLevel || (RenderLevel = {}));
7
+ export {
8
+ RenderLevel
9
+ };
@@ -1,11 +1,11 @@
1
- export var SSRTimings;
1
+ var SSRTimings;
2
2
  (function(SSRTimings2) {
3
3
  SSRTimings2[SSRTimings2["SSR_RENDER_TOTAL"] = 0] = "SSR_RENDER_TOTAL";
4
4
  SSRTimings2[SSRTimings2["SSR_PREFETCH"] = 1] = "SSR_PREFETCH";
5
5
  SSRTimings2[SSRTimings2["SSR_RENDER_HTML"] = 2] = "SSR_RENDER_HTML";
6
6
  SSRTimings2[SSRTimings2["SSR_RENDER_SHELL"] = 3] = "SSR_RENDER_SHELL";
7
7
  })(SSRTimings || (SSRTimings = {}));
8
- export var SSRErrors;
8
+ var SSRErrors;
9
9
  (function(SSRErrors2) {
10
10
  SSRErrors2[SSRErrors2["PREFETCH"] = 0] = "PREFETCH";
11
11
  SSRErrors2[SSRErrors2["RENDER_HTML"] = 1] = "RENDER_HTML";
@@ -55,7 +55,7 @@ const timings = {
55
55
  reporter: "ssr-render-shell"
56
56
  }
57
57
  };
58
- export function createSSRTracker({ reporter, serverTiming, metrics, logger }) {
58
+ function createSSRTracker({ reporter, serverTiming, metrics, logger }) {
59
59
  const tracker = {
60
60
  get sessionId() {
61
61
  return reporter.sessionId;
@@ -76,3 +76,8 @@ export function createSSRTracker({ reporter, serverTiming, metrics, logger }) {
76
76
  };
77
77
  return tracker;
78
78
  }
79
+ export {
80
+ SSRErrors,
81
+ SSRTimings,
82
+ createSSRTracker
83
+ };
@@ -1,2 +1,4 @@
1
1
  import { RenderLevel } from "./renderToString/type";
2
- export { RenderLevel };
2
+ export {
3
+ RenderLevel
4
+ };
@@ -1,7 +1,7 @@
1
- export const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
2
- export const SSR_DATA_JSON_ID = "__MODERN_SSR_DATA__";
3
- export const ROUTER_DATA_JSON_ID = "__MODERN_ROUTER_DATA__";
4
- export function getLoadableScripts(extractor) {
1
+ const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
2
+ const SSR_DATA_JSON_ID = "__MODERN_SSR_DATA__";
3
+ const ROUTER_DATA_JSON_ID = "__MODERN_ROUTER_DATA__";
4
+ function getLoadableScripts(extractor) {
5
5
  const check = (scripts2) => (scripts2 || "").includes("__LOADABLE_REQUIRED_CHUNKS___ext");
6
6
  const scripts = extractor.getScriptTags();
7
7
  if (!check(scripts)) {
@@ -9,8 +9,15 @@ export function getLoadableScripts(extractor) {
9
9
  }
10
10
  return scripts.split("</script>").slice(0, 2).map((i) => `${i}</script>`).join("");
11
11
  }
12
- export function attributesToString(attributes) {
12
+ function attributesToString(attributes) {
13
13
  return Object.entries(attributes).reduce((str, [key, value]) => {
14
14
  return value === void 0 ? str : `${str} ${key}="${value}"`;
15
15
  }, "");
16
16
  }
17
+ export {
18
+ CSS_CHUNKS_PLACEHOLDER,
19
+ ROUTER_DATA_JSON_ID,
20
+ SSR_DATA_JSON_ID,
21
+ attributesToString,
22
+ getLoadableScripts
23
+ };