@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,3 +1,16 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
1
14
  const VARIABLE_REG_EXP = /<!--<\?([-=+])\s*(.*?)\s*\?>-->/;
2
15
  const VARIABLE_SPLITTER = /(<!--<\?.*?\?>-->)/;
3
16
  const ENCODE_HTML_RULES = {
@@ -14,14 +27,27 @@ function encodeChar(c) {
14
27
  function escape(str) {
15
28
  return str.replace(MATCH_HTML, encodeChar);
16
29
  }
17
- const _Fragment = class {
30
+ export class Fragment {
31
+ getValue(data) {
32
+ if (this.isVariable) {
33
+ const value = this.path.reduce((p, n) => p != null ? p[n] : p, data);
34
+ return this.filters.reduce((p, n) => n(p), value != null ? value : "");
35
+ }
36
+ return this.content;
37
+ }
18
38
  constructor(template) {
39
+ _define_property(this, "isVariable", void 0);
40
+ _define_property(this, "content", void 0);
41
+ _define_property(this, "filters", void 0);
42
+ _define_property(this, "path", void 0);
19
43
  const match = VARIABLE_REG_EXP.exec(template);
20
44
  if (match) {
21
45
  const [, filterFlag, content] = match;
22
46
  this.isVariable = true;
23
47
  this.content = content;
24
- this.filters = [_Fragment.filterMap[filterFlag]];
48
+ this.filters = [
49
+ Fragment.filterMap[filterFlag]
50
+ ];
25
51
  this.path = content.replace(/\[['"](.*?)['"]\]/g, ".$1").split(".");
26
52
  } else {
27
53
  this.isVariable = false;
@@ -30,21 +56,13 @@ const _Fragment = class {
30
56
  this.path = [];
31
57
  }
32
58
  }
33
- getValue(data) {
34
- if (this.isVariable) {
35
- const value = this.path.reduce((p, n) => p != null ? p[n] : p, data);
36
- return this.filters.reduce((p, n) => n(p), value != null ? value : "");
37
- }
38
- return this.content;
39
- }
40
- };
41
- let Fragment = _Fragment;
42
- Fragment.filterMap = {
59
+ }
60
+ _define_property(Fragment, "filterMap", {
43
61
  "=": escape,
44
62
  "-": (v) => v
45
- };
63
+ });
46
64
  const fragmentListMap = {};
47
- function toFragments(template, entryName) {
65
+ export function toFragments(template, entryName) {
48
66
  if (fragmentListMap[entryName]) {
49
67
  return fragmentListMap[entryName];
50
68
  }
@@ -52,7 +70,3 @@ function toFragments(template, entryName) {
52
70
  fragmentListMap[entryName] = fragmentList;
53
71
  return fragmentList;
54
72
  }
55
- export {
56
- Fragment,
57
- toFragments
58
- };
@@ -1,9 +1,6 @@
1
- var RenderLevel = /* @__PURE__ */ ((RenderLevel2) => {
1
+ export var RenderLevel;
2
+ (function(RenderLevel2) {
2
3
  RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
3
4
  RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
4
5
  RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
5
- return RenderLevel2;
6
- })(RenderLevel || {});
7
- export {
8
- RenderLevel
9
- };
6
+ })(RenderLevel || (RenderLevel = {}));
@@ -2,12 +2,9 @@ const getLatency = (hrtime) => {
2
2
  const [s, ns] = process.hrtime(hrtime);
3
3
  return s * 1e3 + ns / 1e6;
4
4
  };
5
- const time = () => {
5
+ export const time = () => {
6
6
  const hrtime = process.hrtime();
7
7
  return () => {
8
8
  return getLatency(hrtime);
9
9
  };
10
10
  };
11
- export {
12
- time
13
- };
@@ -11,18 +11,18 @@ function processHrtime(previousTimestamp) {
11
11
  nanoseconds += 1e9;
12
12
  }
13
13
  }
14
- return [seconds, nanoseconds];
14
+ return [
15
+ seconds,
16
+ nanoseconds
17
+ ];
15
18
  }
16
19
  const getLatency = (hrtime) => {
17
20
  const [s, ns] = processHrtime(hrtime);
18
21
  return s * 1e3 + ns / 1e6;
19
22
  };
20
- const time = () => {
23
+ export const time = () => {
21
24
  const hrtime = processHrtime();
22
25
  return () => {
23
26
  return getLatency(hrtime);
24
27
  };
25
28
  };
26
- export {
27
- time
28
- };
@@ -1,4 +1,2 @@
1
1
  import { RenderLevel } from "./renderToString/type";
2
- export {
3
- RenderLevel
4
- };
2
+ export { RenderLevel };
@@ -1,7 +1,7 @@
1
- const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
2
- const SSR_DATA_JSON_ID = "__MODERN_SSR_DATA__";
3
- const ROUTER_DATA_JSON_ID = "__MODERN_ROUTER_DATA__";
4
- function getLoadableScripts(extractor) {
1
+ export const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
2
+ export const SSR_DATA_JSON_ID = "__MODERN_SSR_DATA__";
3
+ export const ROUTER_DATA_JSON_ID = "__MODERN_ROUTER_DATA__";
4
+ export function getLoadableScripts(extractor) {
5
5
  const check = (scripts2) => (scripts2 || "").includes("__LOADABLE_REQUIRED_CHUNKS___ext");
6
6
  const scripts = extractor.getScriptTags();
7
7
  if (!check(scripts)) {
@@ -9,9 +9,3 @@ function getLoadableScripts(extractor) {
9
9
  }
10
10
  return scripts.split("</script>").slice(0, 2).map((i) => `${i}</script>`).join("");
11
11
  }
12
- export {
13
- CSS_CHUNKS_PLACEHOLDER,
14
- ROUTER_DATA_JSON_ID,
15
- SSR_DATA_JSON_ID,
16
- getLoadableScripts
17
- };
@@ -1,11 +1,7 @@
1
1
  import cookieTool from "cookie";
2
- const isReact18 = () => process.env.IS_REACT18 === "true";
3
- const formatServer = (request) => {
4
- const {
5
- cookie = "",
6
- "user-agent": userAgent = "",
7
- referer
8
- } = request.headers || {};
2
+ export const isReact18 = () => process.env.IS_REACT18 === "true";
3
+ export const formatServer = (request) => {
4
+ const { cookie = "", "user-agent": userAgent = "", referer } = request.headers || {};
9
5
  return {
10
6
  cookie,
11
7
  cookieMap: cookieTool.parse(cookie || "") || {},
@@ -21,8 +17,8 @@ const getQuery = () => window.location.search.substring(1).split("&").reduce((re
21
17
  }
22
18
  return res;
23
19
  }, {});
24
- const formatClient = (request) => {
25
- var _a;
20
+ export const formatClient = (request) => {
21
+ var _request_headers;
26
22
  return {
27
23
  params: request.params || {},
28
24
  host: request.host || location.host,
@@ -30,13 +26,13 @@ const formatClient = (request) => {
30
26
  headers: request.headers || {},
31
27
  cookieMap: cookieTool.parse(document.cookie || "") || {},
32
28
  cookie: document.cookie || "",
33
- userAgent: ((_a = request.headers) == null ? void 0 : _a["user-agent"]) || navigator.userAgent,
29
+ userAgent: ((_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers["user-agent"]) || navigator.userAgent,
34
30
  referer: request.referer || document.referrer,
35
31
  query: request.query || getQuery(),
36
32
  url: location.href
37
33
  };
38
34
  };
39
- const mockResponse = () => {
35
+ export const mockResponse = () => {
40
36
  return {
41
37
  setHeader() {
42
38
  console.warn("response.setHeader() can only be used in the server side");
@@ -50,7 +46,7 @@ const mockResponse = () => {
50
46
  }
51
47
  };
52
48
  };
53
- const isCrossOrigin = (url = "", base) => {
49
+ export const isCrossOrigin = (url = "", base) => {
54
50
  if (url.startsWith("/") || url.startsWith("./")) {
55
51
  return false;
56
52
  } else if (!url.includes(base)) {
@@ -59,10 +55,3 @@ const isCrossOrigin = (url = "", base) => {
59
55
  return false;
60
56
  }
61
57
  };
62
- export {
63
- formatClient,
64
- formatServer,
65
- isCrossOrigin,
66
- isReact18,
67
- mockResponse
68
- };
@@ -1,83 +1,68 @@
1
- import {
2
- getEntryOptions,
3
- createRuntimeExportsUtils,
4
- PLUGIN_SCHEMAS
5
- } from "@modern-js/utils";
1
+ import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from "@modern-js/utils";
6
2
  const PLUGIN_IDENTIFIER = "state";
7
- var cli_default = () => ({
8
- name: "@modern-js/plugin-state",
9
- required: ["@modern-js/runtime"],
10
- setup: (api) => {
11
- const stateConfigMap = /* @__PURE__ */ new Map();
12
- let pluginsExportsUtils;
13
- return {
14
- config() {
15
- const appContext = api.useAppContext();
16
- pluginsExportsUtils = createRuntimeExportsUtils(
17
- appContext.internalDirectory,
18
- "plugins"
19
- );
20
- return {
21
- source: {
22
- alias: {
23
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
3
+ export default () => {
4
+ return {
5
+ name: "@modern-js/plugin-state",
6
+ required: [
7
+ "@modern-js/runtime"
8
+ ],
9
+ setup: (api) => {
10
+ const stateConfigMap = /* @__PURE__ */ new Map();
11
+ let pluginsExportsUtils;
12
+ return {
13
+ config() {
14
+ const appContext = api.useAppContext();
15
+ pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
16
+ return {
17
+ source: {
18
+ alias: {
19
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
20
+ }
24
21
  }
22
+ };
23
+ },
24
+ modifyEntryImports({ entrypoint, imports }) {
25
+ var _getEntryOptions;
26
+ const { entryName } = entrypoint;
27
+ const userConfig = api.useResolvedConfigContext();
28
+ const { packageName } = api.useAppContext();
29
+ const stateConfig = (_getEntryOptions = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.state;
30
+ stateConfigMap.set(entryName, stateConfig);
31
+ if (stateConfig) {
32
+ imports.push({
33
+ value: "@modern-js/runtime/plugins",
34
+ specifiers: [
35
+ {
36
+ imported: PLUGIN_IDENTIFIER
37
+ }
38
+ ]
39
+ });
25
40
  }
26
- };
27
- },
28
- modifyEntryImports({ entrypoint, imports }) {
29
- var _a;
30
- const { entryName } = entrypoint;
31
- const userConfig = api.useResolvedConfigContext();
32
- const { packageName } = api.useAppContext();
33
- const stateConfig = (_a = getEntryOptions(
34
- entryName,
35
- userConfig.runtime,
36
- userConfig.runtimeByEntries,
37
- packageName
38
- )) == null ? void 0 : _a.state;
39
- stateConfigMap.set(entryName, stateConfig);
40
- if (stateConfig) {
41
- imports.push({
42
- value: "@modern-js/runtime/plugins",
43
- specifiers: [
44
- {
45
- imported: PLUGIN_IDENTIFIER
46
- }
47
- ]
48
- });
49
- }
50
- return {
51
- entrypoint,
52
- imports
53
- };
54
- },
55
- modifyEntryRuntimePlugins({ entrypoint, plugins }) {
56
- const stateOptions = stateConfigMap.get(entrypoint.entryName);
57
- if (stateOptions) {
58
- plugins.push({
59
- name: PLUGIN_IDENTIFIER,
60
- options: `${JSON.stringify(
61
- stateConfigMap.get(entrypoint.entryName)
62
- )}`
63
- });
41
+ return {
42
+ entrypoint,
43
+ imports
44
+ };
45
+ },
46
+ modifyEntryRuntimePlugins({ entrypoint, plugins }) {
47
+ const stateOptions = stateConfigMap.get(entrypoint.entryName);
48
+ if (stateOptions) {
49
+ plugins.push({
50
+ name: PLUGIN_IDENTIFIER,
51
+ options: `${JSON.stringify(stateConfigMap.get(entrypoint.entryName))}`
52
+ });
53
+ }
54
+ return {
55
+ entrypoint,
56
+ plugins
57
+ };
58
+ },
59
+ validateSchema() {
60
+ return PLUGIN_SCHEMAS["@modern-js/plugin-state"];
61
+ },
62
+ addRuntimeExports() {
63
+ pluginsExportsUtils.addExport(`export { default as state } from '@modern-js/runtime/model'`);
64
64
  }
65
- return {
66
- entrypoint,
67
- plugins
68
- };
69
- },
70
- validateSchema() {
71
- return PLUGIN_SCHEMAS["@modern-js/plugin-state"];
72
- },
73
- addRuntimeExports() {
74
- pluginsExportsUtils.addExport(
75
- `export { default as state } from '@modern-js/runtime/model'`
76
- );
77
- }
78
- };
79
- }
80
- });
81
- export {
82
- cli_default as default
65
+ };
66
+ }
67
+ };
83
68
  };
@@ -1,7 +1,3 @@
1
- import { default as default2 } from "./runtime";
2
- import { default as default3 } from "./runtime";
1
+ export { default as state } from "./runtime";
2
+ export { default } from "./runtime";
3
3
  export * from "./runtime";
4
- export {
5
- default3 as default,
6
- default2 as state
7
- };
@@ -1,13 +1,7 @@
1
1
  import { plugin as effectsPlugin } from "@modern-js-reduck/plugin-effects";
2
2
  import autoActionsPlugin from "@modern-js-reduck/plugin-auto-actions";
3
3
  import immerPlugin from "@modern-js-reduck/plugin-immutable";
4
- import { default as default2 } from "@modern-js-reduck/plugin-devtools";
5
- const effects = () => effectsPlugin;
6
- const immer = () => immerPlugin;
7
- const autoActions = () => autoActionsPlugin;
8
- export {
9
- autoActions,
10
- default2 as devtools,
11
- effects,
12
- immer
13
- };
4
+ export { default as devtools } from "@modern-js-reduck/plugin-devtools";
5
+ export const effects = () => effectsPlugin;
6
+ export const immer = () => immerPlugin;
7
+ export const autoActions = () => autoActionsPlugin;
@@ -1,6 +1,3 @@
1
1
  export * from "@modern-js-reduck/react";
2
- import { default as default2 } from "./plugin";
2
+ export { default } from "./plugin";
3
3
  export * from "./plugin";
4
- export {
5
- default2 as default
6
- };
@@ -1,8 +1,6 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
- import {
4
- createStore
5
- } from "@modern-js-reduck/store";
3
+ import { createStore } from "@modern-js-reduck/store";
6
4
  import { Provider } from "@modern-js-reduck/react";
7
5
  import hoistNonReactStatics from "hoist-non-react-statics";
8
6
  import { immer, effects, autoActions, devtools } from "../plugins";
@@ -22,9 +20,7 @@ const getStoreConfig = (config) => {
22
20
  "devtools"
23
21
  ];
24
22
  const plugins = [];
25
- internalPlugins.filter((plugin) => config[plugin] !== false).forEach(
26
- (plugin) => plugins.push(StatePluginHandleMap[plugin](config[plugin]))
27
- );
23
+ internalPlugins.filter((plugin) => config[plugin] !== false).forEach((plugin) => plugins.push(StatePluginHandleMap[plugin](config[plugin])));
28
24
  const storeConfig = {};
29
25
  for (const [key, value] of Object.entries(config)) {
30
26
  if (!internalPlugins.includes(key)) {
@@ -34,42 +30,49 @@ const getStoreConfig = (config) => {
34
30
  storeConfig.plugins = plugins;
35
31
  return storeConfig;
36
32
  };
37
- const state = (config) => ({
38
- name: "@modern-js/plugin-state",
39
- setup: () => {
40
- const storeConfig = getStoreConfig(config);
41
- return {
42
- hoc({ App }, next) {
43
- const getStateApp = (props) => {
44
- const context = useContext(RuntimeReactContext);
45
- return /* @__PURE__ */ jsx(Provider, { store: context.store, config: storeConfig, children: /* @__PURE__ */ jsx(App, { ...props }) });
46
- };
47
- return next({
48
- App: hoistNonReactStatics(getStateApp, App)
49
- });
50
- },
51
- init({ context }, next) {
52
- var _a, _b;
53
- if (isBrowser()) {
54
- storeConfig.initialState = storeConfig.initialState || ((_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.data) == null ? void 0 : _b.storeState) || {};
55
- }
56
- context.store = createStore(storeConfig);
57
- return next({ context });
58
- },
59
- pickContext({ context, pickedContext }, next) {
60
- return next({
61
- context,
62
- pickedContext: {
63
- ...pickedContext,
64
- store: context.store
33
+ const state = (config) => {
34
+ return {
35
+ name: "@modern-js/plugin-state",
36
+ setup: () => {
37
+ const storeConfig = getStoreConfig(config);
38
+ return {
39
+ hoc({ App }, next) {
40
+ const getStateApp = (props) => {
41
+ const context = useContext(RuntimeReactContext);
42
+ return /* @__PURE__ */ _jsx(Provider, {
43
+ store: context.store,
44
+ config: storeConfig,
45
+ children: /* @__PURE__ */ _jsx(App, {
46
+ ...props
47
+ })
48
+ });
49
+ };
50
+ return next({
51
+ App: hoistNonReactStatics(getStateApp, App)
52
+ });
53
+ },
54
+ init({ context }, next) {
55
+ if (isBrowser()) {
56
+ var _window__SSR_DATA, _window__SSR_DATA_data;
57
+ storeConfig.initialState = storeConfig.initialState || (window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : _window__SSR_DATA_data.storeState) || {};
65
58
  }
66
- });
67
- }
68
- };
69
- }
70
- });
71
- var plugin_default = state;
72
- export * from "../plugins";
73
- export {
74
- plugin_default as default
59
+ context.store = createStore(storeConfig);
60
+ return next({
61
+ context
62
+ });
63
+ },
64
+ pickContext({ context, pickedContext }, next) {
65
+ return next({
66
+ context,
67
+ pickedContext: {
68
+ ...pickedContext,
69
+ store: context.store
70
+ }
71
+ });
72
+ }
73
+ };
74
+ }
75
+ };
75
76
  };
77
+ export default state;
78
+ export * from "../plugins";
@@ -0,0 +1 @@
1
+ export {};
@@ -9,5 +9,5 @@ export { Link, NavLink } from './PrefetchLink';
9
9
  export type { LinkProps, NavLinkProps } from './PrefetchLink';
10
10
  export declare const useRouteLoaderData: typeof useRouteData;
11
11
  export type { FormEncType, FormMethod, GetScrollRestorationKeyFunction, ParamKeyValuePair, SubmitOptions, URLSearchParamsInit, FetcherWithComponents, BrowserRouterProps, HashRouterProps, HistoryRouterProps, FormProps, ScrollRestorationProps, SubmitFunction, ActionFunction, ActionFunctionArgs, AwaitProps, unstable_Blocker, unstable_BlockerFunction, DataRouteMatch, DataRouteObject, Fetcher, Hash, IndexRouteObject, IndexRouteProps, JsonFunction, LayoutRouteProps, LoaderFunction, LoaderFunctionArgs, Location, MemoryRouterProps, NavigateFunction, NavigateOptions, NavigateProps, Navigation, Navigator, NonIndexRouteObject, OutletProps, Params, ParamParseKey, Path, PathMatch, Pathname, PathPattern, PathRouteProps, RedirectFunction, RelativeRoutingType, RouteMatch, RouteObject, RouteProps, RouterProps, RouterProviderProps, RoutesProps, Search, ShouldRevalidateFunction, To } from 'react-router-dom';
12
- export { createBrowserRouter, createHashRouter, createMemoryRouter, RouterProvider, BrowserRouter, HashRouter, MemoryRouter, Router, Await, Form, Navigate, Outlet, Route, Routes, ScrollRestoration, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, isRouteErrorResponse, matchPath, matchRoutes, renderMatches, resolvePath, createPath } from 'react-router-dom';
12
+ export { createBrowserRouter, createHashRouter, createMemoryRouter, RouterProvider, BrowserRouter, HashRouter, MemoryRouter, Router, Await, Form, Navigate, Outlet, Route, Routes, ScrollRestoration, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRoutes, useSearchParams, useSubmit, createRoutesFromChildren, createRoutesFromElements, createSearchParams, generatePath, isRouteErrorResponse, matchPath, matchRoutes, renderMatches, resolvePath, createPath, unstable_useBlocker, unstable_usePrompt } from 'react-router-dom';
13
13
  export { defer, json, redirect } from '@modern-js/utils/universal/remix-router';
package/package.json CHANGED
@@ -3,7 +3,11 @@
3
3
  "description": "A Progressive React Framework for modern web development.",
4
4
  "homepage": "https://modernjs.dev",
5
5
  "bugs": "https://github.com/web-infra-dev/modern.js/issues",
6
- "repository": "web-infra-dev/modern.js",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/web-infra-dev/modern.js",
9
+ "directory": "packages/runtime/plugin-runtime"
10
+ },
7
11
  "license": "MIT",
8
12
  "keywords": [
9
13
  "react",
@@ -11,7 +15,7 @@
11
15
  "modern",
12
16
  "modern.js"
13
17
  ],
14
- "version": "2.15.1-alpha.2",
18
+ "version": "2.16.1-alpha.0",
15
19
  "engines": {
16
20
  "node": ">=14.17.6"
17
21
  },
@@ -158,9 +162,9 @@
158
162
  "react-side-effect": "^2.1.1",
159
163
  "redux-logger": "^3.0.6",
160
164
  "styled-components": "^5.3.1",
161
- "@modern-js/plugin": "2.15.0",
162
- "@modern-js/types": "2.15.0",
163
- "@modern-js/utils": "2.15.1-alpha.0"
165
+ "@modern-js/plugin": "2.16.0",
166
+ "@modern-js/types": "2.16.0",
167
+ "@modern-js/utils": "2.16.0"
164
168
  },
165
169
  "peerDependencies": {
166
170
  "react": ">=17",
@@ -180,11 +184,11 @@
180
184
  "react-dom": "^18",
181
185
  "ts-jest": "^29.0.5",
182
186
  "typescript": "^4",
183
- "@modern-js/app-tools": "2.15.0",
184
- "@modern-js/core": "2.15.0",
185
- "@modern-js/server-core": "2.15.0",
186
- "@scripts/build": "2.15.0",
187
- "@scripts/jest-config": "2.15.0"
187
+ "@modern-js/app-tools": "2.16.0",
188
+ "@scripts/build": "2.16.0",
189
+ "@modern-js/core": "2.16.0",
190
+ "@modern-js/server-core": "2.16.0",
191
+ "@scripts/jest-config": "2.16.0"
188
192
  },
189
193
  "sideEffects": false,
190
194
  "modernConfig": {},
package/types/model.d.ts CHANGED
@@ -3,4 +3,5 @@
3
3
  /// <reference types="@modern-js-reduck/plugin-effects" />
4
4
  /// <reference types="@modern-js-reduck/plugin-immutable" />
5
5
 
6
+ export { default } from '../dist/types/state';
6
7
  export * from '../dist/types/state';