@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,86 +1,198 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import { useContext } from 'react';
4
- import { createStore } from '@modern-js-reduck/store';
5
- import { Provider } from '@modern-js-reduck/react';
6
- import hoistNonReactStatics from 'hoist-non-react-statics';
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;
5
+ }
6
+ function _arrayWithHoles(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _defineProperty(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _iterableToArrayLimit(arr, i) {
23
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24
+ if (_i == null) return;
25
+ var _arr = [];
26
+ var _n = true;
27
+ var _d = false;
28
+ var _s, _e;
29
+ try {
30
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
31
+ _arr.push(_s.value);
32
+ if (i && _arr.length === i) break;
33
+ }
34
+ } catch (err) {
35
+ _d = true;
36
+ _e = err;
37
+ } finally{
38
+ try {
39
+ if (!_n && _i["return"] != null) _i["return"]();
40
+ } finally{
41
+ if (_d) throw _e;
42
+ }
43
+ }
44
+ return _arr;
45
+ }
46
+ function _nonIterableRest() {
47
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
48
+ }
49
+ function _objectSpread(target) {
50
+ for(var i = 1; i < arguments.length; i++){
51
+ var source = arguments[i] != null ? arguments[i] : {};
52
+ var ownKeys = Object.keys(source);
53
+ if (typeof Object.getOwnPropertySymbols === "function") {
54
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
55
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
56
+ }));
57
+ }
58
+ ownKeys.forEach(function(key) {
59
+ _defineProperty(target, key, source[key]);
60
+ });
61
+ }
62
+ return target;
63
+ }
64
+ function ownKeys(object, enumerableOnly) {
65
+ var keys = Object.keys(object);
66
+ if (Object.getOwnPropertySymbols) {
67
+ var symbols = Object.getOwnPropertySymbols(object);
68
+ if (enumerableOnly) {
69
+ symbols = symbols.filter(function(sym) {
70
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
71
+ });
72
+ }
73
+ keys.push.apply(keys, symbols);
74
+ }
75
+ return keys;
76
+ }
77
+ function _objectSpreadProps(target, source) {
78
+ source = source != null ? source : {};
79
+ if (Object.getOwnPropertyDescriptors) {
80
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
81
+ } else {
82
+ ownKeys(Object(source)).forEach(function(key) {
83
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
84
+ });
85
+ }
86
+ return target;
87
+ }
88
+ function _slicedToArray(arr, i) {
89
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
90
+ }
91
+ function _unsupportedIterableToArray(o, minLen) {
92
+ if (!o) return;
93
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
94
+ var n = Object.prototype.toString.call(o).slice(8, -1);
95
+ if (n === "Object" && o.constructor) n = o.constructor.name;
96
+ if (n === "Map" || n === "Set") return Array.from(n);
97
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
98
+ }
99
+ import { jsx } from "react/jsx-runtime";
100
+ import { useContext } from "react";
101
+ import { createStore } from "@modern-js-reduck/store";
102
+ import { Provider } from "@modern-js-reduck/react";
103
+ import hoistNonReactStatics from "hoist-non-react-statics";
7
104
  import { immer, effects, autoActions, devtools } from "../plugins";
8
105
  import { RuntimeReactContext } from "../../core";
9
106
  import { isBrowser } from "../../common";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
107
  var StatePluginHandleMap = {
12
- immer: immer,
13
- effects: effects,
14
- autoActions: autoActions,
15
- devtools: devtools
108
+ immer: immer,
109
+ effects: effects,
110
+ autoActions: autoActions,
111
+ devtools: devtools
16
112
  };
17
- var getStoreConfig = function getStoreConfig(config) {
18
- var internalPlugins = ['immer', 'effects', 'autoActions', 'devtools'];
19
- var plugins = [];
20
- internalPlugins.filter(function (plugin) {
21
- return config[plugin] !== false;
22
- }).forEach(function (plugin) {
23
- return plugins.push(StatePluginHandleMap[plugin](config[plugin]));
24
- });
25
- var storeConfig = {};
26
- for (var _i = 0, _Object$entries = Object.entries(config); _i < _Object$entries.length; _i++) {
27
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
28
- key = _Object$entries$_i[0],
29
- value = _Object$entries$_i[1];
30
- if (internalPlugins.includes(key)) {
31
- plugins.push(StatePluginHandleMap[key](value));
32
- } else {
33
- storeConfig[key] = value;
113
+ var getStoreConfig = function(config) {
114
+ var internalPlugins = [
115
+ "immer",
116
+ "effects",
117
+ "autoActions",
118
+ "devtools"
119
+ ];
120
+ var plugins = [];
121
+ internalPlugins.filter(function(plugin) {
122
+ return config[plugin] !== false;
123
+ }).forEach(function(plugin) {
124
+ return plugins.push(StatePluginHandleMap[plugin](config[plugin]));
125
+ });
126
+ var storeConfig = {};
127
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
128
+ try {
129
+ for(var _iterator = Object.entries(config)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
130
+ var _value = _slicedToArray(_step.value, 2), key = _value[0], value = _value[1];
131
+ if (!internalPlugins.includes(key)) {
132
+ storeConfig[key] = value;
133
+ }
134
+ }
135
+ } catch (err) {
136
+ _didIteratorError = true;
137
+ _iteratorError = err;
138
+ } finally{
139
+ try {
140
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
141
+ _iterator.return();
142
+ }
143
+ } finally{
144
+ if (_didIteratorError) {
145
+ throw _iteratorError;
146
+ }
147
+ }
34
148
  }
35
- }
36
- storeConfig.plugins = plugins;
37
- return storeConfig;
149
+ storeConfig.plugins = plugins;
150
+ return storeConfig;
38
151
  };
39
- var state = function state(config) {
40
- return {
41
- name: '@modern-js/plugin-state',
42
- setup: function setup() {
43
- return {
44
- hoc: function hoc(_ref, next) {
45
- var App = _ref.App;
46
- var getStateApp = function getStateApp(props) {
47
- // eslint-disable-next-line react-hooks/rules-of-hooks
48
- var context = useContext(RuntimeReactContext);
49
- return /*#__PURE__*/_jsx(Provider, {
50
- store: context.store,
51
- config: getStoreConfig(config),
52
- children: /*#__PURE__*/_jsx(App, _objectSpread({}, props))
53
- });
54
- };
55
- return next({
56
- App: hoistNonReactStatics(getStateApp, App)
57
- });
58
- },
59
- init: function init(_ref2, next) {
60
- var context = _ref2.context;
61
- var storeConfig = getStoreConfig(config || {});
62
- if (isBrowser()) {
63
- var _window, _window$_SSR_DATA, _window$_SSR_DATA$dat;
64
- storeConfig.initialState = storeConfig.initialState || ((_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$dat.storeState) || {};
65
- }
66
- context.store = createStore(storeConfig);
67
- return next({
68
- context: context
69
- });
70
- },
71
- pickContext: function pickContext(_ref3, next) {
72
- var context = _ref3.context,
73
- pickedContext = _ref3.pickedContext;
74
- return next({
75
- context: context,
76
- pickedContext: _objectSpread(_objectSpread({}, pickedContext), {}, {
77
- store: context.store
78
- })
79
- });
152
+ var state = function(config) {
153
+ return {
154
+ name: "@modern-js/plugin-state",
155
+ setup: function() {
156
+ var storeConfig = getStoreConfig(config);
157
+ return {
158
+ hoc: function hoc(param, next) {
159
+ var App = param.App;
160
+ var getStateApp = function(props) {
161
+ var context = useContext(RuntimeReactContext);
162
+ return /* @__PURE__ */ jsx(Provider, {
163
+ store: context.store,
164
+ config: storeConfig,
165
+ children: /* @__PURE__ */ jsx(App, _objectSpread({}, props))
166
+ });
167
+ };
168
+ return next({
169
+ App: hoistNonReactStatics(getStateApp, App)
170
+ });
171
+ },
172
+ init: function init(param, next) {
173
+ var context = param.context;
174
+ if (isBrowser()) {
175
+ var ref, ref1;
176
+ storeConfig.initialState = storeConfig.initialState || (window === null || window === void 0 ? void 0 : (ref = window._SSR_DATA) === null || ref === void 0 ? void 0 : (ref1 = ref.data) === null || ref1 === void 0 ? void 0 : ref1.storeState) || {};
177
+ }
178
+ context.store = createStore(storeConfig);
179
+ return next({
180
+ context: context
181
+ });
182
+ },
183
+ pickContext: function pickContext(param, next) {
184
+ var context = param.context, pickedContext = param.pickedContext;
185
+ return next({
186
+ context: context,
187
+ pickedContext: _objectSpreadProps(_objectSpread({}, pickedContext), {
188
+ store: context.store
189
+ })
190
+ });
191
+ }
192
+ };
80
193
  }
81
- };
82
- }
83
- };
194
+ };
84
195
  };
85
- export default state;
86
- export * from "../plugins";
196
+ var plugin_default = state;
197
+ export * from "../plugins";
198
+ export { plugin_default as default };
@@ -1 +1 @@
1
- export {};
1
+ "use strict";
@@ -1,3 +1,5 @@
1
1
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -0,0 +1,8 @@
1
+ import type { StateConfig } from './state';
2
+ import type { RouterConfig } from './router';
3
+ export interface RuntimeUserConfig {
4
+ runtime?: {
5
+ state?: boolean | StateConfig;
6
+ router?: boolean | RouterConfig;
7
+ };
8
+ }
@@ -3,13 +3,13 @@ import type { Renderer } from 'react-dom';
3
3
  import type { hydrateRoot, createRoot } from 'react-dom/client';
4
4
  import { RuntimeContext, TRuntimeContext } from '../runtime-context';
5
5
  import { Plugin } from './plugin';
6
- export declare type CreateAppOptions = {
6
+ export type CreateAppOptions = {
7
7
  plugins: Plugin[];
8
8
  };
9
9
  export declare const createApp: ({
10
10
  plugins
11
11
  }: CreateAppOptions) => (App?: React.ComponentType<any>) => React.ComponentType<any>;
12
- declare type BootStrap<T = unknown> = (App: React.ComponentType, id: string | HTMLElement | RuntimeContext, root?: any, ReactDOM?: {
12
+ type BootStrap<T = unknown> = (App: React.ComponentType, id: string | HTMLElement | RuntimeContext, root?: any, ReactDOM?: {
13
13
  render?: Renderer;
14
14
  hydrate?: Renderer;
15
15
  createRoot?: typeof createRoot;
@@ -5,7 +5,7 @@ export declare enum LoaderStatus {
5
5
  fulfilled = 2,
6
6
  rejected = 3,
7
7
  }
8
- export declare type LoaderResult = {
8
+ export type LoaderResult = {
9
9
  loading: boolean;
10
10
  reloading: boolean;
11
11
  data: any;
@@ -24,7 +24,7 @@ declare const createLoader: (id: string, initialData: Partial<LoaderResult> | un
24
24
  onChange: (handler: (status: LoaderStatus, result: LoaderResult) => void) => () => void;
25
25
  load: () => Promise<any>;
26
26
  };
27
- declare type ManagerOption = {
27
+ type ManagerOption = {
28
28
  /**
29
29
  * whether current manage only exec static loader
30
30
  */
@@ -35,6 +35,7 @@ declare type ManagerOption = {
35
35
  * Create loaders manager. It's returned instance will add to context
36
36
  * @param initialDataMap used to initialing loader data
37
37
  */
38
+
38
39
  export declare const createLoaderManager: (initialDataMap: Record<string, LoaderResult>, managerOptions?: ManagerOption) => {
39
40
  hasPendingLoaders: () => boolean;
40
41
  awaitPendingLoaders: () => Promise<Record<string, LoaderResult>>;
@@ -52,5 +53,5 @@ export declare const createLoaderManager: (initialDataMap: Record<string, Loader
52
53
  load: () => Promise<any>;
53
54
  } | undefined;
54
55
  };
55
- export declare type Loader = ReturnType<typeof createLoader>;
56
+ export type Loader = ReturnType<typeof createLoader>;
56
57
  export {};
@@ -20,26 +20,31 @@ export interface LoaderOptions<Params = any, TData = any, TError extends Error =
20
20
  /**
21
21
  * Revoke when loader ended with error
22
22
  */
23
+
23
24
  onError?: (error: TError) => void;
24
25
  /**
25
26
  * initialData to display once loader is ready.
26
27
  */
28
+
27
29
  initialData?: TData;
28
30
  /**
29
31
  * whether skip loader
30
32
  * if true, the loader will not exec.
31
33
  */
34
+
32
35
  skip?: boolean;
33
36
  /**
34
37
  * User params, it will pass to loader's second parameter.
35
38
  */
39
+
36
40
  params?: Params;
37
41
  /**
38
42
  * whether loader can exec on build phase.
39
43
  */
44
+
40
45
  static?: boolean;
41
46
  }
42
- declare type LoaderFn<P = any, T = any> = (context: any, params: P) => Promise<T>;
47
+ type LoaderFn<P = any, T = any> = (context: any, params: P) => Promise<T>;
43
48
  declare const useLoader: <TData = any, Params = any, E = any>(loaderFn: LoaderFn<Params, TData>, options?: LoaderOptions<Params, any, any>) => {
44
49
  reload: (params?: Params | undefined) => Promise<any> | undefined;
45
50
  loading: boolean;
@@ -30,13 +30,17 @@ declare const runtimeHooks: {
30
30
  }, TRuntimeContext>;
31
31
  };
32
32
  /** All hooks of runtime plugin. */
33
- export declare type RuntimeHooks = typeof runtimeHooks;
33
+
34
+ export type RuntimeHooks = typeof runtimeHooks;
34
35
  /** All hook callbacks of runtime plugin. */
35
- export declare type RuntimeHookCallbacks = ToThreads<RuntimeHooks>;
36
+
37
+ export type RuntimeHookCallbacks = ToThreads<RuntimeHooks>;
36
38
  /** All apis for runtime plugin. */
37
- export declare type PluginAPI = CommonAPI<RuntimeHooks>;
39
+
40
+ export type PluginAPI = CommonAPI<RuntimeHooks>;
38
41
  /** Plugin options of a runtime plugin. */
39
- export declare type Plugin = PluginOptions<RuntimeHooks, Setup<RuntimeHooks>>;
42
+
43
+ export type Plugin = PluginOptions<RuntimeHooks, Setup<RuntimeHooks>>;
40
44
  export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
41
45
  hoc: import("@modern-js/plugin").Pipeline<{
42
46
  App: React.ComponentType<any>;
@@ -67,6 +71,7 @@ export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
67
71
  /**
68
72
  * register init hook. It would be revoked both ssr and csr.
69
73
  */
74
+
70
75
  declare const registerInit: (App: React.ComponentType, _init: (context: RuntimeContext) => any | Promise<any>) => void;
71
76
  export declare const runtime: import("@modern-js/plugin").Manager<{
72
77
  hoc: import("@modern-js/plugin").Pipeline<{
@@ -173,7 +178,7 @@ export declare const createPlugin: (setup?: Setup<{
173
178
  context: RuntimeContext;
174
179
  pickedContext: TRuntimeContext;
175
180
  }, TRuntimeContext>;
176
- }, Record<string, never>>, Record<string, unknown>, any, any> | undefined) => import("@modern-js/plugin").Plugin<{
181
+ }, Record<string, never>>, Record<string, unknown>> | undefined) => import("@modern-js/plugin").Plugin<{
177
182
  hoc: import("@modern-js/plugin").Pipeline<{
178
183
  App: React.ComponentType<any>;
179
184
  }, React.ComponentType<any>>;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type DocumentProps = {
2
+ type DocumentProps = {
3
3
  [x: string]: any;
4
4
  config?: any;
5
5
  templateParams: {
@@ -1,7 +1,8 @@
1
1
  import React, { ReactNode } from 'react';
2
- declare type DocumentStructrueContextProps = {
2
+ type DocumentStructrueContextProps = {
3
3
  hasSetHead?: boolean;
4
4
  hasSetScripts?: boolean;
5
+ hasSetLinks?: boolean;
5
6
  hasSetBody?: boolean;
6
7
  hasSetRoot?: boolean;
7
8
  docChild?: ReactNode;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function Links(): JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare function Script(props: {
3
+ content: () => void;
4
+ }): JSX.Element;
@@ -1,3 +1,5 @@
1
1
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -8,7 +8,10 @@ export declare const DOCUMENT_CHUNKSMAP_PLACEHOLDER: string;
8
8
  export declare const DOCUMENT_SSRDATASCRIPT_PLACEHOLDER: string;
9
9
  export declare const DOCUMENT_FILE_NAME = "Document";
10
10
  export declare const DOCUMENT_SCRIPTS_PLACEHOLDER: string;
11
+ export declare const DOCUMENT_LINKS_PLACEHOLDER: string;
11
12
  export declare const DOCUMENT_NO_SCRIPTE_PLACEHOLDER: string;
13
+ export declare const DOCUMENT_SCRIPT_PLACEHOLDER_START: string;
14
+ export declare const DOCUMENT_SCRIPT_PLACEHOLDER_END: string;
12
15
  export declare const PLACEHOLDER_REPLACER_MAP: {
13
16
  [x: string]: string;
14
17
  };
@@ -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';
9
+ export * from './Script';
8
10
  export * from './constants';
@@ -16,6 +16,6 @@ export declare const hook: (attacher: ({
16
16
  afterRender: (hook: AfterRenderHook) => void;
17
17
  afterMatch: (hook: AfterMatchHook) => void;
18
18
  }) => void;
19
- export declare type AfterRenderHook = (context: AfterRenderContext, next: NextFunction) => void;
20
- export declare type AfterMatchHook = (context: AfterMatchContext, next: NextFunction) => void;
21
- export declare type Middleware = (context: MiddlewareContext, next: NextFunction) => Promise<void> | void;
19
+ export type AfterRenderHook = (context: AfterRenderContext, next: NextFunction) => void;
20
+ export type AfterMatchHook = (context: AfterMatchContext, next: NextFunction) => void;
21
+ export type Middleware = (context: MiddlewareContext, next: NextFunction) => Promise<void> | void;
@@ -4,5 +4,6 @@ export type { Plugin } from './core';
4
4
  export type { AppConfig } from './common';
5
5
  export { isBrowser } from './common';
6
6
  export type { BaseRuntimeContext, RuntimeContext, BaseTRuntimeContext, TRuntimeContext } from './runtime-context';
7
+ export type { RuntimeUserConfig } from './config';
7
8
  export { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from './core';
8
9
  export { StateConfig, RouterConfig };
@@ -1,3 +1,5 @@
1
1
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -1,7 +1,7 @@
1
- import type { Plugin } from '../../core';
1
+ import { Plugin } from '../../core';
2
2
  import type { RouterConfig, Routes } from './types';
3
3
  export declare let finalRouteConfig: RouterConfig['routesConfig'];
4
- export declare let beforeRenderRouter: boolean;
4
+ export declare let beforeCreateRouter: boolean;
5
5
  export declare function modifyRoutes(modifyFunction: (routes: Routes) => Routes): void;
6
6
  export declare const routerPlugin: ({
7
7
  serverBase,
@@ -11,21 +11,23 @@ declare global {
11
11
  };
12
12
  }
13
13
  }
14
- export declare type SingleRouteConfig = RouteProps & {
14
+ export type SingleRouteConfig = RouteProps & {
15
15
  redirect?: string;
16
16
  routes?: SingleRouteConfig[];
17
17
  key?: string;
18
18
  /**
19
19
  * layout component
20
20
  */
21
+
21
22
  layout?: React.ComponentType;
22
23
  /**
23
24
  * component would be rendered when route macthed.
24
25
  */
26
+
25
27
  component?: React.ComponentType;
26
28
  };
27
- export declare type RouterConfig = {
28
- legacy?: boolean;
29
+ export type RouterConfig = {
30
+ mode?: 'react-router-5';
29
31
  routesConfig: {
30
32
  globalApp?: React.ComponentType<any>;
31
33
  routes: (NestedRoute | PageRoute)[];
@@ -35,4 +37,4 @@ export declare type RouterConfig = {
35
37
  basename?: string;
36
38
  createRoutes?: () => RouteObject[];
37
39
  };
38
- export declare type Routes = RouterConfig['routesConfig']['routes'];
40
+ export type Routes = RouterConfig['routesConfig']['routes'];
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,5 @@
1
1
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -1,4 +1,4 @@
1
- export declare type SprProps = {
1
+ export type SprProps = {
2
2
  interval: number;
3
3
  staleLimit: number | boolean;
4
4
  level: number;
@@ -7,22 +7,22 @@ export declare type SprProps = {
7
7
  fallback: boolean;
8
8
  matches: MetaKeyMatch | null;
9
9
  };
10
- export declare type GeneralizedProps = SprProps & {
10
+ export type GeneralizedProps = SprProps & {
11
11
  [propName: string]: any;
12
12
  };
13
- export declare type SprConstructor = {
13
+ export type SprConstructor = {
14
14
  config: () => SprProps;
15
15
  };
16
- export declare type MetaKeyMap = {
16
+ export type MetaKeyMap = {
17
17
  header?: string[];
18
18
  query?: string[];
19
19
  };
20
- declare type MatchMap = {
20
+ type MatchMap = {
21
21
  [propName: string]: {
22
22
  [propName: string]: string;
23
23
  };
24
24
  };
25
- export declare type MetaKeyMatch = {
25
+ export type MetaKeyMatch = {
26
26
  header?: MatchMap;
27
27
  query?: MatchMap;
28
28
  };
@@ -1,5 +1,5 @@
1
1
  import { RenderLevel, SSRServerContext } from '../types';
2
- declare type BuildShellAfterTemplateOptions = {
2
+ type BuildShellAfterTemplateOptions = {
3
3
  ssrContext: SSRServerContext;
4
4
  renderLevel: RenderLevel;
5
5
  };
@@ -1,3 +1,3 @@
1
1
  export declare const HEAD_REG_EXP: RegExp;
2
- export declare type BuildTemplateCb = (headTemplate: string) => string;
2
+ export type BuildTemplateCb = (headTemplate: string) => string;
3
3
  export declare function buildTemplate(template: string, callbacks: BuildTemplateCb[]): string;
@@ -3,6 +3,6 @@
3
3
  import { Writable } from 'stream';
4
4
  import { RenderToPipeableStreamOptions } from 'react-dom/server';
5
5
  import { RuntimeContext } from '../types';
6
- export declare type Pipe<T extends Writable> = (output: T) => Promise<T | string>;
6
+ export type Pipe<T extends Writable> = (output: T) => Promise<T | string>;
7
7
  declare function renderToPipe(rootElement: React.ReactElement, context: RuntimeContext, options?: RenderToPipeableStreamOptions): Pipe<Writable>;
8
8
  export default renderToPipe;
@@ -1,4 +1,4 @@
1
- export declare type InjectTemplate = {
1
+ export type InjectTemplate = {
2
2
  shellBefore?: string;
3
3
  shellAfter?: string;
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { RuntimeContext, ModernSSRReactComponent, SSRPluginConfig } from '../types';
2
2
  import { SSRServerContext, RenderResult } from './type';
3
- declare type EntryOptions = {
3
+ type EntryOptions = {
4
4
  ctx: SSRServerContext;
5
5
  App: ModernSSRReactComponent;
6
6
  config: SSRPluginConfig;
@@ -1,4 +1,4 @@
1
- declare type Filter = (str: string) => string;
1
+ type Filter = (str: string) => string;
2
2
  export declare class Fragment {
3
3
  static filterMap: {
4
4
  [key: string]: Filter;