@modern-js/runtime 2.15.1-alpha.2 → 2.16.1-alpha.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 (261) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/cli/index.js +32 -48
  3. package/dist/cjs/common.js +13 -27
  4. package/dist/cjs/config.js +4 -15
  5. package/dist/cjs/core/appConfig.js +13 -26
  6. package/dist/cjs/core/compatible.js +170 -158
  7. package/dist/cjs/core/index.js +38 -45
  8. package/dist/cjs/core/loader/index.js +12 -35
  9. package/dist/cjs/core/loader/loaderManager.js +42 -56
  10. package/dist/cjs/core/loader/useLoader.js +80 -105
  11. package/dist/cjs/core/plugin.js +28 -40
  12. package/dist/cjs/core/types.js +4 -15
  13. package/dist/cjs/document/Body.js +61 -37
  14. package/dist/cjs/document/Comment.js +22 -32
  15. package/dist/cjs/document/DocumentContext.js +14 -37
  16. package/dist/cjs/document/DocumentStructureContext.js +14 -37
  17. package/dist/cjs/document/Head.js +71 -40
  18. package/dist/cjs/document/Html.js +46 -58
  19. package/dist/cjs/document/Links.js +18 -28
  20. package/dist/cjs/document/Root.js +73 -44
  21. package/dist/cjs/document/Script.js +22 -32
  22. package/dist/cjs/document/Scripts.js +18 -28
  23. package/dist/cjs/document/cli/index.js +161 -207
  24. package/dist/cjs/document/constants.js +36 -75
  25. package/dist/cjs/document/index.js +28 -27
  26. package/dist/cjs/exports/head.js +27 -37
  27. package/dist/cjs/exports/loadable.js +27 -37
  28. package/dist/cjs/exports/server.js +7 -25
  29. package/dist/cjs/exports/styled.js +27 -37
  30. package/dist/cjs/index.js +22 -42
  31. package/dist/cjs/router/cli/index.js +91 -114
  32. package/dist/cjs/router/index.js +32 -39
  33. package/dist/cjs/router/runtime/DefaultNotFound.js +23 -38
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +8 -24
  35. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +69 -112
  36. package/dist/cjs/router/runtime/PrefetchLink.js +117 -96
  37. package/dist/cjs/router/runtime/fetch.js +7 -25
  38. package/dist/cjs/router/runtime/fetch.node.js +7 -25
  39. package/dist/cjs/router/runtime/fetch.worker.js +7 -25
  40. package/dist/cjs/router/runtime/hooks.js +8 -26
  41. package/dist/cjs/router/runtime/index.js +97 -149
  42. package/dist/cjs/router/runtime/plugin.js +56 -76
  43. package/dist/cjs/router/runtime/plugin.node.js +95 -74
  44. package/dist/cjs/router/runtime/server.js +18 -17
  45. package/dist/cjs/router/runtime/types.js +4 -15
  46. package/dist/cjs/router/runtime/utils.js +57 -83
  47. package/dist/cjs/router/runtime/withRouter.js +24 -39
  48. package/dist/cjs/runtimeContext.js +14 -27
  49. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +75 -59
  50. package/dist/cjs/ssr/cli/index.js +120 -150
  51. package/dist/cjs/ssr/index.js +149 -132
  52. package/dist/cjs/ssr/index.node.js +73 -74
  53. package/dist/cjs/ssr/prefetch.js +51 -59
  54. package/dist/cjs/ssr/react/index.js +15 -28
  55. package/dist/cjs/ssr/react/nossr/index.js +51 -43
  56. package/dist/cjs/ssr/react/prerender/index.js +93 -59
  57. package/dist/cjs/ssr/react/prerender/type.js +4 -15
  58. package/dist/cjs/ssr/react/prerender/util.js +32 -51
  59. package/dist/cjs/ssr/react/withCallback/index.js +53 -29
  60. package/dist/cjs/ssr/serverRender/helmet.js +15 -26
  61. package/dist/cjs/ssr/serverRender/index.js +14 -32
  62. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +15 -34
  63. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +12 -28
  64. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +28 -55
  65. package/dist/cjs/ssr/serverRender/renderToStream/index.js +23 -48
  66. package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +13 -32
  67. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +33 -64
  68. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +26 -54
  69. package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +9 -27
  70. package/dist/cjs/ssr/serverRender/renderToStream/template.js +11 -32
  71. package/dist/cjs/ssr/serverRender/renderToStream/type.js +4 -15
  72. package/dist/cjs/ssr/serverRender/renderToString/entry.js +133 -99
  73. package/dist/cjs/ssr/serverRender/renderToString/index.js +21 -48
  74. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +20 -45
  75. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +13 -25
  76. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +9 -27
  77. package/dist/cjs/ssr/serverRender/renderToString/template.js +42 -37
  78. package/dist/cjs/ssr/serverRender/renderToString/type.js +10 -28
  79. package/dist/cjs/ssr/serverRender/time.js +7 -25
  80. package/dist/cjs/ssr/serverRender/time.worker.js +11 -26
  81. package/dist/cjs/ssr/serverRender/types.js +7 -25
  82. package/dist/cjs/ssr/serverRender/utils.js +12 -27
  83. package/dist/cjs/ssr/utils.js +26 -51
  84. package/dist/cjs/state/cli/index.js +71 -95
  85. package/dist/cjs/state/index.js +32 -39
  86. package/dist/cjs/state/plugins.js +26 -46
  87. package/dist/cjs/state/runtime/index.js +27 -37
  88. package/dist/cjs/state/runtime/plugin.js +82 -84
  89. package/dist/cjs/state/types.js +4 -15
  90. package/dist/esm/cli/index.js +184 -176
  91. package/dist/esm/common.js +4 -5
  92. package/dist/esm/config.js +1 -1
  93. package/dist/esm/core/appConfig.js +8 -7
  94. package/dist/esm/core/compatible.js +470 -448
  95. package/dist/esm/core/index.js +3 -4
  96. package/dist/esm/core/loader/index.js +1 -2
  97. package/dist/esm/core/loader/loaderManager.js +391 -366
  98. package/dist/esm/core/loader/useLoader.js +173 -162
  99. package/dist/esm/core/plugin.js +162 -155
  100. package/dist/esm/core/types.js +1 -1
  101. package/dist/esm/document/Body.js +12 -13
  102. package/dist/esm/document/Comment.js +11 -12
  103. package/dist/esm/document/DocumentContext.js +4 -5
  104. package/dist/esm/document/DocumentStructureContext.js +6 -7
  105. package/dist/esm/document/Head.js +16 -17
  106. package/dist/esm/document/Html.js +84 -85
  107. package/dist/esm/document/Links.js +5 -6
  108. package/dist/esm/document/Root.js +20 -21
  109. package/dist/esm/document/Script.js +12 -13
  110. package/dist/esm/document/Scripts.js +5 -6
  111. package/dist/esm/document/cli/index.js +390 -371
  112. package/dist/esm/document/constants.js +33 -34
  113. package/dist/esm/exports/head.js +1 -2
  114. package/dist/esm/exports/loadable.js +1 -2
  115. package/dist/esm/exports/server.js +2 -3
  116. package/dist/esm/exports/styled.js +1 -2
  117. package/dist/esm/index.js +2 -3
  118. package/dist/esm/router/cli/index.js +141 -141
  119. package/dist/esm/router/index.js +2 -3
  120. package/dist/esm/router/runtime/DefaultNotFound.js +12 -13
  121. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -4
  122. package/dist/esm/router/runtime/DeferredDataScripts.node.js +154 -143
  123. package/dist/esm/router/runtime/PrefetchLink.js +418 -394
  124. package/dist/esm/router/runtime/fetch.js +2 -1
  125. package/dist/esm/router/runtime/fetch.worker.js +2 -1
  126. package/dist/esm/router/runtime/index.js +62 -9
  127. package/dist/esm/router/runtime/plugin.js +141 -142
  128. package/dist/esm/router/runtime/plugin.node.js +372 -353
  129. package/dist/esm/router/runtime/types.js +1 -1
  130. package/dist/esm/router/runtime/utils.js +295 -279
  131. package/dist/esm/router/runtime/withRouter.js +57 -58
  132. package/dist/esm/runtimeContext.js +2 -3
  133. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +105 -118
  134. package/dist/esm/ssr/cli/index.js +146 -146
  135. package/dist/esm/ssr/index.js +303 -297
  136. package/dist/esm/ssr/index.node.js +227 -221
  137. package/dist/esm/ssr/prefetch.js +192 -186
  138. package/dist/esm/ssr/react/index.js +2 -3
  139. package/dist/esm/ssr/react/nossr/index.js +58 -47
  140. package/dist/esm/ssr/react/prerender/index.js +214 -206
  141. package/dist/esm/ssr/react/prerender/type.js +1 -1
  142. package/dist/esm/ssr/react/prerender/util.js +91 -92
  143. package/dist/esm/ssr/react/withCallback/index.js +13 -14
  144. package/dist/esm/ssr/serverRender/helmet.js +34 -35
  145. package/dist/esm/ssr/serverRender/index.js +167 -160
  146. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +58 -59
  147. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -6
  148. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +106 -93
  149. package/dist/esm/ssr/serverRender/renderToStream/index.js +157 -151
  150. package/dist/esm/ssr/serverRender/renderToStream/loadable.js +17 -18
  151. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +117 -117
  152. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +286 -279
  153. package/dist/esm/ssr/serverRender/renderToStream/styledComponent.js +8 -9
  154. package/dist/esm/ssr/serverRender/renderToStream/template.js +62 -51
  155. package/dist/esm/ssr/serverRender/renderToStream/type.js +1 -1
  156. package/dist/esm/ssr/serverRender/renderToString/entry.js +393 -383
  157. package/dist/esm/ssr/serverRender/renderToString/index.js +158 -152
  158. package/dist/esm/ssr/serverRender/renderToString/loadable.js +46 -47
  159. package/dist/esm/ssr/serverRender/renderToString/reduce.js +7 -8
  160. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +6 -7
  161. package/dist/esm/ssr/serverRender/renderToString/template.js +142 -128
  162. package/dist/esm/ssr/serverRender/renderToString/type.js +6 -7
  163. package/dist/esm/ssr/serverRender/time.js +57 -46
  164. package/dist/esm/ssr/serverRender/time.worker.js +72 -61
  165. package/dist/esm/ssr/serverRender/utils.js +14 -15
  166. package/dist/esm/ssr/utils.js +128 -117
  167. package/dist/esm/state/cli/index.js +67 -67
  168. package/dist/esm/state/index.js +2 -3
  169. package/dist/esm/state/plugins.js +7 -8
  170. package/dist/esm/state/runtime/index.js +1 -2
  171. package/dist/esm/state/runtime/plugin.js +177 -166
  172. package/dist/esm/state/types.js +1 -1
  173. package/dist/esm-node/cli/index.js +11 -9
  174. package/dist/esm-node/common.js +3 -8
  175. package/dist/esm-node/config.js +1 -0
  176. package/dist/esm-node/core/appConfig.js +2 -6
  177. package/dist/esm-node/core/compatible.js +104 -120
  178. package/dist/esm-node/core/index.js +3 -13
  179. package/dist/esm-node/core/loader/index.js +1 -4
  180. package/dist/esm-node/core/loader/loaderManager.js +25 -25
  181. package/dist/esm-node/core/loader/useLoader.js +60 -74
  182. package/dist/esm-node/core/plugin.js +9 -15
  183. package/dist/esm-node/core/types.js +1 -0
  184. package/dist/esm-node/document/Body.js +11 -15
  185. package/dist/esm-node/document/Comment.js +10 -14
  186. package/dist/esm-node/document/DocumentContext.js +1 -4
  187. package/dist/esm-node/document/DocumentStructureContext.js +1 -4
  188. package/dist/esm-node/document/Head.js +14 -14
  189. package/dist/esm-node/document/Html.js +31 -34
  190. package/dist/esm-node/document/Links.js +5 -6
  191. package/dist/esm-node/document/Root.js +19 -21
  192. package/dist/esm-node/document/Script.js +10 -14
  193. package/dist/esm-node/document/Scripts.js +5 -6
  194. package/dist/esm-node/document/cli/index.js +136 -184
  195. package/dist/esm-node/document/constants.js +22 -52
  196. package/dist/esm-node/exports/head.js +1 -4
  197. package/dist/esm-node/exports/loadable.js +1 -4
  198. package/dist/esm-node/exports/server.js +1 -4
  199. package/dist/esm-node/exports/styled.js +1 -4
  200. package/dist/esm-node/index.js +2 -22
  201. package/dist/esm-node/router/cli/index.js +83 -98
  202. package/dist/esm-node/router/index.js +2 -6
  203. package/dist/esm-node/router/runtime/DefaultNotFound.js +11 -17
  204. package/dist/esm-node/router/runtime/DeferredDataScripts.js +1 -4
  205. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +51 -85
  206. package/dist/esm-node/router/runtime/PrefetchLink.js +53 -59
  207. package/dist/esm-node/router/runtime/fetch.js +1 -3
  208. package/dist/esm-node/router/runtime/fetch.node.js +1 -3
  209. package/dist/esm-node/router/runtime/fetch.worker.js +1 -3
  210. package/dist/esm-node/router/runtime/hooks.js +1 -3
  211. package/dist/esm-node/router/runtime/index.js +10 -69
  212. package/dist/esm-node/router/runtime/plugin.js +27 -41
  213. package/dist/esm-node/router/runtime/plugin.node.js +24 -32
  214. package/dist/esm-node/router/runtime/types.js +1 -0
  215. package/dist/esm-node/router/runtime/utils.js +34 -50
  216. package/dist/esm-node/router/runtime/withRouter.js +8 -14
  217. package/dist/esm-node/runtimeContext.js +2 -6
  218. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +99 -119
  219. package/dist/esm-node/ssr/cli/index.js +106 -125
  220. package/dist/esm-node/ssr/index.js +112 -96
  221. package/dist/esm-node/ssr/index.node.js +39 -39
  222. package/dist/esm-node/ssr/prefetch.js +40 -35
  223. package/dist/esm-node/ssr/react/index.js +2 -6
  224. package/dist/esm-node/ssr/react/nossr/index.js +2 -9
  225. package/dist/esm-node/ssr/react/prerender/index.js +32 -23
  226. package/dist/esm-node/ssr/react/prerender/type.js +1 -0
  227. package/dist/esm-node/ssr/react/prerender/util.js +23 -33
  228. package/dist/esm-node/ssr/react/withCallback/index.js +4 -5
  229. package/dist/esm-node/ssr/serverRender/helmet.js +2 -5
  230. package/dist/esm-node/ssr/serverRender/index.js +5 -10
  231. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +3 -10
  233. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -17
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -7
  235. package/dist/esm-node/ssr/serverRender/renderToStream/loadable.js +4 -8
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +21 -39
  237. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -31
  238. package/dist/esm-node/ssr/serverRender/renderToStream/styledComponent.js +1 -4
  239. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -8
  240. package/dist/esm-node/ssr/serverRender/renderToStream/type.js +1 -0
  241. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +50 -39
  242. package/dist/esm-node/ssr/serverRender/renderToString/index.js +1 -8
  243. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -18
  244. package/dist/esm-node/ssr/serverRender/renderToString/reduce.js +1 -4
  245. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -4
  246. package/dist/esm-node/ssr/serverRender/renderToString/template.js +32 -18
  247. package/dist/esm-node/ssr/serverRender/renderToString/type.js +3 -6
  248. package/dist/esm-node/ssr/serverRender/time.js +1 -4
  249. package/dist/esm-node/ssr/serverRender/time.worker.js +5 -5
  250. package/dist/esm-node/ssr/serverRender/types.js +1 -3
  251. package/dist/esm-node/ssr/serverRender/utils.js +4 -10
  252. package/dist/esm-node/ssr/utils.js +8 -19
  253. package/dist/esm-node/state/cli/index.js +63 -78
  254. package/dist/esm-node/state/index.js +2 -6
  255. package/dist/esm-node/state/plugins.js +4 -10
  256. package/dist/esm-node/state/runtime/index.js +1 -4
  257. package/dist/esm-node/state/runtime/plugin.js +47 -44
  258. package/dist/esm-node/state/types.js +1 -0
  259. package/dist/types/router/runtime/index.d.ts +1 -1
  260. package/package.json +14 -10
  261. package/types/model.d.ts +1 -0
@@ -1,215 +1,236 @@
1
- function _arrayLikeToArray(arr, len) {
2
- if (len == null || len > arr.length) len = arr.length;
3
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
- return arr2;
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length)
3
+ len = arr.length;
4
+ for (var i = 0, arr2 = new Array(len); i < len; i++)
5
+ arr2[i] = arr[i];
6
+ return arr2;
5
7
  }
6
- function _arrayWithoutHoles(arr) {
7
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
+ function _array_without_holes(arr) {
9
+ if (Array.isArray(arr))
10
+ return _array_like_to_array(arr);
8
11
  }
9
12
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
- try {
11
- var info = gen[key](arg);
12
- var value = info.value;
13
- } catch (error) {
14
- reject(error);
15
- return;
16
- }
17
- if (info.done) {
18
- resolve(value);
19
- } else {
20
- Promise.resolve(value).then(_next, _throw);
21
- }
13
+ try {
14
+ var info = gen[key](arg);
15
+ var value = info.value;
16
+ } catch (error) {
17
+ reject(error);
18
+ return;
19
+ }
20
+ if (info.done) {
21
+ resolve(value);
22
+ } else {
23
+ Promise.resolve(value).then(_next, _throw);
24
+ }
22
25
  }
23
- function _asyncToGenerator(fn) {
24
- return function() {
25
- var self = this, args = arguments;
26
- return new Promise(function(resolve, reject) {
27
- var gen = fn.apply(self, args);
28
- function _next(value) {
29
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
- }
31
- function _throw(err) {
32
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
- }
34
- _next(undefined);
35
- });
36
- };
26
+ function _async_to_generator(fn) {
27
+ return function() {
28
+ var self = this, args = arguments;
29
+ return new Promise(function(resolve, reject) {
30
+ var gen = fn.apply(self, args);
31
+ function _next(value) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
33
+ }
34
+ function _throw(err) {
35
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
36
+ }
37
+ _next(void 0);
38
+ });
39
+ };
37
40
  }
38
- function _defineProperty(obj, key, value) {
39
- if (key in obj) {
40
- Object.defineProperty(obj, key, {
41
- value: value,
42
- enumerable: true,
43
- configurable: true,
44
- writable: true
45
- });
46
- } else {
47
- obj[key] = value;
48
- }
49
- return obj;
41
+ function _define_property(obj, key, value) {
42
+ if (key in obj) {
43
+ Object.defineProperty(obj, key, {
44
+ value,
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true
48
+ });
49
+ } else {
50
+ obj[key] = value;
51
+ }
52
+ return obj;
50
53
  }
51
54
  function _instanceof(left, right) {
52
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
53
- return !!right[Symbol.hasInstance](left);
54
- } else {
55
- return left instanceof right;
56
- }
55
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
56
+ return !!right[Symbol.hasInstance](left);
57
+ } else {
58
+ return left instanceof right;
59
+ }
57
60
  }
58
- function _iterableToArray(iter) {
59
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
61
+ function _iterable_to_array(iter) {
62
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
63
+ return Array.from(iter);
60
64
  }
61
- function _nonIterableSpread() {
62
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
65
+ function _non_iterable_spread() {
66
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
63
67
  }
64
- function _objectSpread(target) {
65
- for(var i = 1; i < arguments.length; i++){
66
- var source = arguments[i] != null ? arguments[i] : {};
67
- var ownKeys = Object.keys(source);
68
- if (typeof Object.getOwnPropertySymbols === "function") {
69
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
70
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
71
- }));
72
- }
73
- ownKeys.forEach(function(key) {
74
- _defineProperty(target, key, source[key]);
75
- });
68
+ function _object_spread(target) {
69
+ for (var i = 1; i < arguments.length; i++) {
70
+ var source = arguments[i] != null ? arguments[i] : {};
71
+ var ownKeys = Object.keys(source);
72
+ if (typeof Object.getOwnPropertySymbols === "function") {
73
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
74
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
75
+ }));
76
76
  }
77
- return target;
77
+ ownKeys.forEach(function(key) {
78
+ _define_property(target, key, source[key]);
79
+ });
80
+ }
81
+ return target;
78
82
  }
79
- function _objectWithoutProperties(source, excluded) {
80
- if (source == null) return {};
81
- var target = _objectWithoutPropertiesLoose(source, excluded);
82
- var key, i;
83
- if (Object.getOwnPropertySymbols) {
84
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
85
- for(i = 0; i < sourceSymbolKeys.length; i++){
86
- key = sourceSymbolKeys[i];
87
- if (excluded.indexOf(key) >= 0) continue;
88
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
89
- target[key] = source[key];
90
- }
83
+ function _object_without_properties(source, excluded) {
84
+ if (source == null)
85
+ return {};
86
+ var target = _object_without_properties_loose(source, excluded);
87
+ var key, i;
88
+ if (Object.getOwnPropertySymbols) {
89
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
90
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
91
+ key = sourceSymbolKeys[i];
92
+ if (excluded.indexOf(key) >= 0)
93
+ continue;
94
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
95
+ continue;
96
+ target[key] = source[key];
91
97
  }
92
- return target;
98
+ }
99
+ return target;
93
100
  }
94
- function _objectWithoutPropertiesLoose(source, excluded) {
95
- if (source == null) return {};
96
- var target = {};
97
- var sourceKeys = Object.keys(source);
98
- var key, i;
99
- for(i = 0; i < sourceKeys.length; i++){
100
- key = sourceKeys[i];
101
- if (excluded.indexOf(key) >= 0) continue;
102
- target[key] = source[key];
103
- }
104
- return target;
101
+ function _object_without_properties_loose(source, excluded) {
102
+ if (source == null)
103
+ return {};
104
+ var target = {};
105
+ var sourceKeys = Object.keys(source);
106
+ var key, i;
107
+ for (i = 0; i < sourceKeys.length; i++) {
108
+ key = sourceKeys[i];
109
+ if (excluded.indexOf(key) >= 0)
110
+ continue;
111
+ target[key] = source[key];
112
+ }
113
+ return target;
105
114
  }
106
- function _toConsumableArray(arr) {
107
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
115
+ function _to_consumable_array(arr) {
116
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
108
117
  }
109
- function _unsupportedIterableToArray(o, minLen) {
110
- if (!o) return;
111
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
112
- var n = Object.prototype.toString.call(o).slice(8, -1);
113
- if (n === "Object" && o.constructor) n = o.constructor.name;
114
- if (n === "Map" || n === "Set") return Array.from(n);
115
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
118
+ function _unsupported_iterable_to_array(o, minLen) {
119
+ if (!o)
120
+ return;
121
+ if (typeof o === "string")
122
+ return _array_like_to_array(o, minLen);
123
+ var n = Object.prototype.toString.call(o).slice(8, -1);
124
+ if (n === "Object" && o.constructor)
125
+ n = o.constructor.name;
126
+ if (n === "Map" || n === "Set")
127
+ return Array.from(n);
128
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
129
+ return _array_like_to_array(o, minLen);
116
130
  }
117
- var __generator = this && this.__generator || function(thisArg, body) {
118
- var f, y, t, g, _ = {
119
- label: 0,
120
- sent: function() {
121
- if (t[0] & 1) throw t[1];
122
- return t[1];
123
- },
124
- trys: [],
125
- ops: []
131
+ var __generator = function(thisArg, body) {
132
+ var f, y, t, g, _ = {
133
+ label: 0,
134
+ sent: function() {
135
+ if (t[0] & 1)
136
+ throw t[1];
137
+ return t[1];
138
+ },
139
+ trys: [],
140
+ ops: []
141
+ };
142
+ return g = {
143
+ next: verb(0),
144
+ "throw": verb(1),
145
+ "return": verb(2)
146
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
147
+ return this;
148
+ }), g;
149
+ function verb(n) {
150
+ return function(v) {
151
+ return step([
152
+ n,
153
+ v
154
+ ]);
126
155
  };
127
- return(g = {
128
- next: verb(0),
129
- "throw": verb(1),
130
- "return": verb(2)
131
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
132
- return this;
133
- }), g);
134
- function verb(n) {
135
- return function(v) {
136
- return step([
137
- n,
138
- v
139
- ]);
140
- };
141
- }
142
- function step(op) {
143
- if (f) throw new TypeError("Generator is already executing.");
144
- while(_)try {
145
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
146
- if (y = 0, t) op = [
147
- op[0] & 2,
148
- t.value
149
- ];
150
- switch(op[0]){
151
- case 0:
152
- case 1:
153
- t = op;
154
- break;
155
- case 4:
156
- _.label++;
157
- return {
158
- value: op[1],
159
- done: false
160
- };
161
- case 5:
162
- _.label++;
163
- y = op[1];
164
- op = [
165
- 0
166
- ];
167
- continue;
168
- case 7:
169
- op = _.ops.pop();
170
- _.trys.pop();
171
- continue;
172
- default:
173
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
174
- _ = 0;
175
- continue;
176
- }
177
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
178
- _.label = op[1];
179
- break;
180
- }
181
- if (op[0] === 6 && _.label < t[1]) {
182
- _.label = t[1];
183
- t = op;
184
- break;
185
- }
186
- if (t && _.label < t[2]) {
187
- _.label = t[2];
188
- _.ops.push(op);
189
- break;
190
- }
191
- if (t[2]) _.ops.pop();
192
- _.trys.pop();
193
- continue;
194
- }
195
- op = body.call(thisArg, _);
196
- } catch (e) {
156
+ }
157
+ function step(op) {
158
+ if (f)
159
+ throw new TypeError("Generator is already executing.");
160
+ while (_)
161
+ try {
162
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
163
+ return t;
164
+ if (y = 0, t)
165
+ op = [
166
+ op[0] & 2,
167
+ t.value
168
+ ];
169
+ switch (op[0]) {
170
+ case 0:
171
+ case 1:
172
+ t = op;
173
+ break;
174
+ case 4:
175
+ _.label++;
176
+ return {
177
+ value: op[1],
178
+ done: false
179
+ };
180
+ case 5:
181
+ _.label++;
182
+ y = op[1];
197
183
  op = [
198
- 6,
199
- e
184
+ 0
200
185
  ];
201
- y = 0;
202
- } finally{
203
- f = t = 0;
186
+ continue;
187
+ case 7:
188
+ op = _.ops.pop();
189
+ _.trys.pop();
190
+ continue;
191
+ default:
192
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
193
+ _ = 0;
194
+ continue;
195
+ }
196
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
197
+ _.label = op[1];
198
+ break;
199
+ }
200
+ if (op[0] === 6 && _.label < t[1]) {
201
+ _.label = t[1];
202
+ t = op;
203
+ break;
204
+ }
205
+ if (t && _.label < t[2]) {
206
+ _.label = t[2];
207
+ _.ops.push(op);
208
+ break;
209
+ }
210
+ if (t[2])
211
+ _.ops.pop();
212
+ _.trys.pop();
213
+ continue;
204
214
  }
205
- if (op[0] & 5) throw op[1];
206
- return {
207
- value: op[0] ? op[1] : void 0,
208
- done: true
209
- };
210
- }
215
+ op = body.call(thisArg, _);
216
+ } catch (e) {
217
+ op = [
218
+ 6,
219
+ e
220
+ ];
221
+ y = 0;
222
+ } finally {
223
+ f = t = 0;
224
+ }
225
+ if (op[0] & 5)
226
+ throw op[1];
227
+ return {
228
+ value: op[0] ? op[1] : void 0,
229
+ done: true
230
+ };
231
+ }
211
232
  };
212
- import { jsx } from "react/jsx-runtime";
233
+ import { jsx as _jsx } from "react/jsx-runtime";
213
234
  import React, { useContext, useMemo } from "react";
214
235
  import hoistNonReactStatics from "hoist-non-react-statics";
215
236
  import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
@@ -218,273 +239,274 @@ import { runtime } from "./plugin";
218
239
  import { createLoaderManager } from "./loader/loaderManager";
219
240
  var IS_REACT18 = process.env.IS_REACT18 === "true";
220
241
  function isClientArgs(id) {
221
- return typeof id === "string" || typeof HTMLElement !== "undefined" && _instanceof(id, HTMLElement);
242
+ return typeof id === "string" || typeof HTMLElement !== "undefined" && _instanceof(id, HTMLElement);
222
243
  }
223
244
  var runnerMap = /* @__PURE__ */ new WeakMap();
224
245
  var getInitialContext = function(runner) {
225
- return {
226
- loaderManager: createLoaderManager({}),
227
- runner: runner,
228
- isBrowser: true,
229
- routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
230
- };
246
+ return {
247
+ loaderManager: createLoaderManager({}),
248
+ runner,
249
+ isBrowser: true,
250
+ routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
251
+ };
231
252
  };
232
- var createApp = function(param) {
233
- var plugins = param.plugins, globalProps = param.props;
234
- var _appRuntime;
235
- var appRuntime = runtime.clone();
236
- (_appRuntime = appRuntime).usePlugin.apply(_appRuntime, _toConsumableArray(plugins));
237
- return function(App) {
238
- var runner = appRuntime.init();
239
- var WrapperComponent = function(props) {
240
- var _props_children;
241
- var element = React.createElement(App || React.Fragment, App ? _objectSpread({}, props) : null, App ? props.children : React.cloneElement(props.children, _objectSpread({}, (_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.props, props)));
242
- var context = useContext(RuntimeReactContext);
243
- return runner.provide({
244
- element: element,
245
- props: _objectSpread({}, props),
246
- context: context
253
+ export var createApp = function(param) {
254
+ var plugins = param.plugins, globalProps = param.props;
255
+ var _appRuntime;
256
+ var appRuntime = runtime.clone();
257
+ (_appRuntime = appRuntime).usePlugin.apply(_appRuntime, _to_consumable_array(plugins));
258
+ return function(App) {
259
+ var runner = appRuntime.init();
260
+ var WrapperComponent = function(props) {
261
+ var _props_children;
262
+ var element = /* @__PURE__ */ React.createElement(App || React.Fragment, App ? _object_spread({}, props) : null, App ? props.children : /* @__PURE__ */ React.cloneElement(props.children, _object_spread({}, (_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.props, props)));
263
+ var context = useContext(RuntimeReactContext);
264
+ return runner.provide({
265
+ element,
266
+ props: _object_spread({}, props),
267
+ context
268
+ }, {
269
+ onLast: function(param2) {
270
+ var element2 = param2.element;
271
+ return element2;
272
+ }
273
+ });
274
+ };
275
+ if (App) {
276
+ hoistNonReactStatics(WrapperComponent, App);
277
+ }
278
+ var HOCApp = runner.hoc({
279
+ App: WrapperComponent
280
+ }, {
281
+ onLast: function(param2) {
282
+ var _$App = param2.App;
283
+ var WrapComponent = function(_param) {
284
+ var context = _param.context, props = _object_without_properties(_param, [
285
+ "context"
286
+ ]);
287
+ var contextValue = context;
288
+ if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
289
+ contextValue = getInitialContext(runner);
290
+ runner.init({
291
+ context: contextValue
247
292
  }, {
248
- onLast: function(param) {
249
- var element2 = param.element;
250
- return element2;
251
- }
293
+ onLast: function(param3) {
294
+ var context1 = param3.context;
295
+ var _App_init;
296
+ return _$App === null || _$App === void 0 ? void 0 : (_App_init = _$App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_$App, context1);
297
+ }
252
298
  });
299
+ }
300
+ var mergedProps = _object_spread({}, props, globalProps);
301
+ return /* @__PURE__ */ _jsx(RuntimeReactContext.Provider, {
302
+ value: contextValue,
303
+ children: /* @__PURE__ */ _jsx(_$App, _object_spread({}, mergedProps))
304
+ });
253
305
  };
254
- if (App) {
255
- hoistNonReactStatics(WrapperComponent, App);
256
- }
257
- var HOCApp = runner.hoc({
258
- App: WrapperComponent
259
- }, {
260
- onLast: function(param) {
261
- var App2 = param.App;
262
- var WrapComponent = function(_param) {
263
- var context = _param.context, props = _objectWithoutProperties(_param, [
264
- "context"
265
- ]);
266
- var contextValue = context;
267
- if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
268
- contextValue = getInitialContext(runner);
269
- runner.init({
270
- context: contextValue
271
- }, {
272
- onLast: function(param) {
273
- var context1 = param.context;
274
- var _App2_init;
275
- return App2 === null || App2 === void 0 ? void 0 : (_App2_init = App2.init) === null || _App2_init === void 0 ? void 0 : _App2_init.call(App2, context1);
276
- }
277
- });
278
- }
279
- var mergedProps = _objectSpread({}, props, globalProps);
280
- return /* @__PURE__ */ jsx(RuntimeReactContext.Provider, {
281
- value: contextValue,
282
- children: /* @__PURE__ */ jsx(App2, _objectSpread({}, mergedProps))
283
- });
284
- };
285
- return hoistNonReactStatics(WrapComponent, App2);
286
- }
287
- });
288
- runnerMap.set(HOCApp, runner);
289
- return HOCApp;
290
- };
306
+ return hoistNonReactStatics(WrapComponent, _$App);
307
+ }
308
+ });
309
+ runnerMap.set(HOCApp, runner);
310
+ return HOCApp;
311
+ };
291
312
  };
292
- var bootstrap = function() {
293
- var _ref = _asyncToGenerator(function(BootApp, id, root, ReactDOM) {
294
- var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1;
295
- return __generator(this, function(_state) {
296
- switch(_state.label){
297
- case 0:
298
- App = BootApp;
299
- runner = runnerMap.get(App);
300
- if (!runner) {
301
- App = createApp({
302
- plugins: []
303
- })(App);
304
- runner = runnerMap.get(App);
305
- }
306
- context = getInitialContext(runner);
307
- runInit = function(_context) {
308
- return runner.init({
309
- context: _context
310
- }, {
311
- onLast: function(param) {
312
- var context1 = param.context;
313
- var _App_init;
314
- return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
315
- }
316
- });
317
- };
318
- if (!id) {
319
- return [
320
- 2,
321
- React.createElement(App, {
322
- context: context
323
- })
324
- ];
325
- }
326
- isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
327
- if (!isBrowser) return [
328
- 3,
329
- 4
330
- ];
331
- if (!isClientArgs(id)) return [
332
- 3,
333
- 2
334
- ];
335
- ssrData = window._SSR_DATA;
336
- loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
337
- initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
338
- var loaderData = loadersData[key];
339
- if (loaderData.loading !== false) {
340
- return res;
341
- }
342
- res[key] = loaderData;
343
- return res;
344
- }, {});
345
- Object.assign(context, _objectSpread({
346
- loaderManager: createLoaderManager(initialLoadersState, {
347
- skipStatic: true
348
- })
349
- }, ssrData ? {
350
- ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
351
- } : {}));
352
- context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
353
- return [
354
- 4,
355
- runInit(context)
356
- ];
357
- case 1:
358
- initialData = _state.sent();
359
- if (initialData) {
360
- context.initialData = initialData;
361
- }
362
- rootElement = typeof id !== "string" ? id : document.getElementById(id || "root");
363
- if (!ReactDOM) {
364
- throw Error("The `bootstrap` need provide `ReactDOM` parameter");
365
- }
366
- ModernRender = function(App2) {
367
- if (IS_REACT18) {
368
- if (root) {
369
- root.render(App2);
370
- } else if (ReactDOM.createRoot) {
371
- ReactDOM.createRoot(rootElement).render(App2);
372
- } else {
373
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
374
- }
375
- } else {
376
- if (!ReactDOM.render) {
377
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
378
- }
379
- ReactDOM.render(App2, rootElement);
380
- }
381
- };
382
- ModernHydrate = function(App2, callback) {
383
- if (IS_REACT18) {
384
- if (!ReactDOM.hydrateRoot) {
385
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
386
- }
387
- ReactDOM.hydrateRoot(rootElement, App2);
388
- } else {
389
- if (!ReactDOM.hydrate) {
390
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
391
- }
392
- ReactDOM.hydrate(App2, rootElement, callback);
393
- }
394
- };
395
- return [
396
- 2,
397
- runner.client({
398
- App: App,
399
- context: context,
400
- ModernRender: ModernRender,
401
- ModernHydrate: ModernHydrate
402
- }, {
403
- onLast: function(param) {
404
- var App2 = param.App;
405
- ModernRender(React.createElement(App2, {
406
- context: context
407
- }));
408
- }
409
- })
410
- ];
411
- case 2:
412
- throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
413
- case 3:
414
- return [
415
- 3,
416
- 6
417
- ];
418
- case 4:
419
- Object.assign(context, {
420
- ssrContext: id,
421
- isBrowser: false,
422
- loaderManager: createLoaderManager({}, {
423
- skipNonStatic: id.staticGenerate,
424
- // if not static generate, only non-static loader can exec on prod env
425
- skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
426
- })
427
- });
428
- isRedirectResponse = function(result) {
429
- if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
430
- _instanceof(result, Response) && result.status >= 300 && result.status <= 399) {
431
- var status = result.status;
432
- var redirectUrl = result.headers.get("Location") || "/";
433
- var ssrContext = context.ssrContext;
434
- if (ssrContext) {
435
- ssrContext.res.statusCode = status;
436
- ssrContext.res.setHeader("Location", redirectUrl);
437
- ssrContext.redirection = ssrContext.redirection || {};
438
- ssrContext.redirection.status = status;
439
- ssrContext.redirection.url = redirectUrl;
440
- }
441
- return true;
442
- }
443
- return false;
444
- };
445
- return [
446
- 4,
447
- runInit(context)
448
- ];
449
- case 5:
450
- initialData1 = _state.sent();
451
- if (!isRedirectResponse(initialData1)) {
452
- context.initialData = initialData1;
453
- return [
454
- 2,
455
- runner.server({
456
- App: App,
457
- context: context
458
- })
459
- ];
460
- }
461
- _state.label = 6;
462
- case 6:
463
- return [
464
- 2
465
- ];
313
+ export var bootstrap = function() {
314
+ var _ref = _async_to_generator(function(BootApp, id, root, ReactDOM) {
315
+ var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1;
316
+ return __generator(this, function(_state) {
317
+ switch (_state.label) {
318
+ case 0:
319
+ App = BootApp;
320
+ runner = runnerMap.get(App);
321
+ if (!runner) {
322
+ App = createApp({
323
+ plugins: []
324
+ })(App);
325
+ runner = runnerMap.get(App);
326
+ }
327
+ context = getInitialContext(runner);
328
+ runInit = function(_context) {
329
+ return runner.init({
330
+ context: _context
331
+ }, {
332
+ onLast: function(param) {
333
+ var context1 = param.context;
334
+ var _App_init;
335
+ return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
336
+ }
337
+ });
338
+ };
339
+ if (!id) {
340
+ return [
341
+ 2,
342
+ /* @__PURE__ */ React.createElement(App, {
343
+ context
344
+ })
345
+ ];
346
+ }
347
+ isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
348
+ if (!isBrowser)
349
+ return [
350
+ 3,
351
+ 4
352
+ ];
353
+ if (!isClientArgs(id))
354
+ return [
355
+ 3,
356
+ 2
357
+ ];
358
+ ssrData = window._SSR_DATA;
359
+ loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
360
+ initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
361
+ var loaderData = loadersData[key];
362
+ if (loaderData.loading !== false) {
363
+ return res;
364
+ }
365
+ res[key] = loaderData;
366
+ return res;
367
+ }, {});
368
+ Object.assign(context, _object_spread({
369
+ loaderManager: createLoaderManager(initialLoadersState, {
370
+ skipStatic: true
371
+ })
372
+ }, ssrData ? {
373
+ ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
374
+ } : {}));
375
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
376
+ return [
377
+ 4,
378
+ runInit(context)
379
+ ];
380
+ case 1:
381
+ initialData = _state.sent();
382
+ if (initialData) {
383
+ context.initialData = initialData;
384
+ }
385
+ rootElement = typeof id !== "string" ? id : document.getElementById(id || "root");
386
+ if (!ReactDOM) {
387
+ throw Error("The `bootstrap` need provide `ReactDOM` parameter");
388
+ }
389
+ ModernRender = function(App2) {
390
+ if (IS_REACT18) {
391
+ if (root) {
392
+ root.render(App2);
393
+ } else if (ReactDOM.createRoot) {
394
+ ReactDOM.createRoot(rootElement).render(App2);
395
+ } else {
396
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
397
+ }
398
+ } else {
399
+ if (!ReactDOM.render) {
400
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
401
+ }
402
+ ReactDOM.render(App2, rootElement);
403
+ }
404
+ };
405
+ ModernHydrate = function(App2, callback) {
406
+ if (IS_REACT18) {
407
+ if (!ReactDOM.hydrateRoot) {
408
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
409
+ }
410
+ ReactDOM.hydrateRoot(rootElement, App2);
411
+ } else {
412
+ if (!ReactDOM.hydrate) {
413
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
414
+ }
415
+ ReactDOM.hydrate(App2, rootElement, callback);
416
+ }
417
+ };
418
+ return [
419
+ 2,
420
+ runner.client({
421
+ App,
422
+ context,
423
+ ModernRender,
424
+ ModernHydrate
425
+ }, {
426
+ onLast: function(param) {
427
+ var App2 = param.App;
428
+ ModernRender(/* @__PURE__ */ React.createElement(App2, {
429
+ context
430
+ }));
431
+ }
432
+ })
433
+ ];
434
+ case 2:
435
+ throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
436
+ case 3:
437
+ return [
438
+ 3,
439
+ 6
440
+ ];
441
+ case 4:
442
+ Object.assign(context, {
443
+ ssrContext: id,
444
+ isBrowser: false,
445
+ loaderManager: createLoaderManager({}, {
446
+ skipNonStatic: id.staticGenerate,
447
+ // if not static generate, only non-static loader can exec on prod env
448
+ skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
449
+ })
450
+ });
451
+ isRedirectResponse = function(result) {
452
+ if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
453
+ _instanceof(result, Response) && result.status >= 300 && result.status <= 399) {
454
+ var status = result.status;
455
+ var redirectUrl = result.headers.get("Location") || "/";
456
+ var ssrContext = context.ssrContext;
457
+ if (ssrContext) {
458
+ ssrContext.res.statusCode = status;
459
+ ssrContext.res.setHeader("Location", redirectUrl);
460
+ ssrContext.redirection = ssrContext.redirection || {};
461
+ ssrContext.redirection.status = status;
462
+ ssrContext.redirection.url = redirectUrl;
463
+ }
464
+ return true;
466
465
  }
467
- });
466
+ return false;
467
+ };
468
+ return [
469
+ 4,
470
+ runInit(context)
471
+ ];
472
+ case 5:
473
+ initialData1 = _state.sent();
474
+ if (!isRedirectResponse(initialData1)) {
475
+ context.initialData = initialData1;
476
+ return [
477
+ 2,
478
+ runner.server({
479
+ App,
480
+ context
481
+ })
482
+ ];
483
+ }
484
+ _state.label = 6;
485
+ case 6:
486
+ return [
487
+ 2
488
+ ];
489
+ }
468
490
  });
469
- return function bootstrap(BootApp, id, root, ReactDOM) {
470
- return _ref.apply(this, arguments);
471
- };
491
+ });
492
+ return function bootstrap2(BootApp, id, root, ReactDOM) {
493
+ return _ref.apply(this, arguments);
494
+ };
472
495
  }();
473
- var useRuntimeContext = function() {
474
- var context = useContext(RuntimeReactContext);
475
- var memoizedContext = useMemo(function() {
476
- return context.runner.pickContext({
477
- context: context,
478
- pickedContext: {}
479
- }, {
480
- onLast: function(param) {
481
- var pickedContext = param.pickedContext;
482
- return pickedContext;
483
- }
484
- });
485
- }, [
486
- context
487
- ]);
488
- return memoizedContext;
496
+ export var useRuntimeContext = function() {
497
+ var context = useContext(RuntimeReactContext);
498
+ var memoizedContext = useMemo(function() {
499
+ return context.runner.pickContext({
500
+ context,
501
+ pickedContext: {}
502
+ }, {
503
+ onLast: function(param) {
504
+ var pickedContext = param.pickedContext;
505
+ return pickedContext;
506
+ }
507
+ });
508
+ }, [
509
+ context
510
+ ]);
511
+ return memoizedContext;
489
512
  };
490
- export { bootstrap, createApp, useRuntimeContext };