@modern-js/runtime 2.22.0 → 2.22.2-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 (286) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/document/Html.js +2 -1
  3. package/dist/cjs/document/Style.js +26 -0
  4. package/dist/cjs/document/cli/index.js +3 -0
  5. package/dist/cjs/document/constants.js +11 -6
  6. package/dist/cjs/document/index.js +1 -0
  7. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +9 -4
  8. package/dist/cjs/router/runtime/plugin.js +16 -1
  9. package/dist/cjs/router/runtime/plugin.node.js +5 -2
  10. package/dist/esm/document/Html.js +8 -3
  11. package/dist/esm/document/Style.js +14 -0
  12. package/dist/esm/document/cli/index.js +6 -1
  13. package/dist/esm/document/constants.js +3 -1
  14. package/dist/esm/document/index.js +1 -0
  15. package/dist/esm/router/runtime/DeferredDataScripts.node.js +9 -4
  16. package/dist/esm/router/runtime/plugin.js +20 -1
  17. package/dist/esm/router/runtime/plugin.node.js +6 -3
  18. package/dist/esm-node/document/Html.js +2 -1
  19. package/dist/esm-node/document/Style.js +14 -0
  20. package/dist/esm-node/document/cli/index.js +4 -1
  21. package/dist/esm-node/document/constants.js +3 -1
  22. package/dist/esm-node/document/index.js +1 -0
  23. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +9 -4
  24. package/dist/esm-node/router/runtime/plugin.js +16 -1
  25. package/dist/esm-node/router/runtime/plugin.node.js +5 -2
  26. package/dist/js/modern/cli/index.js +72 -0
  27. package/dist/js/modern/common.js +4 -0
  28. package/dist/js/modern/config.js +0 -0
  29. package/dist/js/modern/core/app-config.js +10 -0
  30. package/dist/js/modern/core/compatible.js +286 -0
  31. package/dist/js/modern/core/index.js +16 -0
  32. package/dist/js/modern/core/loader/index.js +4 -0
  33. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  34. package/dist/js/modern/core/loader/useLoader.js +114 -0
  35. package/dist/js/modern/core/plugin.js +58 -0
  36. package/dist/js/modern/document/Body.js +23 -0
  37. package/dist/js/modern/document/DocumentContext.js +9 -0
  38. package/dist/js/modern/document/DocumentStructureContext.js +11 -0
  39. package/dist/js/modern/document/Head.js +27 -0
  40. package/dist/js/modern/document/Html.js +78 -0
  41. package/dist/js/modern/document/Links.js +10 -0
  42. package/dist/js/modern/document/Root.js +33 -0
  43. package/dist/js/modern/document/Script.js +20 -0
  44. package/dist/js/modern/document/Scripts.js +10 -0
  45. package/dist/js/modern/document/cli/index.js +228 -0
  46. package/dist/js/modern/document/constants.js +49 -0
  47. package/dist/js/modern/document/index.js +10 -0
  48. package/dist/js/modern/exports/head.js +6 -0
  49. package/dist/js/modern/exports/loadable.js +6 -0
  50. package/dist/js/modern/exports/server.js +4 -0
  51. package/dist/js/modern/exports/styled.js +6 -0
  52. package/dist/js/modern/index.js +22 -0
  53. package/dist/js/modern/router/cli/index.js +120 -0
  54. package/dist/js/modern/router/index.js +7 -0
  55. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  56. package/dist/js/modern/router/runtime/fetch.js +5 -0
  57. package/dist/js/modern/router/runtime/fetch.node.js +4 -0
  58. package/dist/js/modern/router/runtime/fetch.worker.js +5 -0
  59. package/dist/js/modern/router/runtime/index.js +9 -0
  60. package/dist/js/modern/router/runtime/plugin.js +104 -0
  61. package/dist/js/modern/router/runtime/plugin.node.js +189 -0
  62. package/dist/js/modern/router/runtime/server.js +1 -0
  63. package/dist/js/modern/router/runtime/types.js +0 -0
  64. package/dist/js/modern/router/runtime/utils.js +196 -0
  65. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  66. package/dist/js/modern/runtime-context.js +7 -0
  67. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  68. package/dist/js/modern/ssr/cli/index.js +172 -0
  69. package/dist/js/modern/ssr/index.js +159 -0
  70. package/dist/js/modern/ssr/index.node.js +79 -0
  71. package/dist/js/modern/ssr/prefetch.js +69 -0
  72. package/dist/js/modern/ssr/prefetch.worker.js +66 -0
  73. package/dist/js/modern/ssr/react/index.js +6 -0
  74. package/dist/js/modern/ssr/react/nossr/index.js +18 -0
  75. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  76. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  77. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  78. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  79. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  80. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  81. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  82. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  83. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  84. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  85. package/dist/js/modern/ssr/serverRender/renderToStream/index.worker.js +35 -0
  86. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  87. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +96 -0
  88. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.worker.js +117 -0
  89. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  90. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  91. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  92. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +172 -0
  93. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  94. package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +49 -0
  95. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  96. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  97. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  98. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  99. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  100. package/dist/js/modern/ssr/serverRender/time.js +13 -0
  101. package/dist/js/modern/ssr/serverRender/time.worker.js +28 -0
  102. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  103. package/dist/js/modern/ssr/serverRender/utils.js +11 -0
  104. package/dist/js/modern/ssr/utils.js +81 -0
  105. package/dist/js/modern/state/cli/index.js +83 -0
  106. package/dist/js/modern/state/index.js +7 -0
  107. package/dist/js/modern/state/plugins.js +13 -0
  108. package/dist/js/modern/state/runtime/index.js +9 -0
  109. package/dist/js/modern/state/runtime/plugin.js +97 -0
  110. package/dist/js/modern/state/types.js +0 -0
  111. package/dist/js/node/cli/index.js +99 -0
  112. package/dist/js/node/common.js +27 -0
  113. package/dist/js/node/config.js +15 -0
  114. package/dist/js/node/core/app-config.js +34 -0
  115. package/dist/js/node/core/compatible.js +313 -0
  116. package/dist/js/node/core/index.js +47 -0
  117. package/dist/js/node/core/loader/index.js +33 -0
  118. package/dist/js/node/core/loader/loaderManager.js +195 -0
  119. package/dist/js/node/core/loader/useLoader.js +132 -0
  120. package/dist/js/node/core/plugin.js +80 -0
  121. package/dist/js/node/document/Body.js +43 -0
  122. package/dist/js/node/document/DocumentContext.js +38 -0
  123. package/dist/js/node/document/DocumentStructureContext.js +40 -0
  124. package/dist/js/node/document/Head.js +51 -0
  125. package/dist/js/node/document/Html.js +101 -0
  126. package/dist/js/node/document/Links.js +33 -0
  127. package/dist/js/node/document/Root.js +57 -0
  128. package/dist/js/node/document/Script.js +40 -0
  129. package/dist/js/node/document/Scripts.js +33 -0
  130. package/dist/js/node/document/cli/index.js +240 -0
  131. package/dist/js/node/document/constants.js +86 -0
  132. package/dist/js/node/document/index.js +26 -0
  133. package/dist/js/node/exports/head.js +34 -0
  134. package/dist/js/node/exports/loadable.js +34 -0
  135. package/dist/js/node/exports/server.js +27 -0
  136. package/dist/js/node/exports/styled.js +34 -0
  137. package/dist/js/node/index.js +44 -0
  138. package/dist/js/node/router/cli/index.js +135 -0
  139. package/dist/js/node/router/index.js +37 -0
  140. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  141. package/dist/js/node/router/runtime/fetch.js +28 -0
  142. package/dist/js/node/router/runtime/fetch.node.js +27 -0
  143. package/dist/js/node/router/runtime/fetch.worker.js +28 -0
  144. package/dist/js/node/router/runtime/index.js +33 -0
  145. package/dist/js/node/router/runtime/plugin.js +127 -0
  146. package/dist/js/node/router/runtime/plugin.node.js +212 -0
  147. package/dist/js/node/router/runtime/server.js +17 -0
  148. package/dist/js/node/router/runtime/types.js +15 -0
  149. package/dist/js/node/router/runtime/utils.js +221 -0
  150. package/dist/js/node/router/runtime/withRouter.js +57 -0
  151. package/dist/js/node/runtime-context.js +31 -0
  152. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  153. package/dist/js/node/ssr/cli/index.js +190 -0
  154. package/dist/js/node/ssr/index.js +185 -0
  155. package/dist/js/node/ssr/index.node.js +107 -0
  156. package/dist/js/node/ssr/prefetch.js +90 -0
  157. package/dist/js/node/ssr/prefetch.worker.js +87 -0
  158. package/dist/js/node/ssr/react/index.js +30 -0
  159. package/dist/js/node/ssr/react/nossr/index.js +47 -0
  160. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  161. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  162. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  163. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  164. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  165. package/dist/js/node/ssr/serverRender/index.js +56 -0
  166. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  167. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  168. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  169. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  170. package/dist/js/node/ssr/serverRender/renderToStream/index.worker.js +64 -0
  171. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  172. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +115 -0
  173. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.worker.js +136 -0
  174. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  175. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  176. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  177. package/dist/js/node/ssr/serverRender/renderToString/entry.js +197 -0
  178. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  179. package/dist/js/node/ssr/serverRender/renderToString/index.worker.js +78 -0
  180. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  181. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  182. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  183. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  184. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  185. package/dist/js/node/ssr/serverRender/time.js +36 -0
  186. package/dist/js/node/ssr/serverRender/time.worker.js +51 -0
  187. package/dist/js/node/ssr/serverRender/types.js +27 -0
  188. package/dist/js/node/ssr/serverRender/utils.js +34 -0
  189. package/dist/js/node/ssr/utils.js +106 -0
  190. package/dist/js/node/state/cli/index.js +100 -0
  191. package/dist/js/node/state/index.js +37 -0
  192. package/dist/js/node/state/plugins.js +45 -0
  193. package/dist/js/node/state/runtime/index.js +40 -0
  194. package/dist/js/node/state/runtime/plugin.js +121 -0
  195. package/dist/js/node/state/types.js +15 -0
  196. package/dist/js/treeshaking/cli/index.js +186 -0
  197. package/dist/js/treeshaking/common.js +4 -0
  198. package/dist/js/treeshaking/config.js +1 -0
  199. package/dist/js/treeshaking/core/app-config.js +9 -0
  200. package/dist/js/treeshaking/core/compatible.js +486 -0
  201. package/dist/js/treeshaking/core/index.js +7 -0
  202. package/dist/js/treeshaking/core/loader/index.js +2 -0
  203. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  204. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  205. package/dist/js/treeshaking/core/plugin.js +176 -0
  206. package/dist/js/treeshaking/document/Body.js +18 -0
  207. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  208. package/dist/js/treeshaking/document/DocumentStructureContext.js +9 -0
  209. package/dist/js/treeshaking/document/Head.js +24 -0
  210. package/dist/js/treeshaking/document/Html.js +99 -0
  211. package/dist/js/treeshaking/document/Links.js +8 -0
  212. package/dist/js/treeshaking/document/Root.js +26 -0
  213. package/dist/js/treeshaking/document/Script.js +15 -0
  214. package/dist/js/treeshaking/document/Scripts.js +8 -0
  215. package/dist/js/treeshaking/document/cli/index.js +393 -0
  216. package/dist/js/treeshaking/document/constants.js +35 -0
  217. package/dist/js/treeshaking/document/index.js +10 -0
  218. package/dist/js/treeshaking/exports/head.js +4 -0
  219. package/dist/js/treeshaking/exports/loadable.js +4 -0
  220. package/dist/js/treeshaking/exports/server.js +4 -0
  221. package/dist/js/treeshaking/exports/styled.js +4 -0
  222. package/dist/js/treeshaking/index.js +3 -0
  223. package/dist/js/treeshaking/router/cli/index.js +148 -0
  224. package/dist/js/treeshaking/router/index.js +4 -0
  225. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  226. package/dist/js/treeshaking/router/runtime/fetch.js +2 -0
  227. package/dist/js/treeshaking/router/runtime/fetch.node.js +2 -0
  228. package/dist/js/treeshaking/router/runtime/fetch.worker.js +2 -0
  229. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  230. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  231. package/dist/js/treeshaking/router/runtime/plugin.node.js +447 -0
  232. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  233. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  234. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  235. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  236. package/dist/js/treeshaking/runtime-context.js +4 -0
  237. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  238. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  239. package/dist/js/treeshaking/ssr/index.js +315 -0
  240. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  241. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  242. package/dist/js/treeshaking/ssr/prefetch.worker.js +191 -0
  243. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  244. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  245. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  246. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  247. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  248. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  249. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  250. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  251. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  252. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  253. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  254. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  255. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.worker.js +32 -0
  256. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  257. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +122 -0
  258. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.worker.js +294 -0
  259. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  260. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  261. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  262. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  263. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  264. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.worker.js +167 -0
  265. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  266. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  267. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  268. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  269. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  270. package/dist/js/treeshaking/ssr/serverRender/time.js +57 -0
  271. package/dist/js/treeshaking/ssr/serverRender/time.worker.js +75 -0
  272. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  273. package/dist/js/treeshaking/ssr/serverRender/utils.js +13 -0
  274. package/dist/js/treeshaking/ssr/utils.js +134 -0
  275. package/dist/js/treeshaking/state/cli/index.js +71 -0
  276. package/dist/js/treeshaking/state/index.js +4 -0
  277. package/dist/js/treeshaking/state/plugins.js +14 -0
  278. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  279. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  280. package/dist/js/treeshaking/state/types.js +1 -0
  281. package/dist/types/document/Style.d.ts +5 -0
  282. package/dist/types/document/constants.d.ts +2 -1
  283. package/dist/types/document/index.d.ts +1 -0
  284. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +3 -1
  285. package/dist/types/runtimeContext.d.ts +8 -0
  286. package/package.json +11 -10
@@ -0,0 +1,108 @@
1
+ var REQUEST_META = [
2
+ "header",
3
+ "query"
4
+ ];
5
+ var getInnermostProperty = function getInnermostProperty2(propsList, propName) {
6
+ for(var i = propsList.length - 1; i >= 0; i--){
7
+ var props = propsList[i];
8
+ if (props.hasOwnProperty(propName)) {
9
+ return props[propName];
10
+ }
11
+ }
12
+ return null;
13
+ };
14
+ var getOutermostProperty = function getOutermostProperty2(propsList, propName) {
15
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
16
+ try {
17
+ for(var _iterator = propsList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
18
+ var props = _step.value;
19
+ if (props.hasOwnProperty(propName)) {
20
+ return props[propName];
21
+ }
22
+ }
23
+ } catch (err) {
24
+ _didIteratorError = true;
25
+ _iteratorError = err;
26
+ } finally{
27
+ try {
28
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
29
+ _iterator.return();
30
+ }
31
+ } finally{
32
+ if (_didIteratorError) {
33
+ throw _iteratorError;
34
+ }
35
+ }
36
+ }
37
+ return null;
38
+ };
39
+ var aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, propName) {
40
+ var initResult = REQUEST_META.reduce(function(result, next) {
41
+ var key = next;
42
+ result[key] = [];
43
+ return result;
44
+ }, {});
45
+ var res = propsList.filter(function(props) {
46
+ return usefulObject(props[propName]);
47
+ }).reduce(function(result, next) {
48
+ REQUEST_META.forEach(function(key) {
49
+ var prop = next[propName];
50
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
51
+ result[key] = unique(result[key].concat(prop[key]));
52
+ }
53
+ });
54
+ return result;
55
+ }, initResult);
56
+ return REQUEST_META.reduce(function(result, next) {
57
+ var _result_key;
58
+ var key = next;
59
+ if (result[key] && ((_result_key = result[key]) === null || _result_key === void 0 ? void 0 : _result_key.length) === 0) {
60
+ delete result[key];
61
+ }
62
+ return result;
63
+ }, res);
64
+ };
65
+ var aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList, propName) {
66
+ var initResult = REQUEST_META.reduce(function(result, next) {
67
+ var key = next;
68
+ result[key] = {};
69
+ return result;
70
+ }, {});
71
+ var res = propsList.filter(function(props) {
72
+ return usefulObject(props[propName]);
73
+ }).reduce(function(result, next) {
74
+ REQUEST_META.forEach(function(key) {
75
+ var prop = next[propName];
76
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
77
+ result[key] = Object.assign(result[key], prop[key]);
78
+ }
79
+ });
80
+ return result;
81
+ }, initResult);
82
+ return REQUEST_META.reduce(function(result, next) {
83
+ var key = next;
84
+ if (result[key] && Object.keys(result[key]).length === 0) {
85
+ delete result[key];
86
+ }
87
+ return result;
88
+ }, res);
89
+ };
90
+ function unique(arr) {
91
+ return Array.from(new Set(arr));
92
+ }
93
+ function usefulObject(target) {
94
+ if (!exist(target)) {
95
+ return false;
96
+ }
97
+ return target.constructor === Object && Object.keys(target).length > 0;
98
+ }
99
+ function usefulArray(target) {
100
+ if (!exist(target)) {
101
+ return false;
102
+ }
103
+ return Array.isArray(target) && target.length > 0;
104
+ }
105
+ function exist(target) {
106
+ return target != null;
107
+ }
108
+ export { aggKeysFromPropsList, aggMatchesFromPropsList, exist, getInnermostProperty, getOutermostProperty };
@@ -0,0 +1,16 @@
1
+ import { useRef, useLayoutEffect } from "react";
2
+ var WithCallback = function(param) {
3
+ var callback = param.callback, children = param.children;
4
+ var once = useRef(false);
5
+ useLayoutEffect(function() {
6
+ if (once.current) {
7
+ return;
8
+ }
9
+ once.current = true;
10
+ callback();
11
+ }, [
12
+ callback
13
+ ]);
14
+ return children;
15
+ };
16
+ export { WithCallback };
@@ -0,0 +1,42 @@
1
+ import { EOL } from "os";
2
+ var RE_HTML_ATTR = /<html[^>]*>/;
3
+ var RE_BODY_ATTR = /<body[^>]*>/;
4
+ var RE_LAST_IN_HEAD = /<\/head>/;
5
+ var RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
6
+ var TEST_TITLE_CONTENT = RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
7
+ function helmet(content, helmetData) {
8
+ var result = content;
9
+ var bodyAttributes = helmetData.bodyAttributes.toString();
10
+ if (bodyAttributes) {
11
+ result = result.replace(RE_BODY_ATTR, "<body ".concat(bodyAttributes, ">"));
12
+ }
13
+ var htmlAttributes = helmetData.htmlAttributes.toString();
14
+ if (htmlAttributes) {
15
+ result = result.replace(RE_HTML_ATTR, "<html ".concat(htmlAttributes, ">"));
16
+ }
17
+ var base = helmetData.base.toString();
18
+ var link = helmetData.link.toString();
19
+ var meta = helmetData.meta.toString();
20
+ var noscript = helmetData.noscript.toString();
21
+ var script = helmetData.script.toString();
22
+ var style = helmetData.style.toString();
23
+ var title = helmetData.title.toString();
24
+ var existTitleTag = RE_TITLE.test(content);
25
+ var shouldReplaceTitle = existTitleTag && TEST_TITLE_CONTENT.test(title.trim());
26
+ if (shouldReplaceTitle) {
27
+ result = result.replace(RE_TITLE, title);
28
+ }
29
+ var helmetStr = [
30
+ base,
31
+ link,
32
+ meta,
33
+ noscript,
34
+ script,
35
+ style,
36
+ !existTitleTag ? title : ""
37
+ ].reduce(function(pre, cur) {
38
+ return pre + (cur.length > 0 ? " ".concat(cur).concat(EOL) : "");
39
+ }, "");
40
+ return result.replace(RE_LAST_IN_HEAD, "".concat(helmetStr, "</head>"));
41
+ }
42
+ export { helmet as default };
@@ -0,0 +1,169 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ var __generator = this && this.__generator || function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ };
40
+ return g = {
41
+ next: verb(0),
42
+ "throw": verb(1),
43
+ "return": verb(2)
44
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
+ return this;
46
+ }), g;
47
+ function verb(n) {
48
+ return function(v) {
49
+ return step([
50
+ n,
51
+ v
52
+ ]);
53
+ };
54
+ }
55
+ function step(op) {
56
+ if (f) throw new TypeError("Generator is already executing.");
57
+ while(_)try {
58
+ 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;
59
+ if (y = 0, t) op = [
60
+ op[0] & 2,
61
+ t.value
62
+ ];
63
+ switch(op[0]){
64
+ case 0:
65
+ case 1:
66
+ t = op;
67
+ break;
68
+ case 4:
69
+ _.label++;
70
+ return {
71
+ value: op[1],
72
+ done: false
73
+ };
74
+ case 5:
75
+ _.label++;
76
+ y = op[1];
77
+ op = [
78
+ 0
79
+ ];
80
+ continue;
81
+ case 7:
82
+ op = _.ops.pop();
83
+ _.trys.pop();
84
+ continue;
85
+ default:
86
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
+ _ = 0;
88
+ continue;
89
+ }
90
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
+ _.label = op[1];
92
+ break;
93
+ }
94
+ if (op[0] === 6 && _.label < t[1]) {
95
+ _.label = t[1];
96
+ t = op;
97
+ break;
98
+ }
99
+ if (t && _.label < t[2]) {
100
+ _.label = t[2];
101
+ _.ops.push(op);
102
+ break;
103
+ }
104
+ if (t[2]) _.ops.pop();
105
+ _.trys.pop();
106
+ continue;
107
+ }
108
+ op = body.call(thisArg, _);
109
+ } catch (e) {
110
+ op = [
111
+ 6,
112
+ e
113
+ ];
114
+ y = 0;
115
+ } finally{
116
+ f = t = 0;
117
+ }
118
+ if (op[0] & 5) throw op[1];
119
+ return {
120
+ value: op[0] ? op[1] : void 0,
121
+ done: true
122
+ };
123
+ }
124
+ };
125
+ import { isReact18 } from "../utils";
126
+ function serverRender(options) {
127
+ return _serverRender.apply(this, arguments);
128
+ }
129
+ function _serverRender() {
130
+ _serverRender = _asyncToGenerator(function(options) {
131
+ var pipe, html;
132
+ return __generator(this, function(_state) {
133
+ switch(_state.label){
134
+ case 0:
135
+ if (!(isReact18() && options.config.mode === "stream")) return [
136
+ 3,
137
+ 2
138
+ ];
139
+ return [
140
+ 4,
141
+ require("./renderToStream").render(options)
142
+ ];
143
+ case 1:
144
+ pipe = _state.sent();
145
+ return [
146
+ 2,
147
+ pipe
148
+ ];
149
+ case 2:
150
+ return [
151
+ 4,
152
+ require("./renderToString").render(options)
153
+ ];
154
+ case 3:
155
+ html = _state.sent();
156
+ return [
157
+ 2,
158
+ html
159
+ ];
160
+ case 4:
161
+ return [
162
+ 2
163
+ ];
164
+ }
165
+ });
166
+ });
167
+ return _serverRender.apply(this, arguments);
168
+ }
169
+ export { serverRender as default };
@@ -0,0 +1,34 @@
1
+ import serialize from "serialize-javascript";
2
+ import { buildTemplate } from "./buildTemplate.share";
3
+ function buildShellAfterTemplate(afterAppTemplate, options) {
4
+ var injectSSRDataScript = function injectSSRDataScript(template) {
5
+ var ssrDataScript = buildSSRDataScript();
6
+ return template.replace("<!--<?- SSRDataScript ?>-->", ssrDataScript);
7
+ function buildSSRDataScript() {
8
+ var ssrContext = options.ssrContext, renderLevel = options.renderLevel;
9
+ var request = ssrContext.request;
10
+ var SSRData = {
11
+ context: {
12
+ request: {
13
+ params: request.params,
14
+ query: request.query,
15
+ pathname: request.pathname,
16
+ host: request.host,
17
+ url: request.url,
18
+ headers: request.headers,
19
+ cookieMap: request.cookieMap
20
+ }
21
+ },
22
+ renderLevel: renderLevel
23
+ };
24
+ return "\n <script>window._SSR_DATA = ".concat(serialize(SSRData, {
25
+ isJSON: true
26
+ }), "</script>\n ");
27
+ }
28
+ };
29
+ var callbacks = [
30
+ injectSSRDataScript
31
+ ];
32
+ return buildTemplate(afterAppTemplate, callbacks);
33
+ }
34
+ export { buildShellAfterTemplate };
@@ -0,0 +1,7 @@
1
+ var HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
2
+ function buildTemplate(template, callbacks) {
3
+ return callbacks.reduce(function(template2, buildTemplateCb) {
4
+ return buildTemplateCb(template2);
5
+ }, template);
6
+ }
7
+ export { HEAD_REG_EXP, buildTemplate };
@@ -0,0 +1,115 @@
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 _arrayWithoutHoles(arr) {
10
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
11
+ }
12
+ function _iterableToArray(iter) {
13
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14
+ }
15
+ function _iterableToArrayLimit(arr, i) {
16
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17
+ if (_i == null) return;
18
+ var _arr = [];
19
+ var _n = true;
20
+ var _d = false;
21
+ var _s, _e;
22
+ try {
23
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
24
+ _arr.push(_s.value);
25
+ if (i && _arr.length === i) break;
26
+ }
27
+ } catch (err) {
28
+ _d = true;
29
+ _e = err;
30
+ } finally{
31
+ try {
32
+ if (!_n && _i["return"] != null) _i["return"]();
33
+ } finally{
34
+ if (_d) throw _e;
35
+ }
36
+ }
37
+ return _arr;
38
+ }
39
+ function _nonIterableRest() {
40
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
41
+ }
42
+ function _nonIterableSpread() {
43
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
44
+ }
45
+ function _slicedToArray(arr, i) {
46
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
47
+ }
48
+ function _toConsumableArray(arr) {
49
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
50
+ }
51
+ function _unsupportedIterableToArray(o, minLen) {
52
+ if (!o) return;
53
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
54
+ var n = Object.prototype.toString.call(o).slice(8, -1);
55
+ if (n === "Object" && o.constructor) n = o.constructor.name;
56
+ if (n === "Map" || n === "Set") return Array.from(n);
57
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
58
+ }
59
+ import ReactHelmet from "react-helmet";
60
+ import { matchRoutes } from "react-router-dom";
61
+ import helmetReplace from "../helmet";
62
+ import { HEAD_REG_EXP, buildTemplate } from "./buildTemplate.share";
63
+ var CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
64
+ function getHeadTemplate(beforeEntryTemplate, context) {
65
+ var injectCss = function injectCss(headTemplate2) {
66
+ return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
67
+ function getCssChunks() {
68
+ var routeManifest = context.routeManifest, routerContext = context.routerContext, routes = context.routes;
69
+ if (!routeManifest || !routerContext || !routes) {
70
+ return "";
71
+ }
72
+ var routeAssets = routeManifest.routeAssets;
73
+ var cssChunks = [];
74
+ var matches = matchRoutes(routes, routerContext.location);
75
+ matches === null || matches === void 0 ? void 0 : matches.forEach(function(match, index) {
76
+ if (!index) {
77
+ return;
78
+ }
79
+ var routeId = match.route.id;
80
+ if (routeId) {
81
+ var routeManifest2 = routeAssets[routeId];
82
+ if (routeManifest2) {
83
+ var _cssChunks;
84
+ var _routeManifest2_assets = routeManifest2.assets, assets = _routeManifest2_assets === void 0 ? [] : _routeManifest2_assets;
85
+ var _cssChunks1 = assets.filter(function(asset) {
86
+ return asset === null || asset === void 0 ? void 0 : asset.endsWith(".css");
87
+ });
88
+ (_cssChunks = cssChunks).push.apply(_cssChunks, _toConsumableArray(_cssChunks1));
89
+ }
90
+ }
91
+ });
92
+ var styleLinks = cssChunks.map(function(chunk) {
93
+ return '<link href="'.concat(chunk, '" rel="stylesheet" />');
94
+ });
95
+ return "".concat(styleLinks.join(""));
96
+ }
97
+ };
98
+ var callbacks = [
99
+ function(headTemplate2) {
100
+ var helmetData = ReactHelmet.renderStatic();
101
+ return helmetData ? helmetReplace(headTemplate2, helmetData) : headTemplate2;
102
+ },
103
+ injectCss
104
+ ];
105
+ var _ref = _slicedToArray(beforeEntryTemplate.match(HEAD_REG_EXP) || [], 1), tmp = _ref[0], headTemplate = tmp === void 0 ? "" : tmp;
106
+ if (!headTemplate.length) {
107
+ return "";
108
+ }
109
+ return buildTemplate(headTemplate, callbacks);
110
+ }
111
+ function buildShellBeforeTemplate(beforeAppTemplate, context) {
112
+ var headTemplate = getHeadTemplate(beforeAppTemplate, context);
113
+ return beforeAppTemplate.replace(HEAD_REG_EXP, headTemplate);
114
+ }
115
+ export { buildShellBeforeTemplate };
@@ -0,0 +1,165 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ var __generator = this && this.__generator || function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ };
40
+ return g = {
41
+ next: verb(0),
42
+ "throw": verb(1),
43
+ "return": verb(2)
44
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
+ return this;
46
+ }), g;
47
+ function verb(n) {
48
+ return function(v) {
49
+ return step([
50
+ n,
51
+ v
52
+ ]);
53
+ };
54
+ }
55
+ function step(op) {
56
+ if (f) throw new TypeError("Generator is already executing.");
57
+ while(_)try {
58
+ 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;
59
+ if (y = 0, t) op = [
60
+ op[0] & 2,
61
+ t.value
62
+ ];
63
+ switch(op[0]){
64
+ case 0:
65
+ case 1:
66
+ t = op;
67
+ break;
68
+ case 4:
69
+ _.label++;
70
+ return {
71
+ value: op[1],
72
+ done: false
73
+ };
74
+ case 5:
75
+ _.label++;
76
+ y = op[1];
77
+ op = [
78
+ 0
79
+ ];
80
+ continue;
81
+ case 7:
82
+ op = _.ops.pop();
83
+ _.trys.pop();
84
+ continue;
85
+ default:
86
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
+ _ = 0;
88
+ continue;
89
+ }
90
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
+ _.label = op[1];
92
+ break;
93
+ }
94
+ if (op[0] === 6 && _.label < t[1]) {
95
+ _.label = t[1];
96
+ t = op;
97
+ break;
98
+ }
99
+ if (t && _.label < t[2]) {
100
+ _.label = t[2];
101
+ _.ops.push(op);
102
+ break;
103
+ }
104
+ if (t[2]) _.ops.pop();
105
+ _.trys.pop();
106
+ continue;
107
+ }
108
+ op = body.call(thisArg, _);
109
+ } catch (e) {
110
+ op = [
111
+ 6,
112
+ e
113
+ ];
114
+ y = 0;
115
+ } finally{
116
+ f = t = 0;
117
+ }
118
+ if (op[0] & 5) throw op[1];
119
+ return {
120
+ value: op[0] ? op[1] : void 0,
121
+ done: true
122
+ };
123
+ }
124
+ };
125
+ import { createElement } from "react";
126
+ import { run } from "@modern-js/utils/ssr";
127
+ import { PreRender } from "../../react/prerender";
128
+ import { time } from "../time";
129
+ import renderToPipe from "./renderToPipe";
130
+ var render = function(param) {
131
+ var App = param.App, context = param.context;
132
+ var ssrContext = context.ssrContext;
133
+ if (!ssrContext) {
134
+ throw new Error('The "ssrContext" must not be undefined, but received undefined');
135
+ }
136
+ return run(ssrContext.request.headers, /*#__PURE__*/ _asyncToGenerator(function() {
137
+ var end, rootElement, pipe;
138
+ return __generator(this, function(_state) {
139
+ end = time();
140
+ rootElement = createElement(App, {
141
+ context: Object.assign(context || {}, {
142
+ ssr: true
143
+ })
144
+ });
145
+ pipe = renderToPipe(rootElement, context, {
146
+ onShellReady: function onShellReady() {
147
+ var cacheConfig = PreRender.config();
148
+ if (cacheConfig) {
149
+ ssrContext.cacheConfig = cacheConfig;
150
+ }
151
+ },
152
+ onAllReady: function onAllReady() {
153
+ var cost = end();
154
+ ssrContext.logger.debug("App Render To HTML cost = %d ms", cost);
155
+ ssrContext.metrics.emitTimer("app.render.html.cost", cost);
156
+ }
157
+ });
158
+ return [
159
+ 2,
160
+ pipe
161
+ ];
162
+ });
163
+ }));
164
+ };
165
+ export { render };
@@ -0,0 +1,32 @@
1
+ import { createElement } from "react";
2
+ import { PreRender } from "../../react/prerender";
3
+ import { time } from "../time";
4
+ import renderToPipe from "./renderToPipe";
5
+ var render = function(param) {
6
+ var App = param.App, context = param.context;
7
+ var ssrContext = context.ssrContext;
8
+ if (!ssrContext) {
9
+ throw new Error('The "ssrContext" must not be undefined, but received undefined');
10
+ }
11
+ var end = time();
12
+ var rootElement = createElement(App, {
13
+ context: Object.assign(context || {}, {
14
+ ssr: true
15
+ })
16
+ });
17
+ var pipe = renderToPipe(rootElement, context, {
18
+ onShellReady: function onShellReady() {
19
+ var cacheConfig = PreRender.config();
20
+ if (cacheConfig) {
21
+ ssrContext.cacheConfig = cacheConfig;
22
+ }
23
+ },
24
+ onAllReady: function onAllReady() {
25
+ var cost = end();
26
+ ssrContext.logger.debug("App Render To HTML cost = %d ms", cost);
27
+ ssrContext.metrics.emitTimer("app.render.html.cost", cost);
28
+ }
29
+ });
30
+ return pipe;
31
+ };
32
+ export { render };