@modern-js/runtime 2.0.0-canary.0 → 2.0.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 (280) hide show
  1. package/CHANGELOG.md +328 -0
  2. package/dist/js/modern/cli/index.js +49 -19
  3. package/dist/js/modern/cli/types.d.js +0 -0
  4. package/dist/js/modern/common.js +4 -1
  5. package/dist/js/modern/config.js +0 -0
  6. package/dist/js/modern/core/app-config.js +8 -9
  7. package/dist/js/modern/core/compatible.js +195 -169
  8. package/dist/js/modern/core/index.js +14 -6
  9. package/dist/js/modern/core/loader/index.js +4 -1
  10. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  11. package/dist/js/modern/core/loader/useLoader.js +96 -69
  12. package/dist/js/modern/core/plugin.js +37 -20
  13. package/dist/js/modern/document/Body.js +20 -14
  14. package/dist/js/modern/document/DocumentContext.js +6 -3
  15. package/dist/js/modern/document/DocumentStructrueContext.js +8 -4
  16. package/dist/js/modern/document/Head.js +20 -17
  17. package/dist/js/modern/document/Html.js +44 -58
  18. package/dist/js/modern/document/Links.js +10 -0
  19. package/dist/js/modern/document/Root.js +22 -20
  20. package/dist/js/modern/document/Script.js +20 -0
  21. package/dist/js/modern/document/Scripts.js +7 -7
  22. package/dist/js/modern/document/cli/index.js +181 -85
  23. package/dist/js/modern/document/constants.js +45 -15
  24. package/dist/js/modern/document/index.js +3 -1
  25. package/dist/js/modern/document/type.d.js +0 -0
  26. package/dist/js/modern/exports/head.js +6 -3
  27. package/dist/js/modern/exports/loadable.js +6 -3
  28. package/dist/js/modern/exports/server.js +4 -1
  29. package/dist/js/modern/exports/styled.js +6 -3
  30. package/dist/js/modern/index.js +22 -2
  31. package/dist/js/modern/modern-app.env.d.js +0 -0
  32. package/dist/js/modern/router/cli/index.js +76 -60
  33. package/dist/js/modern/router/index.js +7 -3
  34. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  35. package/dist/js/modern/router/runtime/index.js +8 -4
  36. package/dist/js/modern/router/runtime/plugin.js +69 -46
  37. package/dist/js/modern/router/runtime/plugin.node.js +88 -83
  38. package/dist/js/modern/router/runtime/root/index.js +10 -10
  39. package/dist/js/modern/router/runtime/root/load.js +57 -36
  40. package/dist/js/modern/router/runtime/server.js +1 -1
  41. package/dist/js/modern/router/runtime/types.js +0 -1
  42. package/dist/js/modern/router/runtime/utils.js +91 -66
  43. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  44. package/dist/js/modern/runtime-context.js +7 -3
  45. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  46. package/dist/js/modern/ssr/cli/index.js +102 -79
  47. package/dist/js/modern/ssr/index.js +89 -71
  48. package/dist/js/modern/ssr/index.node.js +59 -37
  49. package/dist/js/modern/ssr/prefetch.js +64 -45
  50. package/dist/js/modern/ssr/react/index.js +6 -2
  51. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  52. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  53. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  54. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  55. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  56. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  57. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  58. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  59. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +35 -39
  60. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  61. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  62. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  63. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  64. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  66. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  67. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  68. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  69. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  70. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  71. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  72. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  73. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  74. package/dist/js/modern/ssr/type.d.js +0 -0
  75. package/dist/js/modern/ssr/utils.js +41 -21
  76. package/dist/js/modern/state/cli/index.js +43 -32
  77. package/dist/js/modern/state/index.js +7 -3
  78. package/dist/js/modern/state/plugins.js +13 -7
  79. package/dist/js/modern/state/runtime/index.js +9 -4
  80. package/dist/js/modern/state/runtime/plugin.js +56 -40
  81. package/dist/js/modern/state/types.js +0 -1
  82. package/dist/js/node/cli/index.js +79 -30
  83. package/dist/js/node/cli/types.d.js +0 -0
  84. package/dist/js/node/common.js +26 -7
  85. package/dist/js/node/config.js +15 -0
  86. package/dist/js/node/core/app-config.js +29 -14
  87. package/dist/js/node/core/compatible.js +227 -186
  88. package/dist/js/node/core/index.js +44 -99
  89. package/dist/js/node/core/loader/index.js +31 -11
  90. package/dist/js/node/core/loader/loaderManager.js +102 -83
  91. package/dist/js/node/core/loader/useLoader.js +120 -83
  92. package/dist/js/node/core/plugin.js +65 -35
  93. package/dist/js/node/document/Body.js +40 -23
  94. package/dist/js/node/document/DocumentContext.js +33 -9
  95. package/dist/js/node/document/DocumentStructrueContext.js +35 -10
  96. package/dist/js/node/document/Head.js +45 -27
  97. package/dist/js/node/document/Html.js +68 -65
  98. package/dist/js/node/document/Links.js +33 -0
  99. package/dist/js/node/document/Root.js +47 -31
  100. package/dist/js/node/document/Script.js +40 -0
  101. package/dist/js/node/document/Scripts.js +30 -14
  102. package/dist/js/node/document/cli/index.js +193 -95
  103. package/dist/js/node/document/constants.js +78 -28
  104. package/dist/js/node/document/index.js +26 -93
  105. package/dist/js/node/document/type.d.js +0 -0
  106. package/dist/js/node/exports/head.js +33 -22
  107. package/dist/js/node/exports/loadable.js +33 -22
  108. package/dist/js/node/exports/server.js +26 -7
  109. package/dist/js/node/exports/styled.js +33 -22
  110. package/dist/js/node/index.js +43 -60
  111. package/dist/js/node/modern-app.env.d.js +0 -0
  112. package/dist/js/node/router/cli/index.js +89 -65
  113. package/dist/js/node/router/index.js +33 -30
  114. package/dist/js/node/router/runtime/DefaultNotFound.js +32 -17
  115. package/dist/js/node/router/runtime/index.js +29 -38
  116. package/dist/js/node/router/runtime/plugin.js +91 -57
  117. package/dist/js/node/router/runtime/plugin.node.js +113 -93
  118. package/dist/js/node/router/runtime/root/index.js +37 -21
  119. package/dist/js/node/router/runtime/root/load.js +80 -42
  120. package/dist/js/node/router/runtime/server.js +17 -16
  121. package/dist/js/node/router/runtime/types.js +15 -5
  122. package/dist/js/node/router/runtime/utils.js +112 -75
  123. package/dist/js/node/router/runtime/withRouter.js +53 -22
  124. package/dist/js/node/runtime-context.js +30 -10
  125. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  126. package/dist/js/node/ssr/cli/index.js +119 -85
  127. package/dist/js/node/ssr/index.js +125 -104
  128. package/dist/js/node/ssr/index.node.js +86 -59
  129. package/dist/js/node/ssr/prefetch.js +84 -51
  130. package/dist/js/node/ssr/react/index.js +27 -16
  131. package/dist/js/node/ssr/react/nossr/index.js +37 -16
  132. package/dist/js/node/ssr/react/prerender/index.js +82 -45
  133. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  134. package/dist/js/node/ssr/react/prerender/util.js +63 -36
  135. package/dist/js/node/ssr/react/withCallback/index.js +29 -15
  136. package/dist/js/node/ssr/serverRender/helmet.js +37 -17
  137. package/dist/js/node/ssr/serverRender/index.js +55 -19
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +40 -20
  139. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +32 -10
  140. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +63 -48
  141. package/dist/js/node/ssr/serverRender/renderToStream/index.js +69 -30
  142. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +29 -12
  143. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  144. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +29 -11
  145. package/dist/js/node/ssr/serverRender/renderToStream/template.js +36 -16
  146. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  147. package/dist/js/node/ssr/serverRender/renderToString/entry.js +135 -103
  148. package/dist/js/node/ssr/serverRender/renderToString/index.js +64 -20
  149. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +45 -26
  150. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +27 -7
  151. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +27 -8
  152. package/dist/js/node/ssr/serverRender/renderToString/template.js +44 -28
  153. package/dist/js/node/ssr/serverRender/renderToString/type.js +31 -12
  154. package/dist/js/node/ssr/serverRender/types.js +25 -10
  155. package/dist/js/node/ssr/serverRender/utils.js +31 -13
  156. package/dist/js/node/ssr/type.d.js +0 -0
  157. package/dist/js/node/ssr/utils.js +63 -29
  158. package/dist/js/node/state/cli/index.js +58 -37
  159. package/dist/js/node/state/index.js +33 -30
  160. package/dist/js/node/state/plugins.js +43 -22
  161. package/dist/js/node/state/runtime/index.js +36 -50
  162. package/dist/js/node/state/runtime/plugin.js +89 -68
  163. package/dist/js/node/state/types.js +15 -5
  164. package/dist/js/treeshaking/cli/index.js +180 -52
  165. package/dist/js/treeshaking/cli/types.d.js +1 -0
  166. package/dist/js/treeshaking/common.js +4 -3
  167. package/dist/js/treeshaking/config.js +1 -0
  168. package/dist/js/treeshaking/core/app-config.js +8 -13
  169. package/dist/js/treeshaking/core/compatible.js +473 -276
  170. package/dist/js/treeshaking/core/index.js +5 -6
  171. package/dist/js/treeshaking/core/loader/index.js +2 -1
  172. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  173. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  174. package/dist/js/treeshaking/core/plugin.js +164 -48
  175. package/dist/js/treeshaking/document/Body.js +15 -11
  176. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  177. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -7
  178. package/dist/js/treeshaking/document/Head.js +20 -17
  179. package/dist/js/treeshaking/document/Html.js +88 -93
  180. package/dist/js/treeshaking/document/Links.js +8 -0
  181. package/dist/js/treeshaking/document/Root.js +23 -21
  182. package/dist/js/treeshaking/document/Script.js +15 -0
  183. package/dist/js/treeshaking/document/Scripts.js +7 -9
  184. package/dist/js/treeshaking/document/cli/index.js +386 -168
  185. package/dist/js/treeshaking/document/constants.js +35 -16
  186. package/dist/js/treeshaking/document/index.js +3 -1
  187. package/dist/js/treeshaking/document/type.d.js +1 -0
  188. package/dist/js/treeshaking/exports/head.js +4 -3
  189. package/dist/js/treeshaking/exports/loadable.js +4 -3
  190. package/dist/js/treeshaking/exports/server.js +4 -3
  191. package/dist/js/treeshaking/exports/styled.js +4 -3
  192. package/dist/js/treeshaking/index.js +3 -2
  193. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  194. package/dist/js/treeshaking/router/cli/index.js +145 -99
  195. package/dist/js/treeshaking/router/index.js +4 -3
  196. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  197. package/dist/js/treeshaking/router/runtime/index.js +5 -4
  198. package/dist/js/treeshaking/router/runtime/plugin.js +127 -78
  199. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  200. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  201. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  202. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  203. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  204. package/dist/js/treeshaking/router/runtime/utils.js +230 -142
  205. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  206. package/dist/js/treeshaking/runtime-context.js +4 -3
  207. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  208. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  209. package/dist/js/treeshaking/ssr/index.js +305 -144
  210. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  211. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  212. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  213. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  214. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  215. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  216. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  217. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  218. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  219. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +108 -60
  223. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  224. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  225. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  226. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  227. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  228. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  230. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  231. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  232. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  233. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  234. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  235. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  236. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  237. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  238. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  239. package/dist/js/treeshaking/ssr/utils.js +128 -64
  240. package/dist/js/treeshaking/state/cli/index.js +70 -68
  241. package/dist/js/treeshaking/state/index.js +4 -3
  242. package/dist/js/treeshaking/state/plugins.js +12 -11
  243. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  244. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  245. package/dist/js/treeshaking/state/types.js +1 -1
  246. package/dist/types/cli/index.d.ts +2 -0
  247. package/dist/types/config.d.ts +8 -0
  248. package/dist/types/core/compatible.d.ts +2 -2
  249. package/dist/types/core/loader/loaderManager.d.ts +4 -3
  250. package/dist/types/core/loader/useLoader.d.ts +6 -1
  251. package/dist/types/core/plugin.d.ts +10 -5
  252. package/dist/types/document/DocumentContext.d.ts +1 -1
  253. package/dist/types/document/DocumentStructrueContext.d.ts +2 -1
  254. package/dist/types/document/Links.d.ts +2 -0
  255. package/dist/types/document/Script.d.ts +4 -0
  256. package/dist/types/document/cli/index.d.ts +2 -0
  257. package/dist/types/document/constants.d.ts +3 -0
  258. package/dist/types/document/index.d.ts +2 -0
  259. package/dist/types/exports/server.d.ts +3 -3
  260. package/dist/types/index.d.ts +1 -0
  261. package/dist/types/router/cli/index.d.ts +2 -0
  262. package/dist/types/router/runtime/plugin.d.ts +2 -2
  263. package/dist/types/router/runtime/types.d.ts +6 -4
  264. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  265. package/dist/types/ssr/cli/index.d.ts +2 -0
  266. package/dist/types/ssr/react/prerender/type.d.ts +6 -6
  267. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +1 -1
  268. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +1 -1
  269. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +1 -1
  270. package/dist/types/ssr/serverRender/renderToStream/type.d.ts +1 -1
  271. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +1 -1
  272. package/dist/types/ssr/serverRender/renderToString/template.d.ts +1 -1
  273. package/dist/types/ssr/serverRender/renderToString/type.d.ts +3 -3
  274. package/dist/types/ssr/serverRender/types.d.ts +3 -3
  275. package/dist/types/state/cli/index.d.ts +2 -0
  276. package/dist/types/state/runtime/plugin.d.ts +3 -3
  277. package/dist/types/state/types.d.ts +2 -1
  278. package/package.json +19 -16
  279. package/types/index.d.ts +8 -2
  280. package/types/router.d.ts +8 -2
@@ -1,92 +1,78 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import React from 'react';
1
+ import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import { Body } from "./Body";
4
3
  import { DocumentStructrueContext } from "./DocumentStructrueContext";
5
4
  import { Head } from "./Head";
6
-
7
- /**
8
- * get the directly son element
9
- */
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
5
  function findTargetChild(tag, children) {
13
- return children.find(item => getEleType(item) === tag);
6
+ return children.find((item) => getEleType(item) === tag);
14
7
  }
15
-
16
- /**
17
- * get the type of react element
18
- */
19
8
  function getEleType(ele) {
20
- // fixme: react 的类型,有点儿问题。
21
- return typeof (ele === null || ele === void 0 ? void 0 : ele.type) === 'function' ? ele.type.name : ele === null || ele === void 0 ? void 0 : ele.type;
9
+ return typeof (ele == null ? void 0 : ele.type) === "function" ? ele.type.name : ele == null ? void 0 : ele.type;
22
10
  }
23
-
24
- /**
25
- * get the children(grandChild included) with target type
26
- * @param tag the element type
27
- * @param children son element
28
- * @returns target element
29
- */
30
11
  function findTargetElement(tag, children) {
12
+ var _a;
31
13
  if (children.length === 0) {
32
14
  return null;
33
15
  }
34
16
  let nextChildren = [];
35
17
  for (const item of children) {
36
- var _item$props;
37
18
  if (tag === getEleType(item)) {
38
19
  return item;
39
20
  }
40
- if (item !== null && item !== void 0 && (_item$props = item.props) !== null && _item$props !== void 0 && _item$props.children) {
21
+ if ((_a = item == null ? void 0 : item.props) == null ? void 0 : _a.children) {
41
22
  nextChildren = nextChildren.concat(item.props.children);
42
23
  }
43
24
  }
44
25
  return findTargetElement(tag, nextChildren);
45
26
  }
46
- export function Html(props) {
47
- const {
48
- children
49
- } = props;
50
-
51
- // deal with the component with default
52
- const hasSetHead = Boolean(findTargetChild('Head', children));
53
- const hasSetScripts = Boolean(findTargetElement('Scripts', children));
54
- const hasSetBody = Boolean(findTargetChild('Body', children));
55
- const hasSetRoot = Boolean(findTargetElement('Root', children));
56
- const notMissMustChild = [hasSetHead, hasSetBody
57
- // hasSetScripts,
58
- // hasSetRoot,
59
- ].every(item => item);
60
-
61
- // todo: or throw an error
27
+ function Html(props) {
28
+ const { children } = props;
29
+ const hasSetHead = Boolean(findTargetChild("Head", children));
30
+ const hasSetScripts = Boolean(findTargetElement("Scripts", children));
31
+ const hasSetLinks = Boolean(findTargetElement("Links", children));
32
+ const hasSetBody = Boolean(findTargetChild("Body", children));
33
+ const hasSetRoot = Boolean(findTargetElement("Root", children));
34
+ const notMissMustChild = [
35
+ hasSetHead,
36
+ hasSetBody
37
+ ].every((item) => item);
62
38
  if (!notMissMustChild) {
63
- return /*#__PURE__*/_jsx("html", {
64
- children: /*#__PURE__*/_jsxs("body", {
65
- style: {
66
- color: 'red'
67
- },
68
- children: [`Miss the `, [hasSetHead, hasSetBody
69
- // hasSetScripts,
70
- // hasSetRoot,
71
- ].map((item, index) => {
72
- return item ? null : ['Head', 'Body'
73
- // 'Scripts',
74
- // 'Root',
75
- ][index];
76
- }), ` Element`]
39
+ return /* @__PURE__ */ jsx("html", {
40
+ children: /* @__PURE__ */ jsxs("body", {
41
+ style: { color: "red" },
42
+ children: [
43
+ `Miss the `,
44
+ [
45
+ hasSetHead,
46
+ hasSetBody
47
+ ].map((item, index) => {
48
+ return item ? null : [
49
+ "Head",
50
+ "Body"
51
+ ][index];
52
+ }),
53
+ ` Element`
54
+ ]
77
55
  })
78
56
  });
79
57
  }
80
- return /*#__PURE__*/_jsx("html", {
81
- children: /*#__PURE__*/_jsxs(DocumentStructrueContext.Provider, {
58
+ return /* @__PURE__ */ jsx("html", {
59
+ children: /* @__PURE__ */ jsxs(DocumentStructrueContext.Provider, {
82
60
  value: {
83
61
  hasSetHead,
84
62
  hasSetScripts,
63
+ hasSetLinks,
85
64
  hasSetRoot,
86
65
  hasSetBody,
87
66
  docChild: children
88
67
  },
89
- children: [!hasSetHead && /*#__PURE__*/_jsx(Head, {}), !hasSetBody && /*#__PURE__*/_jsx(Body, {}), children]
68
+ children: [
69
+ !hasSetHead && /* @__PURE__ */ jsx(Head, {}),
70
+ !hasSetBody && /* @__PURE__ */ jsx(Body, {}),
71
+ children
72
+ ]
90
73
  })
91
74
  });
92
- }
75
+ }
76
+ export {
77
+ Html
78
+ };
@@ -0,0 +1,10 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
2
+ import { DOCUMENT_LINKS_PLACEHOLDER } from "./constants";
3
+ function Links() {
4
+ return /* @__PURE__ */ jsx(Fragment, {
5
+ children: DOCUMENT_LINKS_PLACEHOLDER
6
+ });
7
+ }
8
+ export {
9
+ Links
10
+ };
@@ -1,31 +1,33 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import React, { useContext } from 'react';
1
+ import { jsxs } from "react/jsx-runtime";
2
+ import { useContext } from "react";
3
3
  import { DocumentContext } from "./DocumentContext";
4
4
  import { DOCUMENT_SSR_PLACEHOLDER } from "./constants";
5
- import { jsxs as _jsxs } from "react/jsx-runtime";
6
- export function Root(props) {
5
+ function Root(props) {
6
+ const { rootId, children } = props;
7
7
  const {
8
- rootId,
9
- children
10
- } = props;
11
- const {
12
- templateParams: {
13
- mountId = 'root'
14
- }
8
+ templateParams: { mountId = "root" }
15
9
  } = useContext(DocumentContext);
16
- return /*#__PURE__*/_jsxs("div", {
10
+ return /* @__PURE__ */ jsxs("div", {
17
11
  id: `${rootId || mountId}`,
18
- children: [`${DOCUMENT_SSR_PLACEHOLDER}`, children]
12
+ children: [
13
+ `${DOCUMENT_SSR_PLACEHOLDER}`,
14
+ children
15
+ ]
19
16
  });
20
17
  }
21
- export function DefaultRoot(props) {
18
+ function DefaultRoot(props) {
22
19
  const {
23
- templateParams: {
24
- mountId
25
- }
20
+ templateParams: { mountId = "root" }
26
21
  } = useContext(DocumentContext);
27
- return /*#__PURE__*/_jsxs("div", {
22
+ return /* @__PURE__ */ jsxs("div", {
28
23
  id: `${mountId}`,
29
- children: [`${DOCUMENT_SSR_PLACEHOLDER}`, props.children]
24
+ children: [
25
+ `${DOCUMENT_SSR_PLACEHOLDER}`,
26
+ props.children
27
+ ]
30
28
  });
31
- }
29
+ }
30
+ export {
31
+ DefaultRoot,
32
+ Root
33
+ };
@@ -0,0 +1,20 @@
1
+ import { Fragment, jsxs } from "react/jsx-runtime";
2
+ import {
3
+ DOCUMENT_SCRIPT_PLACEHOLDER_START,
4
+ DOCUMENT_SCRIPT_PLACEHOLDER_END
5
+ } from "./constants";
6
+ function Script(props) {
7
+ const { content } = props;
8
+ const contentStr = content.toString();
9
+ const contentIIFE = encodeURIComponent(`(${contentStr})()`);
10
+ return /* @__PURE__ */ jsxs(Fragment, {
11
+ children: [
12
+ `${DOCUMENT_SCRIPT_PLACEHOLDER_START}`,
13
+ `${contentIIFE}`,
14
+ `${DOCUMENT_SCRIPT_PLACEHOLDER_END}`
15
+ ]
16
+ });
17
+ }
18
+ export {
19
+ Script
20
+ };
@@ -1,10 +1,10 @@
1
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
- import React from 'react';
1
+ import { Fragment, jsx } from "react/jsx-runtime";
3
2
  import { DOCUMENT_SCRIPTS_PLACEHOLDER } from "./constants";
4
- import { Fragment as _Fragment } from "react/jsx-runtime";
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- export function Scripts() {
7
- return /*#__PURE__*/_jsx(_Fragment, {
3
+ function Scripts() {
4
+ return /* @__PURE__ */ jsx(Fragment, {
8
5
  children: `${DOCUMENT_SCRIPTS_PLACEHOLDER}`
9
6
  });
10
- }
7
+ }
8
+ export {
9
+ Scripts
10
+ };
@@ -1,37 +1,80 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- import path from 'path';
5
- import React from 'react';
6
- import ReactDomServer from 'react-dom/server';
7
- import { build } from 'esbuild';
8
- import { createDebugger, findExists } from '@modern-js/utils';
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __async = (__this, __arguments, generator) => {
18
+ return new Promise((resolve, reject) => {
19
+ var fulfilled = (value) => {
20
+ try {
21
+ step(generator.next(value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ };
26
+ var rejected = (value) => {
27
+ try {
28
+ step(generator.throw(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
34
+ step((generator = generator.apply(__this, __arguments)).next());
35
+ });
36
+ };
37
+ import path from "path";
38
+ import React from "react";
39
+ import ReactDomServer from "react-dom/server";
40
+ import { build } from "esbuild";
41
+ import { createDebugger, findExists, fs } from "@modern-js/utils";
9
42
  import { DocumentContext } from "../DocumentContext";
10
- import { DOCUMENT_SCRIPTS_PLACEHOLDER, DOCUMENT_FILE_NAME, DOCUMENT_META_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP, DOC_EXT, DOCUMENT_SSR_PLACEHOLDER, DOCUMENT_CHUNKSMAP_PLACEHOLDER, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, HTML_SEPARATOR } from "../constants";
11
- const debug = createDebugger('html_genarate');
12
-
13
- // get the entry document file,
14
- // if not exist, fallback to src/
15
- const getDocumenByEntryName = function getDocumenByEntryName(entrypoints, entryName, fallbackDir) {
16
- var _entrypoints$find;
17
- const entryDir = (_entrypoints$find = entrypoints.find(item => item.entryName === entryName)) === null || _entrypoints$find === void 0 ? void 0 : _entrypoints$find.absoluteEntryDir;
18
- const entryDirs = DOC_EXT.map(item => `${entryDir}${path.sep}${DOCUMENT_FILE_NAME}.${item}`);
19
- const fallbackDirs = fallbackDir ? DOC_EXT.map(item => [fallbackDir, 'src', `${DOCUMENT_FILE_NAME}.${item}`].join(path.sep)) : [];
43
+ import {
44
+ DOCUMENT_SCRIPTS_PLACEHOLDER,
45
+ DOCUMENT_LINKS_PLACEHOLDER,
46
+ DOCUMENT_FILE_NAME,
47
+ DOCUMENT_META_PLACEHOLDER,
48
+ PLACEHOLDER_REPLACER_MAP,
49
+ DOC_EXT,
50
+ DOCUMENT_SSR_PLACEHOLDER,
51
+ DOCUMENT_CHUNKSMAP_PLACEHOLDER,
52
+ DOCUMENT_SSRDATASCRIPT_PLACEHOLDER,
53
+ DOCUMENT_SCRIPT_PLACEHOLDER_START,
54
+ DOCUMENT_SCRIPT_PLACEHOLDER_END,
55
+ HTML_SEPARATOR
56
+ } from "../constants";
57
+ const debug = createDebugger("html_genarate");
58
+ const getDocumenByEntryName = function(entrypoints, entryName, fallbackDir) {
59
+ var _a;
60
+ const entryDir = (_a = entrypoints.find(
61
+ (item) => item.entryName === entryName
62
+ )) == null ? void 0 : _a.absoluteEntryDir;
63
+ const entryDirs = DOC_EXT.map(
64
+ (item) => `${entryDir}${path.sep}${DOCUMENT_FILE_NAME}.${item}`
65
+ );
66
+ const fallbackDirs = fallbackDir ? DOC_EXT.map(
67
+ (item) => [fallbackDir, "src", `${DOCUMENT_FILE_NAME}.${item}`].join(path.sep)
68
+ ) : [];
20
69
  const docFile = findExists([...entryDirs, ...fallbackDirs]);
21
- return docFile || undefined;
70
+ return docFile || void 0;
22
71
  };
23
- export default (() => ({
24
- name: '@modern-js/plugin-document',
25
- pre: ['@modern-js/plugin-analyze'],
26
- setup: async api => {
27
- // get params for document.tsx
72
+ var cli_default = () => ({
73
+ name: "@modern-js/plugin-document",
74
+ pre: ["@modern-js/plugin-analyze"],
75
+ setup: (api) => __async(void 0, null, function* () {
28
76
  function getDocParams(params) {
29
- const {
30
- config,
31
- templateParameters,
32
- entryName
33
- } = params;
34
- // for enough params, devide as:process, config, templateParams
77
+ const { config, templateParameters, entryName } = params;
35
78
  return {
36
79
  processEnv: process.env,
37
80
  config: {
@@ -42,91 +85,144 @@ export default (() => ({
42
85
  };
43
86
  }
44
87
  const documentEntry = (entryName, templateParameters) => {
45
- const {
88
+ const { entrypoints, internalDirectory, appDirectory } = api.useAppContext();
89
+ const documentFilePath = getDocumenByEntryName(
46
90
  entrypoints,
47
- internalDirectory,
91
+ entryName,
48
92
  appDirectory
49
- } = api.useAppContext();
50
- // search the document.[tsx|jsx|js|ts] under entry
51
- const documentFilePath = getDocumenByEntryName(entrypoints, entryName, appDirectory);
52
- // if no document file, do nothing as default
93
+ );
53
94
  if (!documentFilePath) {
54
95
  return null;
55
96
  }
56
- return async ({
57
- htmlWebpackPlugin
58
- }) => {
97
+ return (_0) => __async(void 0, [_0], function* ({ htmlWebpackPlugin }) {
59
98
  const documentParams = getDocParams({
60
99
  config: api.useConfigContext(),
61
100
  entryName,
62
101
  templateParameters
63
102
  });
64
- const htmlOutputFile = path.join(internalDirectory, `./document/_${entryName}.html.js`);
65
- // transform document file to html string
66
- await build({
103
+ const tempTsConfigFile = path.join(
104
+ internalDirectory,
105
+ `./document/_tempTsconfig.json`
106
+ );
107
+ const userTsConfigFilePath = path.join(appDirectory, "tsconfig.json");
108
+ let tsConfig;
109
+ try {
110
+ tsConfig = yield require(userTsConfigFilePath);
111
+ } catch (err) {
112
+ tsConfig = {};
113
+ }
114
+ if (tsConfig == null ? void 0 : tsConfig.compilerOptions) {
115
+ tsConfig.compilerOptions.jsx = "react-jsx";
116
+ } else {
117
+ tsConfig.compilerOptions = {
118
+ jsx: "react-jsx"
119
+ };
120
+ }
121
+ fs.outputFileSync(tempTsConfigFile, JSON.stringify(tsConfig));
122
+ const htmlOutputFile = path.join(
123
+ internalDirectory,
124
+ `./document/_${entryName}.html.js`
125
+ );
126
+ yield build({
67
127
  entryPoints: [documentFilePath],
68
- // write: false,
69
128
  outfile: htmlOutputFile,
70
- platform: 'node',
71
- target: 'es6',
129
+ platform: "node",
130
+ tsconfig: tempTsConfigFile,
131
+ target: "es6",
72
132
  loader: {
73
- '.ts': 'ts',
74
- '.tsx': 'tsx'
133
+ ".ts": "ts",
134
+ ".tsx": "tsx"
75
135
  },
76
136
  bundle: true,
77
- plugins: [{
78
- name: 'make-all-packages-external',
79
- setup(build) {
80
- // https://github.com/evanw/esbuild/issues/619#issuecomment-751995294
81
- build.onResolve({
82
- filter: /^[^./]|^\.[^./]|^\.\.[^/]/
83
- }, args => {
84
- let external = true;
85
- // FIXME: windows external entrypoint
86
- if (args.kind === 'entry-point') {
87
- external = false;
88
- }
89
- return {
90
- path: args.path,
91
- external
92
- };
93
- });
137
+ plugins: [
138
+ {
139
+ name: "make-all-packages-external",
140
+ setup(build2) {
141
+ build2.onResolve(
142
+ { filter: /^[^./]|^\.[^./]|^\.\.[^/]/ },
143
+ (args) => {
144
+ let external = true;
145
+ if (args.kind === "entry-point") {
146
+ external = false;
147
+ }
148
+ return {
149
+ path: args.path,
150
+ external
151
+ };
152
+ }
153
+ );
154
+ }
94
155
  }
95
- }]
156
+ ]
96
157
  });
97
- const Document = (await import(htmlOutputFile)).default;
98
- const HTMLElement = /*#__PURE__*/React.createElement(DocumentContext.Provider, {
99
- value: documentParams
100
- }, /*#__PURE__*/React.createElement(Document, null));
101
- const html = ReactDomServer.renderToStaticMarkup(HTMLElement);
158
+ delete require.cache[require.resolve(htmlOutputFile)];
159
+ const Document = (yield require(htmlOutputFile)).default;
160
+ const HTMLElement = React.createElement(
161
+ DocumentContext.Provider,
162
+ { value: documentParams },
163
+ React.createElement(Document, null)
164
+ );
165
+ let html = ReactDomServer.renderToStaticMarkup(HTMLElement);
102
166
  debug("entry %s's document jsx rendered html: %o", entryName, html);
103
- const scripts = [htmlWebpackPlugin.tags.headTags.filter(item => item.tagName === 'script').join(''), htmlWebpackPlugin.tags.bodyTags.toString()].join('');
104
- const metas = [templateParameters.meta, htmlWebpackPlugin.tags.headTags.filter(item => item.tagName !== 'script').join('')].join('');
105
-
106
- // replace the html placeholder while transfer string to jsx component is not a easy way
107
- return `<!DOCTYPE html>${html}`.replace(DOCUMENT_META_PLACEHOLDER, metas).replace(DOCUMENT_SSR_PLACEHOLDER, HTML_SEPARATOR).replace(DOCUMENT_SCRIPTS_PLACEHOLDER, scripts).replace(DOCUMENT_CHUNKSMAP_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP[DOCUMENT_CHUNKSMAP_PLACEHOLDER]).replace(DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP[DOCUMENT_SSRDATASCRIPT_PLACEHOLDER]);
108
- };
167
+ const scripts = [
168
+ htmlWebpackPlugin.tags.headTags.filter((item) => item.tagName === "script").join(""),
169
+ htmlWebpackPlugin.tags.bodyTags.toString()
170
+ ].join("");
171
+ const links = [
172
+ htmlWebpackPlugin.tags.headTags.filter((item) => item.tagName === "link").join("")
173
+ ].join("");
174
+ const metas = [
175
+ templateParameters.meta,
176
+ htmlWebpackPlugin.tags.headTags.filter(
177
+ (item) => item.tagName !== "script" && item.tagName !== "link"
178
+ ).join("")
179
+ ].join("");
180
+ if (html.includes(DOCUMENT_SCRIPT_PLACEHOLDER_START) && html.includes(DOCUMENT_SCRIPT_PLACEHOLDER_END)) {
181
+ html = html.replaceAll(
182
+ new RegExp(
183
+ `${DOCUMENT_SCRIPT_PLACEHOLDER_START}(.*?)${DOCUMENT_SCRIPT_PLACEHOLDER_END}`,
184
+ "g"
185
+ ),
186
+ (_scriptStr, $1) => `<script>${decodeURIComponent($1)}<\/script>`
187
+ );
188
+ }
189
+ const finalHtml = `<!DOCTYPE html>${html}`.replace(DOCUMENT_META_PLACEHOLDER, metas).replace(DOCUMENT_SSR_PLACEHOLDER, HTML_SEPARATOR).replace(DOCUMENT_SCRIPTS_PLACEHOLDER, scripts).replace(DOCUMENT_LINKS_PLACEHOLDER, links).replace(
190
+ DOCUMENT_CHUNKSMAP_PLACEHOLDER,
191
+ PLACEHOLDER_REPLACER_MAP[DOCUMENT_CHUNKSMAP_PLACEHOLDER]
192
+ ).replace(
193
+ DOCUMENT_SSRDATASCRIPT_PLACEHOLDER,
194
+ PLACEHOLDER_REPLACER_MAP[DOCUMENT_SSRDATASCRIPT_PLACEHOLDER]
195
+ );
196
+ return finalHtml;
197
+ });
109
198
  };
110
199
  return {
111
200
  config: () => {
112
201
  return {
113
202
  tools: {
114
203
  htmlPlugin: (options, entry) => {
115
- // just for reuse the baseParames calculate by builder:
116
- // https://github.com/modern-js-dev/modern.js/blob/1abb452a87ae1adbcf8da47d62c05da39cbe4d69/packages/builder/builder-webpack-provider/src/plugins/html.ts#L69-L103
117
- const hackParameters = typeof (options === null || options === void 0 ? void 0 : options.templateParameters) === 'function' ? options === null || options === void 0 ? void 0 : options.templateParameters({}, {}, {}, {}) : _objectSpread({}, options === null || options === void 0 ? void 0 : options.templateParameters);
118
- const templateContent = documentEntry(entry.entryName,
119
- // options,
120
- hackParameters);
204
+ const hackParameters = typeof (options == null ? void 0 : options.templateParameters) === "function" ? options == null ? void 0 : options.templateParameters(
205
+ {},
206
+ {},
207
+ {},
208
+ {}
209
+ ) : __spreadValues({}, options == null ? void 0 : options.templateParameters);
210
+ const templateContent = documentEntry(
211
+ entry.entryName,
212
+ hackParameters
213
+ );
121
214
  const documentHtmlOptions = templateContent ? {
122
215
  templateContent,
123
216
  inject: false
124
217
  } : {};
125
- return _objectSpread(_objectSpread({}, options), documentHtmlOptions);
218
+ return __spreadValues(__spreadValues({}, options), documentHtmlOptions);
126
219
  }
127
220
  }
128
221
  };
129
222
  }
130
223
  };
131
- }
132
- }));
224
+ })
225
+ });
226
+ export {
227
+ cli_default as default
228
+ };
@@ -1,19 +1,49 @@
1
- export const DOC_EXT = ['jsx', 'tsx', 'ts', 'js'];
2
- export const DOCUMENT_META_PLACEHOLDER = encodeURIComponent('<%= meta %>');
3
- export const HTML_SEPARATOR = '<!--<?- html ?>-->';
4
- export const HTML_CHUNKSMAP_SEPARATOR = '<!--<?- chunksMap.js ?>-->';
5
- export const HTML_SSRDATASCRIPT_SEPARATOR = '<!--<?- SSRDataScript ?>-->';
6
- // export const HTML_BOTTOMTPL_SEPARATOR = '<!--<?- bottomTemplate ?>-->'; // document jsx not need bottom
7
-
8
- export const DOCUMENT_SSR_PLACEHOLDER = encodeURIComponent(HTML_SEPARATOR);
9
- export const DOCUMENT_CHUNKSMAP_PLACEHOLDER = encodeURIComponent(HTML_CHUNKSMAP_SEPARATOR);
10
- export const DOCUMENT_SSRDATASCRIPT_PLACEHOLDER = encodeURIComponent(HTML_SSRDATASCRIPT_SEPARATOR);
11
- export const DOCUMENT_FILE_NAME = 'Document';
12
- export const DOCUMENT_SCRIPTS_PLACEHOLDER = encodeURIComponent('<!-- chunk scripts placeholder -->');
13
- export const DOCUMENT_NO_SCRIPTE_PLACEHOLDER = encodeURIComponent('<!-- no-script -->');
14
- export const PLACEHOLDER_REPLACER_MAP = {
1
+ const DOC_EXT = ["jsx", "tsx", "ts", "js"];
2
+ const DOCUMENT_META_PLACEHOLDER = encodeURIComponent("<%= meta %>");
3
+ const HTML_SEPARATOR = "<!--<?- html ?>-->";
4
+ const HTML_CHUNKSMAP_SEPARATOR = "<!--<?- chunksMap.js ?>-->";
5
+ const HTML_SSRDATASCRIPT_SEPARATOR = "<!--<?- SSRDataScript ?>-->";
6
+ const DOCUMENT_SSR_PLACEHOLDER = encodeURIComponent(HTML_SEPARATOR);
7
+ const DOCUMENT_CHUNKSMAP_PLACEHOLDER = encodeURIComponent(
8
+ HTML_CHUNKSMAP_SEPARATOR
9
+ );
10
+ const DOCUMENT_SSRDATASCRIPT_PLACEHOLDER = encodeURIComponent(
11
+ HTML_SSRDATASCRIPT_SEPARATOR
12
+ );
13
+ const DOCUMENT_FILE_NAME = "Document";
14
+ const DOCUMENT_SCRIPTS_PLACEHOLDER = encodeURIComponent(
15
+ "<!-- chunk scripts placeholder -->"
16
+ );
17
+ const DOCUMENT_LINKS_PLACEHOLDER = encodeURIComponent(
18
+ "<!-- chunk links placeholder -->"
19
+ );
20
+ const DOCUMENT_NO_SCRIPTE_PLACEHOLDER = encodeURIComponent("<!-- no-script -->");
21
+ const DOCUMENT_SCRIPT_PLACEHOLDER_START = encodeURIComponent(
22
+ "<!-- script-start -->"
23
+ );
24
+ const DOCUMENT_SCRIPT_PLACEHOLDER_END = encodeURIComponent(
25
+ "<!-- script-end -->"
26
+ );
27
+ const PLACEHOLDER_REPLACER_MAP = {
15
28
  [DOCUMENT_NO_SCRIPTE_PLACEHOLDER]: `We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue.`,
16
29
  [DOCUMENT_SSR_PLACEHOLDER]: HTML_SEPARATOR,
17
30
  [DOCUMENT_CHUNKSMAP_PLACEHOLDER]: HTML_CHUNKSMAP_SEPARATOR,
18
31
  [DOCUMENT_SSRDATASCRIPT_PLACEHOLDER]: HTML_SSRDATASCRIPT_SEPARATOR
19
- };
32
+ };
33
+ export {
34
+ DOCUMENT_CHUNKSMAP_PLACEHOLDER,
35
+ DOCUMENT_FILE_NAME,
36
+ DOCUMENT_LINKS_PLACEHOLDER,
37
+ DOCUMENT_META_PLACEHOLDER,
38
+ DOCUMENT_NO_SCRIPTE_PLACEHOLDER,
39
+ DOCUMENT_SCRIPTS_PLACEHOLDER,
40
+ DOCUMENT_SCRIPT_PLACEHOLDER_END,
41
+ DOCUMENT_SCRIPT_PLACEHOLDER_START,
42
+ DOCUMENT_SSRDATASCRIPT_PLACEHOLDER,
43
+ DOCUMENT_SSR_PLACEHOLDER,
44
+ DOC_EXT,
45
+ HTML_CHUNKSMAP_SEPARATOR,
46
+ HTML_SEPARATOR,
47
+ HTML_SSRDATASCRIPT_SEPARATOR,
48
+ PLACEHOLDER_REPLACER_MAP
49
+ };
@@ -4,5 +4,7 @@ export * from "./DocumentStructrueContext";
4
4
  export * from "./Head";
5
5
  export * from "./Body";
6
6
  export * from "./Root";
7
+ export * from "./Links";
7
8
  export * from "./Scripts";
8
- export * from "./constants";
9
+ export * from "./Script";
10
+ export * from "./constants";
File without changes
@@ -1,3 +1,6 @@
1
- import head from 'react-helmet';
2
- export default head;
3
- export * from 'react-helmet';
1
+ import head from "react-helmet";
2
+ var head_default = head;
3
+ export * from "react-helmet";
4
+ export {
5
+ head_default as default
6
+ };
@@ -1,3 +1,6 @@
1
- import loadable from '@loadable/component';
2
- export default loadable;
3
- export * from '@loadable/component';
1
+ import loadable from "@loadable/component";
2
+ var loadable_default = loadable;
3
+ export * from "@loadable/component";
4
+ export {
5
+ loadable_default as default
6
+ };