@modern-js/runtime 1.21.5 → 2.0.0-beta.1

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 (256) hide show
  1. package/CHANGELOG.md +117 -18
  2. package/dist/js/modern/cli/index.js +3 -5
  3. package/dist/js/modern/core/app-config.js +2 -1
  4. package/dist/js/modern/core/compatible.js +47 -48
  5. package/dist/js/modern/core/index.js +4 -3
  6. package/dist/js/modern/core/loader/loaderManager.js +12 -34
  7. package/dist/js/modern/core/loader/useLoader.js +8 -26
  8. package/dist/js/modern/core/plugin.js +6 -28
  9. package/dist/js/modern/document/Body.js +17 -0
  10. package/dist/js/modern/document/DocumentContext.js +6 -0
  11. package/dist/js/modern/document/DocumentStructrueContext.js +7 -0
  12. package/dist/js/modern/document/Head.js +24 -0
  13. package/dist/js/modern/document/Html.js +92 -0
  14. package/dist/js/modern/document/Root.js +31 -0
  15. package/dist/js/modern/document/Scripts.js +10 -0
  16. package/dist/js/modern/document/cli/index.js +130 -0
  17. package/dist/js/modern/document/constants.js +19 -0
  18. package/dist/js/modern/document/index.js +8 -0
  19. package/dist/js/modern/index.js +2 -1
  20. package/dist/js/modern/router/cli/index.js +20 -20
  21. package/dist/js/modern/router/runtime/index.js +1 -1
  22. package/dist/js/modern/router/runtime/plugin.js +25 -52
  23. package/dist/js/modern/router/runtime/plugin.node.js +137 -0
  24. package/dist/js/modern/router/runtime/root/index.js +19 -0
  25. package/dist/js/modern/router/runtime/root/load.js +61 -0
  26. package/dist/js/modern/router/runtime/types.js +1 -0
  27. package/dist/js/modern/router/runtime/utils.js +99 -58
  28. package/dist/js/modern/router/runtime/withRouter.js +20 -0
  29. package/dist/js/modern/runtime-context.js +2 -1
  30. package/dist/js/modern/ssr/cli/index.js +35 -17
  31. package/dist/js/modern/ssr/index.js +64 -51
  32. package/dist/js/modern/ssr/index.node.js +6 -15
  33. package/dist/js/modern/ssr/prefetch.js +0 -7
  34. package/dist/js/modern/ssr/react/prerender/index.js +2 -23
  35. package/dist/js/modern/ssr/react/prerender/util.js +2 -17
  36. package/dist/js/modern/ssr/react/withCallback/index.js +0 -1
  37. package/dist/js/modern/ssr/serverRender/helmet.js +12 -20
  38. package/dist/js/modern/ssr/serverRender/index.js +12 -27
  39. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +38 -0
  40. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -0
  41. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +58 -0
  42. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +40 -0
  43. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  44. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +72 -0
  45. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  46. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +18 -0
  47. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  48. package/dist/js/modern/ssr/serverRender/{entry.js → renderToString/entry.js} +6 -40
  49. package/dist/js/modern/ssr/serverRender/renderToString/index.js +29 -0
  50. package/dist/js/modern/ssr/serverRender/{loadable.js → renderToString/loadable.js} +2 -24
  51. package/dist/js/modern/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
  52. package/dist/js/modern/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
  53. package/dist/js/modern/ssr/serverRender/{template.js → renderToString/template.js} +0 -15
  54. package/dist/js/modern/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
  55. package/dist/js/modern/ssr/serverRender/types.js +2 -0
  56. package/dist/js/modern/ssr/serverRender/utils.js +20 -0
  57. package/dist/js/modern/ssr/utils.js +8 -13
  58. package/dist/js/modern/state/cli/index.js +0 -10
  59. package/dist/js/modern/state/runtime/plugin.js +1 -14
  60. package/dist/js/node/cli/index.js +3 -13
  61. package/dist/js/node/common.js +0 -2
  62. package/dist/js/node/core/app-config.js +2 -5
  63. package/dist/js/node/core/compatible.js +47 -66
  64. package/dist/js/node/core/index.js +8 -17
  65. package/dist/js/node/core/loader/index.js +0 -2
  66. package/dist/js/node/core/loader/loaderManager.js +12 -37
  67. package/dist/js/node/core/loader/useLoader.js +8 -31
  68. package/dist/js/node/core/plugin.js +5 -34
  69. package/dist/js/node/document/Body.js +26 -0
  70. package/dist/js/node/document/DocumentContext.js +14 -0
  71. package/dist/js/node/document/DocumentStructrueContext.js +15 -0
  72. package/dist/js/node/document/Head.js +33 -0
  73. package/dist/js/node/document/Html.js +98 -0
  74. package/dist/js/node/document/Root.js +41 -0
  75. package/dist/js/node/document/Scripts.js +17 -0
  76. package/dist/js/node/document/cli/index.js +140 -0
  77. package/dist/js/node/document/constants.js +36 -0
  78. package/dist/js/node/document/index.js +93 -0
  79. package/dist/js/node/exports/head.js +0 -5
  80. package/dist/js/node/exports/loadable.js +0 -5
  81. package/dist/js/node/exports/server.js +0 -2
  82. package/dist/js/node/exports/styled.js +0 -5
  83. package/dist/js/node/index.js +5 -5
  84. package/dist/js/node/router/cli/index.js +20 -24
  85. package/dist/js/node/router/index.js +0 -4
  86. package/dist/js/node/router/runtime/DefaultNotFound.js +1 -5
  87. package/dist/js/node/router/runtime/index.js +4 -9
  88. package/dist/js/node/router/runtime/plugin.js +23 -65
  89. package/dist/js/node/router/runtime/plugin.node.js +147 -0
  90. package/dist/js/node/router/runtime/root/index.js +26 -0
  91. package/dist/js/node/router/runtime/root/load.js +69 -0
  92. package/dist/js/node/router/runtime/types.js +5 -0
  93. package/dist/js/node/router/runtime/utils.js +101 -67
  94. package/dist/js/node/router/runtime/withRouter.js +26 -0
  95. package/dist/js/node/runtime-context.js +4 -4
  96. package/dist/js/node/ssr/cli/index.js +35 -21
  97. package/dist/js/node/ssr/index.js +63 -62
  98. package/dist/js/node/ssr/index.node.js +6 -25
  99. package/dist/js/node/ssr/prefetch.js +0 -11
  100. package/dist/js/node/ssr/react/index.js +0 -2
  101. package/dist/js/node/ssr/react/nossr/index.js +0 -6
  102. package/dist/js/node/ssr/react/prerender/index.js +2 -30
  103. package/dist/js/node/ssr/react/prerender/util.js +2 -25
  104. package/dist/js/node/ssr/react/withCallback/index.js +1 -4
  105. package/dist/js/node/ssr/serverRender/helmet.js +13 -20
  106. package/dist/js/node/ssr/serverRender/index.js +14 -39
  107. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +45 -0
  108. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +13 -0
  109. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +65 -0
  110. package/dist/js/node/ssr/serverRender/renderToStream/index.js +48 -0
  111. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +30 -0
  112. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +79 -0
  113. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +17 -0
  114. package/dist/js/node/ssr/serverRender/renderToStream/template.js +25 -0
  115. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -0
  116. package/dist/js/node/ssr/serverRender/{entry.js → renderToString/entry.js} +13 -64
  117. package/dist/js/node/ssr/serverRender/renderToString/index.js +37 -0
  118. package/dist/js/node/ssr/serverRender/{loadable.js → renderToString/loadable.js} +3 -28
  119. package/dist/js/node/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -3
  120. package/dist/js/node/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -3
  121. package/dist/js/node/ssr/serverRender/{template.js → renderToString/template.js} +0 -18
  122. package/dist/js/node/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
  123. package/dist/js/node/ssr/serverRender/types.js +12 -0
  124. package/dist/js/node/ssr/serverRender/utils.js +28 -0
  125. package/dist/js/node/ssr/utils.js +10 -21
  126. package/dist/js/node/state/cli/index.js +0 -15
  127. package/dist/js/node/state/index.js +0 -4
  128. package/dist/js/node/state/plugins.js +0 -11
  129. package/dist/js/node/state/runtime/index.js +0 -7
  130. package/dist/js/node/state/runtime/plugin.js +1 -25
  131. package/dist/js/treeshaking/cli/index.js +3 -3
  132. package/dist/js/treeshaking/core/app-config.js +2 -1
  133. package/dist/js/treeshaking/core/compatible.js +50 -65
  134. package/dist/js/treeshaking/core/index.js +4 -3
  135. package/dist/js/treeshaking/core/loader/loaderManager.js +19 -51
  136. package/dist/js/treeshaking/core/loader/useLoader.js +11 -28
  137. package/dist/js/treeshaking/core/plugin.js +6 -51
  138. package/dist/js/treeshaking/document/Body.js +14 -0
  139. package/dist/js/treeshaking/document/DocumentContext.js +6 -0
  140. package/dist/js/treeshaking/document/DocumentStructrueContext.js +7 -0
  141. package/dist/js/treeshaking/document/Head.js +21 -0
  142. package/dist/js/treeshaking/document/Html.js +104 -0
  143. package/dist/js/treeshaking/document/Root.js +24 -0
  144. package/dist/js/treeshaking/document/Scripts.js +10 -0
  145. package/dist/js/treeshaking/document/cli/index.js +170 -0
  146. package/dist/js/treeshaking/document/constants.js +16 -0
  147. package/dist/js/treeshaking/document/index.js +8 -0
  148. package/dist/js/treeshaking/index.js +2 -1
  149. package/dist/js/treeshaking/router/cli/index.js +26 -22
  150. package/dist/js/treeshaking/router/runtime/index.js +1 -1
  151. package/dist/js/treeshaking/router/runtime/plugin.js +28 -54
  152. package/dist/js/treeshaking/router/runtime/plugin.node.js +161 -0
  153. package/dist/js/treeshaking/router/runtime/root/index.js +17 -0
  154. package/dist/js/treeshaking/router/runtime/root/load.js +102 -0
  155. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  156. package/dist/js/treeshaking/router/runtime/utils.js +104 -58
  157. package/dist/js/treeshaking/router/runtime/withRouter.js +18 -0
  158. package/dist/js/treeshaking/runtime-context.js +2 -1
  159. package/dist/js/treeshaking/ssr/cli/index.js +43 -23
  160. package/dist/js/treeshaking/ssr/index.js +74 -59
  161. package/dist/js/treeshaking/ssr/index.node.js +18 -31
  162. package/dist/js/treeshaking/ssr/prefetch.js +0 -13
  163. package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -4
  164. package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -21
  165. package/dist/js/treeshaking/ssr/react/prerender/util.js +3 -20
  166. package/dist/js/treeshaking/ssr/react/withCallback/index.js +1 -2
  167. package/dist/js/treeshaking/ssr/serverRender/helmet.js +12 -11
  168. package/dist/js/treeshaking/ssr/serverRender/index.js +33 -55
  169. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +32 -0
  170. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  171. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +60 -0
  172. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +50 -0
  173. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  174. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +68 -0
  175. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +10 -0
  176. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +22 -0
  177. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -0
  178. package/dist/js/treeshaking/ssr/serverRender/{entry.js → renderToString/entry.js} +23 -76
  179. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +44 -0
  180. package/dist/js/treeshaking/ssr/serverRender/{loadable.js → renderToString/loadable.js} +7 -34
  181. package/dist/js/treeshaking/ssr/serverRender/{reduce.js → renderToString/reduce.js} +0 -2
  182. package/dist/js/treeshaking/ssr/serverRender/{styledComponent.js → renderToString/styledComponent.js} +0 -0
  183. package/dist/js/treeshaking/ssr/serverRender/{template.js → renderToString/template.js} +2 -18
  184. package/dist/js/treeshaking/ssr/serverRender/{type.js → renderToString/type.js} +0 -2
  185. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  186. package/dist/js/treeshaking/ssr/serverRender/utils.js +28 -0
  187. package/dist/js/treeshaking/ssr/utils.js +20 -17
  188. package/dist/js/treeshaking/state/cli/index.js +3 -10
  189. package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
  190. package/dist/types/cli/index.d.ts +0 -2
  191. package/dist/types/common.d.ts +0 -2
  192. package/dist/types/core/compatible.d.ts +2 -2
  193. package/dist/types/core/index.d.ts +2 -2
  194. package/dist/types/core/loader/loaderManager.d.ts +0 -1
  195. package/dist/types/core/loader/useLoader.d.ts +0 -5
  196. package/dist/types/core/plugin.d.ts +2 -14
  197. package/dist/types/document/Body.d.ts +4 -0
  198. package/dist/types/document/DocumentContext.d.ts +13 -0
  199. package/dist/types/document/DocumentStructrueContext.d.ts +10 -0
  200. package/dist/types/document/Head.d.ts +5 -0
  201. package/dist/types/document/Html.d.ts +4 -0
  202. package/dist/types/document/Root.d.ts +8 -0
  203. package/dist/types/document/Scripts.d.ts +2 -0
  204. package/dist/types/document/cli/index.d.ts +3 -0
  205. package/dist/types/document/constants.d.ts +14 -0
  206. package/dist/types/document/index.d.ts +8 -0
  207. package/dist/types/exports/server.d.ts +21 -1
  208. package/dist/types/index.d.ts +2 -1
  209. package/dist/types/router/cli/index.d.ts +0 -2
  210. package/dist/types/router/runtime/DefaultNotFound.d.ts +1 -0
  211. package/dist/types/router/runtime/index.d.ts +3 -3
  212. package/dist/types/router/runtime/plugin.d.ts +2 -45
  213. package/dist/types/router/runtime/plugin.node.d.ts +8 -0
  214. package/dist/types/router/runtime/root/index.d.ts +8 -0
  215. package/dist/types/router/runtime/root/load.d.ts +22 -0
  216. package/dist/types/router/runtime/types.d.ts +36 -0
  217. package/dist/types/router/runtime/utils.d.ts +5 -2
  218. package/dist/types/router/runtime/withRouter.d.ts +8 -0
  219. package/dist/types/runtime-context.d.ts +3 -1
  220. package/dist/types/ssr/cli/index.d.ts +0 -2
  221. package/dist/types/ssr/index.d.ts +2 -2
  222. package/dist/types/ssr/index.node.d.ts +1 -1
  223. package/dist/types/ssr/prefetch.d.ts +2 -2
  224. package/dist/types/ssr/react/nossr/index.d.ts +3 -1
  225. package/dist/types/ssr/serverRender/index.d.ts +2 -3
  226. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +7 -0
  227. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +3 -0
  228. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -0
  229. package/dist/types/ssr/serverRender/renderToStream/index.d.ts +6 -0
  230. package/dist/types/ssr/serverRender/renderToStream/loadable.d.ts +16 -0
  231. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +8 -0
  232. package/dist/types/ssr/serverRender/renderToStream/styledComponent.d.ts +12 -0
  233. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +3 -0
  234. package/dist/types/ssr/serverRender/renderToStream/type.d.ts +4 -0
  235. package/dist/types/ssr/serverRender/{entry.d.ts → renderToString/entry.d.ts} +2 -2
  236. package/dist/types/ssr/serverRender/renderToString/index.d.ts +6 -0
  237. package/dist/types/ssr/serverRender/{loadable.d.ts → renderToString/loadable.d.ts} +0 -0
  238. package/dist/types/ssr/serverRender/{reduce.d.ts → renderToString/reduce.d.ts} +0 -0
  239. package/dist/types/ssr/serverRender/{styledComponent.d.ts → renderToString/styledComponent.d.ts} +0 -0
  240. package/dist/types/ssr/serverRender/{template.d.ts → renderToString/template.d.ts} +0 -0
  241. package/dist/types/ssr/serverRender/{type.d.ts → renderToString/type.d.ts} +1 -8
  242. package/dist/types/ssr/serverRender/types.d.ts +15 -0
  243. package/dist/types/ssr/serverRender/utils.d.ts +3 -0
  244. package/dist/types/ssr/utils.d.ts +4 -2
  245. package/dist/types/state/cli/index.d.ts +0 -2
  246. package/dist/types/state/runtime/plugin.d.ts +1 -1
  247. package/dist/types/state/types.d.ts +0 -1
  248. package/package.json +63 -71
  249. package/types/index.d.ts +13 -0
  250. package/types/router.d.ts +14 -0
  251. package/dist/js/modern/ssr/serverRender/measure.js +0 -11
  252. package/dist/js/node/ssr/serverRender/measure.js +0 -20
  253. package/dist/js/treeshaking/ssr/serverRender/measure.js +0 -17
  254. package/dist/types/ssr/serverRender/measure.d.ts +0 -1
  255. package/lib/types.d.ts +0 -10
  256. package/type.d.ts +0 -5
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createLoaderManager = exports.LoaderStatus = void 0;
7
-
8
7
  var _invariant = _interopRequireDefault(require("invariant"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  /**
13
10
  * Calc id from string or object
14
11
  */
@@ -16,29 +13,25 @@ const createGetId = () => {
16
13
  const idCache = new Map();
17
14
  return objectId => {
18
15
  const cachedId = idCache.get(objectId);
19
-
20
16
  if (cachedId) {
21
17
  return cachedId;
22
- } // WARNING: id should be unique after serialize.
23
-
18
+ }
24
19
 
20
+ // WARNING: id should be unique after serialize.
25
21
  const id = JSON.stringify(objectId);
26
22
  (0, _invariant.default)(id, 'params should be not null value');
27
23
  idCache.set(objectId, id);
28
24
  return id;
29
25
  };
30
26
  };
31
-
32
27
  let LoaderStatus;
33
28
  exports.LoaderStatus = LoaderStatus;
34
-
35
29
  (function (LoaderStatus) {
36
30
  LoaderStatus[LoaderStatus["idle"] = 0] = "idle";
37
31
  LoaderStatus[LoaderStatus["loading"] = 1] = "loading";
38
32
  LoaderStatus[LoaderStatus["fulfilled"] = 2] = "fulfilled";
39
33
  LoaderStatus[LoaderStatus["rejected"] = 3] = "rejected";
40
34
  })(LoaderStatus || (exports.LoaderStatus = LoaderStatus = {}));
41
-
42
35
  const createLoader = (id, initialData = {
43
36
  loading: false,
44
37
  reloading: false,
@@ -53,16 +46,13 @@ const createLoader = (id, initialData = {
53
46
  } = initialData;
54
47
  let hasLoaded = false;
55
48
  const handlers = new Set();
56
-
57
49
  const load = async () => {
58
50
  if (skip) {
59
51
  return promise;
60
52
  }
61
-
62
53
  if (status === LoaderStatus.loading) {
63
54
  return promise;
64
55
  }
65
-
66
56
  status = LoaderStatus.loading;
67
57
  notify();
68
58
  promise = loaderFn().then(value => {
@@ -80,7 +70,6 @@ const createLoader = (id, initialData = {
80
70
  });
81
71
  return promise;
82
72
  };
83
-
84
73
  const getResult = () => ({
85
74
  loading: !hasLoaded && status === LoaderStatus.loading,
86
75
  reloading: hasLoaded && status === LoaderStatus.loading,
@@ -89,35 +78,29 @@ const createLoader = (id, initialData = {
89
78
  // redundant fields for ssr log
90
79
  _error: error
91
80
  });
92
-
93
81
  const notify = () => {
94
82
  // don't iterate handlers directly, since it could be modified during iteration
95
83
  [...handlers].forEach(handler => {
96
84
  handler(status, getResult());
97
85
  });
98
86
  };
99
-
100
87
  const onChange = handler => {
101
88
  handlers.add(handler);
102
89
  return () => {
103
90
  handlers.delete(handler);
104
91
  };
105
92
  };
106
-
107
93
  return {
108
94
  get result() {
109
95
  return getResult();
110
96
  },
111
-
112
97
  get promise() {
113
98
  return promise;
114
99
  },
115
-
116
100
  onChange,
117
101
  load
118
102
  };
119
103
  };
120
-
121
104
  /**
122
105
  * Create loaders manager. It's returned instance will add to context
123
106
  * @param initialDataMap used to initialing loader data
@@ -129,67 +112,60 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
129
112
  } = managerOptions;
130
113
  const loadersMap = new Map();
131
114
  const getId = createGetId();
132
-
133
115
  const add = (loaderFn, loaderOptions) => {
134
116
  const id = getId(loaderOptions.params);
135
- let loader = loadersMap.get(id); // private property for opting out loader cache, maybe change in future
117
+ let loader = loadersMap.get(id);
136
118
 
119
+ // private property for opting out loader cache, maybe change in future
137
120
  const cache = loaderOptions._cache;
138
-
139
121
  if (!loader || cache === false) {
140
122
  // ignore non-static loader on static phase
141
- const ignoreNonStatic = skipNonStatic && !loaderOptions.static; // ignore static loader on non-static phase
123
+ const ignoreNonStatic = skipNonStatic && !loaderOptions.static;
142
124
 
125
+ // ignore static loader on non-static phase
143
126
  const ignoreStatic = skipStatic && loaderOptions.static;
144
127
  const skipExec = ignoreNonStatic || ignoreStatic;
145
128
  loader = createLoader(id, typeof initialDataMap[id] !== 'undefined' ? initialDataMap[id] : {
146
129
  data: loaderOptions.initialData
147
- }, loaderFn, // Todo whether static loader is exec when CSR
130
+ }, loaderFn,
131
+ // Todo whether static loader is exec when CSR
148
132
  skipExec);
149
133
  loadersMap.set(id, loader);
150
134
  }
151
-
152
135
  return id;
153
136
  };
137
+ const get = id => loadersMap.get(id);
154
138
 
155
- const get = id => loadersMap.get(id); // check if there has pending loaders
156
-
157
-
139
+ // check if there has pending loaders
158
140
  const hasPendingLoaders = () => {
159
141
  for (const loader of loadersMap.values()) {
160
142
  const {
161
143
  promise
162
144
  } = loader;
163
-
164
145
  if (promise instanceof Promise) {
165
146
  return true;
166
147
  }
167
148
  }
168
-
169
149
  return false;
170
- }; // waiting for all pending loaders to be settled
171
-
150
+ };
172
151
 
152
+ // waiting for all pending loaders to be settled
173
153
  const awaitPendingLoaders = async () => {
174
154
  const pendingLoaders = [];
175
-
176
155
  for (const [id, loader] of loadersMap) {
177
156
  const {
178
157
  promise
179
158
  } = loader;
180
-
181
159
  if (promise instanceof Promise) {
182
160
  pendingLoaders.push([id, loader]);
183
161
  }
184
162
  }
185
-
186
163
  await Promise.all(pendingLoaders.map(item => item[1].promise));
187
164
  return pendingLoaders.reduce((res, [id, loader]) => {
188
165
  res[id] = loader.result;
189
166
  return res;
190
167
  }, {});
191
168
  };
192
-
193
169
  return {
194
170
  hasPendingLoaders,
195
171
  awaitPendingLoaders,
@@ -197,5 +173,4 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
197
173
  get
198
174
  };
199
175
  };
200
-
201
176
  exports.createLoaderManager = createLoaderManager;
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _invariant = _interopRequireDefault(require("invariant"));
11
-
12
9
  var _runtimeContext = require("../../runtime-context");
13
-
14
10
  var _loaderManager = require("./loaderManager");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  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; }
19
-
20
13
  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; }
21
-
22
14
  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; }
23
-
24
15
  const useLoader = (loaderFn, options = {
25
16
  params: undefined
26
17
  }) => {
@@ -30,29 +21,24 @@ const useLoader = (loaderFn, options = {
30
21
  loaderManager
31
22
  } = context;
32
23
  const loaderRef = (0, _react.useRef)();
33
- const unlistenLoaderChangeRef = (0, _react.useRef)(null); // SSR render should ignore `_cache` prop
24
+ const unlistenLoaderChangeRef = (0, _react.useRef)(null);
34
25
 
26
+ // SSR render should ignore `_cache` prop
35
27
  if (isSSRRender && Object.prototype.hasOwnProperty.call(options, '_cache')) {
36
28
  delete options._cache;
37
29
  }
38
-
39
30
  const load = (0, _react.useCallback)(params => {
40
31
  var _unlistenLoaderChange, _window, _window$_SSR_DATA, _window$_SSR_DATA$dat, _window$_SSR_DATA$dat2, _loaderRef$current2;
41
-
42
32
  if (typeof params === 'undefined') {
43
33
  var _loaderRef$current;
44
-
45
34
  return (_loaderRef$current = loaderRef.current) === null || _loaderRef$current === void 0 ? void 0 : _loaderRef$current.load();
46
35
  }
47
-
48
36
  const id = loaderManager.add(() => {
49
37
  try {
50
38
  const res = loaderFn(context, params);
51
-
52
39
  if (res instanceof Promise) {
53
40
  return res;
54
41
  }
55
-
56
42
  return Promise.resolve(res);
57
43
  } catch (e) {
58
44
  return Promise.reject(e);
@@ -60,37 +46,31 @@ const useLoader = (loaderFn, options = {
60
46
  }, _objectSpread(_objectSpread({}, options), {}, {
61
47
  params
62
48
  }));
63
- loaderRef.current = loaderManager.get(id); // unsubscribe old loader onChange event
64
-
49
+ loaderRef.current = loaderManager.get(id);
50
+ // unsubscribe old loader onChange event
65
51
  (_unlistenLoaderChange = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChange === void 0 ? void 0 : _unlistenLoaderChange.call(unlistenLoaderChangeRef);
66
-
67
52
  if (isSSRRender) {
68
53
  return undefined;
69
- } // skip this loader, then try to unlisten loader change
70
-
54
+ }
71
55
 
56
+ // skip this loader, then try to unlisten loader change
72
57
  if (options.skip) {
73
58
  return undefined;
74
- } // do not load data again in CSR hydrate stage if SSR data exists
75
-
59
+ }
76
60
 
61
+ // do not load data again in CSR hydrate stage if SSR data exists
77
62
  if (context._hydration && ((_window = window) === null || _window === void 0 ? void 0 : (_window$_SSR_DATA = _window._SSR_DATA) === null || _window$_SSR_DATA === void 0 ? void 0 : (_window$_SSR_DATA$dat = _window$_SSR_DATA.data) === null || _window$_SSR_DATA$dat === void 0 ? void 0 : (_window$_SSR_DATA$dat2 = _window$_SSR_DATA$dat.loadersData[id]) === null || _window$_SSR_DATA$dat2 === void 0 ? void 0 : _window$_SSR_DATA$dat2.error) === null) {
78
63
  return undefined;
79
64
  }
80
-
81
65
  const res = loaderRef.current.load();
82
66
  unlistenLoaderChangeRef.current = (_loaderRef$current2 = loaderRef.current) === null || _loaderRef$current2 === void 0 ? void 0 : _loaderRef$current2.onChange((_status, _result) => {
83
67
  setResult(_result);
84
-
85
68
  if (_status === _loaderManager.LoaderStatus.fulfilled) {
86
69
  var _options$onSuccess;
87
-
88
70
  options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(options, _result.data);
89
71
  }
90
-
91
72
  if (_status === _loaderManager.LoaderStatus.rejected) {
92
73
  var _options$onError;
93
-
94
74
  options === null || options === void 0 ? void 0 : (_options$onError = options.onError) === null || _options$onError === void 0 ? void 0 : _options$onError.call(options, _result.error);
95
75
  }
96
76
  });
@@ -98,12 +78,10 @@ const useLoader = (loaderFn, options = {
98
78
  }, [options.skip]);
99
79
  (0, _react.useEffect)(() => () => {
100
80
  var _unlistenLoaderChange2;
101
-
102
81
  (_unlistenLoaderChange2 = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChange2 === void 0 ? void 0 : _unlistenLoaderChange2.call(unlistenLoaderChangeRef);
103
82
  }, []);
104
83
  (0, _react.useMemo)(() => {
105
84
  var _options$params;
106
-
107
85
  const p = (_options$params = options.params) !== null && _options$params !== void 0 ? _options$params : loaderFn.id;
108
86
  (0, _invariant.default)(typeof p !== 'undefined' && p !== null, 'Params is required in useLoader');
109
87
  load(p);
@@ -113,6 +91,5 @@ const useLoader = (loaderFn, options = {
113
91
  reload: load
114
92
  });
115
93
  };
116
-
117
94
  var _default = useLoader;
118
95
  exports.default = _default;
@@ -3,19 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.runtime = exports.registerPrefetch = exports.registerInit = exports.createRuntime = exports.createPlugin = void 0;
7
-
6
+ exports.runtime = exports.registerInit = exports.createRuntime = exports.createPlugin = void 0;
8
7
  var _plugin = require("@modern-js/plugin");
9
-
10
8
  var _loaderManager = require("./loader/loaderManager");
9
+ const hoc = (0, _plugin.createPipeline)();
11
10
 
12
- 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; }
13
-
14
- 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; }
15
-
16
- 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; }
17
-
18
- const hoc = (0, _plugin.createPipeline)(); // eslint-disable-next-line @typescript-eslint/no-empty-interface
11
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
19
12
 
20
13
  const provide = (0, _plugin.createPipeline)();
21
14
  const client = (0, _plugin.createAsyncPipeline)();
@@ -30,47 +23,25 @@ const runtimeHooks = {
30
23
  init,
31
24
  pickContext
32
25
  };
26
+
33
27
  /** All hooks of runtime plugin. */
34
28
 
35
29
  const createRuntime = () => (0, _plugin.createManager)(runtimeHooks);
30
+
36
31
  /**
37
32
  * register init hook. It would be revoked both ssr and csr.
38
33
  */
39
-
40
-
41
34
  exports.createRuntime = createRuntime;
42
-
43
35
  const registerInit = (App, _init) => {
44
36
  const originalInit = App.init;
45
-
46
37
  App.init = async context => {
47
38
  if (!context.loaderManager) {
48
39
  context.loaderManager = (0, _loaderManager.createLoaderManager)({});
49
40
  }
50
-
51
41
  await Promise.all([originalInit === null || originalInit === void 0 ? void 0 : originalInit(context), _init === null || _init === void 0 ? void 0 : _init(context)]);
52
42
  };
53
43
  };
54
- /**
55
- * register prefetch hook. It would be revoked both ssr and csr.
56
- * But if ssr success, It wont exec in csr again.
57
- * If ssr prefetch failed, It will fallback to exec in csr.
58
- */
59
-
60
-
61
44
  exports.registerInit = registerInit;
62
-
63
- const registerPrefetch = (App, prefetch) => {
64
- const originalPrefetch = App.prefetch;
65
-
66
- App.prefetch = async context => {
67
- const originResult = await (originalPrefetch === null || originalPrefetch === void 0 ? void 0 : originalPrefetch(context));
68
- const result = await (prefetch === null || prefetch === void 0 ? void 0 : prefetch(context));
69
- return _objectSpread(_objectSpread({}, originResult), result);
70
- };
71
- };
72
-
73
- exports.registerPrefetch = registerPrefetch;
74
45
  const runtime = createRuntime();
75
46
  exports.runtime = runtime;
76
47
  const {
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Body = Body;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _constants = require("./constants");
9
+ var _DocumentStructrueContext = require("./DocumentStructrueContext");
10
+ var _Root = require("./Root");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+
16
+ function Body(props) {
17
+ const {
18
+ hasSetRoot
19
+ } = (0, _react.useContext)(_DocumentStructrueContext.DocumentStructrueContext);
20
+ const {
21
+ children
22
+ } = props;
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("body", {
24
+ children: [hasSetRoot ? null : _Root.DefaultRoot, children, `${_constants.DOCUMENT_CHUNKSMAP_PLACEHOLDER}`, `${_constants.DOCUMENT_SSRDATASCRIPT_PLACEHOLDER}`]
25
+ });
26
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DocumentContext = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const DocumentContext = /*#__PURE__*/_react.default.createContext({
10
+ config: {},
11
+ templateParams: {},
12
+ processEnv: {}
13
+ });
14
+ exports.DocumentContext = DocumentContext;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DocumentStructrueContext = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const DocumentStructrueContext = /*#__PURE__*/_react.default.createContext({
10
+ hasSetHead: false,
11
+ hasSetScripts: false,
12
+ hasSetBody: false,
13
+ hasSetRoot: false
14
+ });
15
+ exports.DocumentStructrueContext = DocumentStructrueContext;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DefaultHead = DefaultHead;
7
+ exports.Head = Head;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _DocumentStructrueContext = require("./DocumentStructrueContext");
10
+ var _Scripts = require("./Scripts");
11
+ var _constants = require("./constants");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
+
17
+ function Head(props) {
18
+ const {
19
+ hasSetScripts
20
+ } = (0, _react.useContext)(_DocumentStructrueContext.DocumentStructrueContext);
21
+ const {
22
+ children
23
+ } = props;
24
+ // todo: verify the children
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("head", {
26
+ children: [`${_constants.DOCUMENT_META_PLACEHOLDER}`, !hasSetScripts && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Scripts.Scripts, {}), children]
27
+ });
28
+ }
29
+ function DefaultHead() {
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("head", {
31
+ children: `${_constants.DOCUMENT_META_PLACEHOLDER}`
32
+ });
33
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Html = Html;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Body = require("./Body");
9
+ var _DocumentStructrueContext = require("./DocumentStructrueContext");
10
+ var _Head = require("./Head");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+
15
+ /**
16
+ * get the directly son element
17
+ */
18
+ function findTargetChild(tag, children) {
19
+ return children.find(item => getEleType(item) === tag);
20
+ }
21
+
22
+ /**
23
+ * get the type of react element
24
+ */
25
+ function getEleType(ele) {
26
+ // fixme: 非 react 的类型,有点儿问题。
27
+ return typeof (ele === null || ele === void 0 ? void 0 : ele.type) === 'function' ? ele.type.name : ele === null || ele === void 0 ? void 0 : ele.type;
28
+ }
29
+
30
+ /**
31
+ * get the children(grandChild included) with target type
32
+ * @param tag the element type
33
+ * @param children son element
34
+ * @returns target element
35
+ */
36
+ function findTargetElement(tag, children) {
37
+ if (children.length === 0) {
38
+ return null;
39
+ }
40
+ let nextChildren = [];
41
+ for (const item of children) {
42
+ var _item$props;
43
+ if (tag === getEleType(item)) {
44
+ return item;
45
+ }
46
+ if (item !== null && item !== void 0 && (_item$props = item.props) !== null && _item$props !== void 0 && _item$props.children) {
47
+ nextChildren = nextChildren.concat(item.props.children);
48
+ }
49
+ }
50
+ return findTargetElement(tag, nextChildren);
51
+ }
52
+ function Html(props) {
53
+ const {
54
+ children
55
+ } = props;
56
+
57
+ // deal with the component with default
58
+ const hasSetHead = Boolean(findTargetChild('Head', children));
59
+ const hasSetScripts = Boolean(findTargetElement('Scripts', children));
60
+ const hasSetBody = Boolean(findTargetChild('Body', children));
61
+ const hasSetRoot = Boolean(findTargetElement('Root', children));
62
+ const notMissMustChild = [hasSetHead, hasSetBody
63
+ // hasSetScripts,
64
+ // hasSetRoot,
65
+ ].every(item => item);
66
+
67
+ // todo: or throw an error
68
+ if (!notMissMustChild) {
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("html", {
70
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("body", {
71
+ style: {
72
+ color: 'red'
73
+ },
74
+ children: [`Miss the `, [hasSetHead, hasSetBody
75
+ // hasSetScripts,
76
+ // hasSetRoot,
77
+ ].map((item, index) => {
78
+ return item ? null : ['Head', 'Body'
79
+ // 'Scripts',
80
+ // 'Root',
81
+ ][index];
82
+ }), ` Element`]
83
+ })
84
+ });
85
+ }
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("html", {
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DocumentStructrueContext.DocumentStructrueContext.Provider, {
88
+ value: {
89
+ hasSetHead,
90
+ hasSetScripts,
91
+ hasSetRoot,
92
+ hasSetBody,
93
+ docChild: children
94
+ },
95
+ children: [!hasSetHead && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Head.Head, {}), !hasSetBody && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Body.Body, {}), children]
96
+ })
97
+ });
98
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DefaultRoot = DefaultRoot;
7
+ exports.Root = Root;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _DocumentContext = require("./DocumentContext");
10
+ var _constants = require("./constants");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+
16
+ function Root(props) {
17
+ const {
18
+ rootId,
19
+ children
20
+ } = props;
21
+ const {
22
+ templateParams: {
23
+ mountId = 'root'
24
+ }
25
+ } = (0, _react.useContext)(_DocumentContext.DocumentContext);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
27
+ id: `${rootId || mountId}`,
28
+ children: [`${_constants.DOCUMENT_SSR_PLACEHOLDER}`, children]
29
+ });
30
+ }
31
+ function DefaultRoot(props) {
32
+ const {
33
+ templateParams: {
34
+ mountId
35
+ }
36
+ } = (0, _react.useContext)(_DocumentContext.DocumentContext);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
38
+ id: `${mountId}`,
39
+ children: [`${_constants.DOCUMENT_SSR_PLACEHOLDER}`, props.children]
40
+ });
41
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Scripts = Scripts;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _constants = require("./constants");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+
13
+ function Scripts() {
14
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
15
+ children: `${_constants.DOCUMENT_SCRIPTS_PLACEHOLDER}`
16
+ });
17
+ }