@modern-js/runtime 2.0.0-beta.3 → 2.0.0-beta.5

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 (258) hide show
  1. package/CHANGELOG.md +126 -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/core/app-config.js +8 -9
  6. package/dist/js/modern/core/compatible.js +195 -169
  7. package/dist/js/modern/core/index.js +14 -6
  8. package/dist/js/modern/core/loader/index.js +4 -1
  9. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  10. package/dist/js/modern/core/loader/useLoader.js +96 -69
  11. package/dist/js/modern/core/plugin.js +37 -20
  12. package/dist/js/modern/document/Body.js +20 -14
  13. package/dist/js/modern/document/DocumentContext.js +6 -3
  14. package/dist/js/modern/document/DocumentStructrueContext.js +6 -3
  15. package/dist/js/modern/document/Head.js +18 -17
  16. package/dist/js/modern/document/Html.js +42 -58
  17. package/dist/js/modern/document/Root.js +22 -20
  18. package/dist/js/modern/document/Script.js +20 -0
  19. package/dist/js/modern/document/Scripts.js +7 -7
  20. package/dist/js/modern/document/cli/index.js +175 -85
  21. package/dist/js/modern/document/constants.js +41 -15
  22. package/dist/js/modern/document/index.js +2 -1
  23. package/dist/js/modern/document/type.d.js +0 -0
  24. package/dist/js/modern/exports/head.js +6 -3
  25. package/dist/js/modern/exports/loadable.js +6 -3
  26. package/dist/js/modern/exports/server.js +4 -1
  27. package/dist/js/modern/exports/styled.js +6 -3
  28. package/dist/js/modern/index.js +22 -2
  29. package/dist/js/modern/modern-app.env.d.js +0 -0
  30. package/dist/js/modern/router/cli/index.js +76 -60
  31. package/dist/js/modern/router/index.js +7 -3
  32. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  33. package/dist/js/modern/router/runtime/index.js +8 -3
  34. package/dist/js/modern/router/runtime/plugin.js +79 -37
  35. package/dist/js/modern/router/runtime/plugin.node.js +88 -83
  36. package/dist/js/modern/router/runtime/root/index.js +10 -10
  37. package/dist/js/modern/router/runtime/root/load.js +57 -36
  38. package/dist/js/modern/router/runtime/server.js +1 -1
  39. package/dist/js/modern/router/runtime/types.js +0 -1
  40. package/dist/js/modern/router/runtime/utils.js +91 -66
  41. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  42. package/dist/js/modern/runtime-context.js +7 -3
  43. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  44. package/dist/js/modern/ssr/cli/index.js +102 -79
  45. package/dist/js/modern/ssr/index.js +89 -71
  46. package/dist/js/modern/ssr/index.node.js +59 -37
  47. package/dist/js/modern/ssr/prefetch.js +64 -45
  48. package/dist/js/modern/ssr/react/index.js +6 -2
  49. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  50. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  51. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  52. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  53. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  54. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  55. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  56. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  57. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +37 -38
  58. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  59. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  60. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  61. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  62. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  63. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  64. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  66. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  67. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  68. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  69. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  70. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  71. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  72. package/dist/js/modern/ssr/type.d.js +0 -0
  73. package/dist/js/modern/ssr/utils.js +41 -21
  74. package/dist/js/modern/state/cli/index.js +43 -32
  75. package/dist/js/modern/state/index.js +7 -3
  76. package/dist/js/modern/state/plugins.js +13 -7
  77. package/dist/js/modern/state/runtime/index.js +9 -4
  78. package/dist/js/modern/state/runtime/plugin.js +56 -40
  79. package/dist/js/modern/state/types.js +0 -1
  80. package/dist/js/node/cli/index.js +79 -30
  81. package/dist/js/node/cli/types.d.js +0 -0
  82. package/dist/js/node/common.js +26 -7
  83. package/dist/js/node/core/app-config.js +29 -14
  84. package/dist/js/node/core/compatible.js +227 -186
  85. package/dist/js/node/core/index.js +44 -99
  86. package/dist/js/node/core/loader/index.js +31 -11
  87. package/dist/js/node/core/loader/loaderManager.js +102 -83
  88. package/dist/js/node/core/loader/useLoader.js +120 -83
  89. package/dist/js/node/core/plugin.js +65 -35
  90. package/dist/js/node/document/Body.js +40 -23
  91. package/dist/js/node/document/DocumentContext.js +33 -9
  92. package/dist/js/node/document/DocumentStructrueContext.js +33 -9
  93. package/dist/js/node/document/Head.js +43 -27
  94. package/dist/js/node/document/Html.js +66 -65
  95. package/dist/js/node/document/Root.js +47 -31
  96. package/dist/js/node/document/Script.js +40 -0
  97. package/dist/js/node/document/Scripts.js +30 -14
  98. package/dist/js/node/document/cli/index.js +188 -95
  99. package/dist/js/node/document/constants.js +73 -28
  100. package/dist/js/node/document/index.js +25 -93
  101. package/dist/js/node/document/type.d.js +0 -0
  102. package/dist/js/node/exports/head.js +33 -22
  103. package/dist/js/node/exports/loadable.js +33 -22
  104. package/dist/js/node/exports/server.js +26 -7
  105. package/dist/js/node/exports/styled.js +33 -22
  106. package/dist/js/node/index.js +43 -60
  107. package/dist/js/node/modern-app.env.d.js +0 -0
  108. package/dist/js/node/router/cli/index.js +89 -65
  109. package/dist/js/node/router/index.js +33 -30
  110. package/dist/js/node/router/runtime/DefaultNotFound.js +32 -17
  111. package/dist/js/node/router/runtime/index.js +31 -32
  112. package/dist/js/node/router/runtime/plugin.js +101 -44
  113. package/dist/js/node/router/runtime/plugin.node.js +113 -93
  114. package/dist/js/node/router/runtime/root/index.js +37 -21
  115. package/dist/js/node/router/runtime/root/load.js +80 -42
  116. package/dist/js/node/router/runtime/server.js +17 -16
  117. package/dist/js/node/router/runtime/types.js +15 -5
  118. package/dist/js/node/router/runtime/utils.js +112 -75
  119. package/dist/js/node/router/runtime/withRouter.js +53 -22
  120. package/dist/js/node/runtime-context.js +30 -10
  121. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  122. package/dist/js/node/ssr/cli/index.js +119 -85
  123. package/dist/js/node/ssr/index.js +125 -104
  124. package/dist/js/node/ssr/index.node.js +86 -59
  125. package/dist/js/node/ssr/prefetch.js +84 -51
  126. package/dist/js/node/ssr/react/index.js +27 -16
  127. package/dist/js/node/ssr/react/nossr/index.js +37 -16
  128. package/dist/js/node/ssr/react/prerender/index.js +82 -45
  129. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  130. package/dist/js/node/ssr/react/prerender/util.js +63 -36
  131. package/dist/js/node/ssr/react/withCallback/index.js +29 -15
  132. package/dist/js/node/ssr/serverRender/helmet.js +37 -17
  133. package/dist/js/node/ssr/serverRender/index.js +55 -19
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +40 -20
  135. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +32 -10
  136. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +65 -47
  137. package/dist/js/node/ssr/serverRender/renderToStream/index.js +69 -30
  138. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +29 -12
  139. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  140. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +29 -11
  141. package/dist/js/node/ssr/serverRender/renderToStream/template.js +36 -16
  142. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  143. package/dist/js/node/ssr/serverRender/renderToString/entry.js +135 -103
  144. package/dist/js/node/ssr/serverRender/renderToString/index.js +64 -20
  145. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +45 -26
  146. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +27 -7
  147. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +27 -8
  148. package/dist/js/node/ssr/serverRender/renderToString/template.js +44 -28
  149. package/dist/js/node/ssr/serverRender/renderToString/type.js +31 -12
  150. package/dist/js/node/ssr/serverRender/types.js +25 -10
  151. package/dist/js/node/ssr/serverRender/utils.js +31 -13
  152. package/dist/js/node/ssr/type.d.js +0 -0
  153. package/dist/js/node/ssr/utils.js +63 -29
  154. package/dist/js/node/state/cli/index.js +58 -37
  155. package/dist/js/node/state/index.js +33 -30
  156. package/dist/js/node/state/plugins.js +43 -22
  157. package/dist/js/node/state/runtime/index.js +36 -50
  158. package/dist/js/node/state/runtime/plugin.js +89 -68
  159. package/dist/js/node/state/types.js +15 -5
  160. package/dist/js/treeshaking/cli/index.js +180 -52
  161. package/dist/js/treeshaking/cli/types.d.js +1 -0
  162. package/dist/js/treeshaking/common.js +4 -3
  163. package/dist/js/treeshaking/core/app-config.js +8 -13
  164. package/dist/js/treeshaking/core/compatible.js +473 -276
  165. package/dist/js/treeshaking/core/index.js +5 -6
  166. package/dist/js/treeshaking/core/loader/index.js +2 -1
  167. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  168. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  169. package/dist/js/treeshaking/core/plugin.js +164 -48
  170. package/dist/js/treeshaking/document/Body.js +15 -11
  171. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  172. package/dist/js/treeshaking/document/DocumentStructrueContext.js +8 -7
  173. package/dist/js/treeshaking/document/Head.js +18 -17
  174. package/dist/js/treeshaking/document/Html.js +86 -93
  175. package/dist/js/treeshaking/document/Root.js +23 -21
  176. package/dist/js/treeshaking/document/Script.js +15 -0
  177. package/dist/js/treeshaking/document/Scripts.js +7 -9
  178. package/dist/js/treeshaking/document/cli/index.js +381 -168
  179. package/dist/js/treeshaking/document/constants.js +34 -16
  180. package/dist/js/treeshaking/document/index.js +2 -1
  181. package/dist/js/treeshaking/document/type.d.js +1 -0
  182. package/dist/js/treeshaking/exports/head.js +4 -3
  183. package/dist/js/treeshaking/exports/loadable.js +4 -3
  184. package/dist/js/treeshaking/exports/server.js +4 -3
  185. package/dist/js/treeshaking/exports/styled.js +4 -3
  186. package/dist/js/treeshaking/index.js +3 -2
  187. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  188. package/dist/js/treeshaking/router/cli/index.js +145 -99
  189. package/dist/js/treeshaking/router/index.js +4 -3
  190. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  191. package/dist/js/treeshaking/router/runtime/index.js +5 -3
  192. package/dist/js/treeshaking/router/runtime/plugin.js +129 -62
  193. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  194. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  195. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  196. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  197. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  198. package/dist/js/treeshaking/router/runtime/utils.js +230 -142
  199. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  200. package/dist/js/treeshaking/runtime-context.js +4 -3
  201. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  202. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  203. package/dist/js/treeshaking/ssr/index.js +305 -144
  204. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  205. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  206. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  207. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  208. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  209. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  210. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  211. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  212. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  213. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +109 -58
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  228. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  230. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  231. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  232. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  233. package/dist/js/treeshaking/ssr/utils.js +128 -64
  234. package/dist/js/treeshaking/state/cli/index.js +70 -68
  235. package/dist/js/treeshaking/state/index.js +4 -3
  236. package/dist/js/treeshaking/state/plugins.js +12 -11
  237. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  238. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  239. package/dist/js/treeshaking/state/types.js +1 -1
  240. package/dist/types/cli/index.d.ts +2 -0
  241. package/dist/types/core/loader/loaderManager.d.ts +1 -0
  242. package/dist/types/core/loader/useLoader.d.ts +5 -0
  243. package/dist/types/core/plugin.d.ts +6 -1
  244. package/dist/types/document/Script.d.ts +4 -0
  245. package/dist/types/document/cli/index.d.ts +2 -0
  246. package/dist/types/document/constants.d.ts +2 -0
  247. package/dist/types/document/index.d.ts +1 -0
  248. package/dist/types/router/cli/index.d.ts +2 -0
  249. package/dist/types/router/runtime/index.d.ts +1 -0
  250. package/dist/types/router/runtime/plugin.d.ts +5 -2
  251. package/dist/types/router/runtime/types.d.ts +5 -2
  252. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  253. package/dist/types/ssr/cli/index.d.ts +2 -0
  254. package/dist/types/state/cli/index.d.ts +2 -0
  255. package/dist/types/state/types.d.ts +1 -0
  256. package/package.json +24 -13
  257. package/types/index.d.ts +2 -2
  258. package/types/router.d.ts +2 -2
@@ -1,44 +1,165 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import { run } from '@modern-js/utils/ssr';
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 { run } from "@modern-js/utils/ssr";
4
126
  import { PreRender } from "../../react/prerender";
5
127
  import { time } from "../utils";
6
128
  import SSREntry from "./entry";
7
- export var render = function render(_ref) {
8
- var App = _ref.App,
9
- context = _ref.context,
10
- config = _ref.config;
11
- var ssrContext = context.ssrContext;
12
- return run(ssrContext.request.headers, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
13
- var entry, end, html, cost, cacheConfig;
14
- return _regeneratorRuntime().wrap(function _callee$(_context) {
15
- while (1) {
16
- switch (_context.prev = _context.next) {
17
- case 0:
18
- entry = new SSREntry({
19
- ctx: ssrContext,
20
- App: App,
21
- config: config
22
- });
23
- entry.metrics.emitCounter('app.visit.count', 1);
24
- end = time();
25
- _context.next = 5;
26
- return entry.renderToHtml(context);
27
- case 5:
28
- html = _context.sent;
29
- cost = end();
30
- entry.logger.info('App Render Total cost = %d ms', cost);
31
- entry.metrics.emitTimer('app.render.cost', cost);
32
- cacheConfig = PreRender.config();
33
- if (cacheConfig) {
34
- context.ssrContext.cacheConfig = cacheConfig;
129
+ var render = function(param) {
130
+ var App = param.App, context = param.context, config = param.config;
131
+ var ssrContext = context.ssrContext;
132
+ return run(ssrContext.request.headers, /*#__PURE__*/ _asyncToGenerator(function() {
133
+ var entry, end, html, cost, cacheConfig;
134
+ return __generator(this, function(_state) {
135
+ switch(_state.label){
136
+ case 0:
137
+ entry = new SSREntry({
138
+ ctx: ssrContext,
139
+ App: App,
140
+ config: config
141
+ });
142
+ entry.metrics.emitCounter("app.visit.count", 1);
143
+ end = time();
144
+ return [
145
+ 4,
146
+ entry.renderToHtml(context)
147
+ ];
148
+ case 1:
149
+ html = _state.sent();
150
+ cost = end();
151
+ entry.logger.info("App Render Total cost = %d ms", cost);
152
+ entry.metrics.emitTimer("app.render.cost", cost);
153
+ cacheConfig = PreRender.config();
154
+ if (cacheConfig) {
155
+ context.ssrContext.cacheConfig = cacheConfig;
156
+ }
157
+ return [
158
+ 2,
159
+ html
160
+ ];
35
161
  }
36
- return _context.abrupt("return", html);
37
- case 12:
38
- case "end":
39
- return _context.stop();
40
- }
41
- }
42
- }, _callee);
43
- })));
44
- };
162
+ });
163
+ }));
164
+ };
165
+ export { render };
@@ -1,50 +1,56 @@
1
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
- import { ChunkExtractor } from '@loadable/server';
1
+ import { ChunkExtractor } from "@loadable/server";
3
2
  import { isCrossOrigin } from "../../utils";
4
3
  import { getLoadableScripts } from "../utils";
5
- var extname = function extname(uri) {
6
- if (typeof uri !== 'string' || !uri.includes('.')) {
7
- return '';
8
- }
9
- return ".".concat(uri === null || uri === void 0 ? void 0 : uri.split('.').pop()) || '';
4
+ var extname = function(uri) {
5
+ if (typeof uri !== "string" || !uri.includes(".")) {
6
+ return "";
7
+ }
8
+ return ".".concat(uri === null || uri === void 0 ? void 0 : uri.split(".").pop()) || "";
10
9
  };
11
- export var toHtml = function toHtml(jsx, renderer, next) {
12
- var stats = renderer.stats,
13
- chunksMap = renderer.result.chunksMap,
14
- host = renderer.host,
15
- _renderer$config = renderer.config,
16
- config = _renderer$config === void 0 ? {} : _renderer$config;
17
- if (!stats || chunksMap.js) {
18
- return next(jsx);
19
- }
20
- var extractor = new ChunkExtractor({
21
- stats: stats,
22
- entrypoints: [renderer.entryName]
23
- });
24
- var html = next(extractor.collectChunks(jsx));
25
- var chunks = extractor.getChunkAssets(extractor.chunks);
26
- chunksMap.js = (chunksMap.js || '') + getLoadableScripts(extractor);
27
- var _iterator = _createForOfIteratorHelper(chunks),
28
- _step;
29
- try {
30
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
31
- var v = _step.value;
32
- var fileType = extname(v.url).slice(1);
33
- if (fileType === 'js') {
34
- var props = [];
35
- var crossorigin = config.crossorigin;
36
- if (crossorigin && isCrossOrigin(v.url, host)) {
37
- props.push("crossorigin=\"".concat(crossorigin === true ? 'anonymous' : crossorigin, "\""));
10
+ var toHtml = function(jsx, renderer, next) {
11
+ var stats = renderer.stats, chunksMap = renderer.result.chunksMap, host = renderer.host, _config = renderer.config, config = _config === void 0 ? {} : _config;
12
+ if (!stats || chunksMap.js) {
13
+ return next(jsx);
14
+ }
15
+ var extractor = new ChunkExtractor({
16
+ stats: stats,
17
+ entrypoints: [
18
+ renderer.entryName
19
+ ]
20
+ });
21
+ var html = next(extractor.collectChunks(jsx));
22
+ var chunks = extractor.getChunkAssets(extractor.chunks);
23
+ chunksMap.js = (chunksMap.js || "") + getLoadableScripts(extractor);
24
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
25
+ try {
26
+ for(var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
27
+ var v = _step.value;
28
+ var fileType = extname(v.url).slice(1);
29
+ if (fileType === "js") {
30
+ var props = [];
31
+ var crossorigin = config.crossorigin;
32
+ if (crossorigin && isCrossOrigin(v.url, host)) {
33
+ props.push('crossorigin="'.concat(crossorigin === true ? "anonymous" : crossorigin, '"'));
34
+ }
35
+ chunksMap[fileType] += '<script src="'.concat(v.url, '" ').concat(props.join(" "), "></script>");
36
+ } else if (fileType === "css") {
37
+ chunksMap[fileType] += '<link href="'.concat(v.url, '" rel="stylesheet" />');
38
+ }
39
+ }
40
+ } catch (err) {
41
+ _didIteratorError = true;
42
+ _iteratorError = err;
43
+ } finally{
44
+ try {
45
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
46
+ _iterator.return();
47
+ }
48
+ } finally{
49
+ if (_didIteratorError) {
50
+ throw _iteratorError;
51
+ }
38
52
  }
39
- chunksMap[fileType] += "<script src=\"".concat(v.url, "\" ").concat(props.join(' '), "></script>");
40
- } else if (fileType === 'css') {
41
- chunksMap[fileType] += "<link href=\"".concat(v.url, "\" rel=\"stylesheet\" />");
42
- }
43
53
  }
44
- } catch (err) {
45
- _iterator.e(err);
46
- } finally {
47
- _iterator.f();
48
- }
49
- return html;
50
- };
54
+ return html;
55
+ };
56
+ export { toHtml };
@@ -1,9 +1,10 @@
1
- export function reduce(jsx, renderer, middleware) {
2
- var index = 0;
3
- var createNext = function createNext() {
4
- return function (App) {
5
- return middleware[index++](App, renderer, createNext());
1
+ function reduce(jsx, renderer, middleware) {
2
+ var index = 0;
3
+ var createNext = function() {
4
+ return function(App) {
5
+ return middleware[index++](App, renderer, createNext());
6
+ };
6
7
  };
7
- };
8
- return createNext()(jsx);
9
- }
8
+ return createNext()(jsx);
9
+ }
10
+ export { reduce };
@@ -1,8 +1,9 @@
1
- import { ServerStyleSheet } from 'styled-components';
2
- export var toHtml = function toHtml(jsx, renderer, next) {
3
- var sheet = new ServerStyleSheet();
4
- var html = next(sheet.collectStyles(jsx));
5
- var css = sheet.getStyleTags();
6
- renderer.result.chunksMap.css += css;
7
- return html;
8
- };
1
+ import { ServerStyleSheet } from "styled-components";
2
+ var toHtml = function(jsx, renderer, next) {
3
+ var sheet = new ServerStyleSheet();
4
+ var html = next(sheet.collectStyles(jsx));
5
+ var css = sheet.getStyleTags();
6
+ renderer.result.chunksMap.css += css;
7
+ return html;
8
+ };
9
+ export { toHtml };
@@ -1,78 +1,156 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
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 _classCallCheck(instance, Constructor) {
10
+ if (!(instance instanceof Constructor)) {
11
+ throw new TypeError("Cannot call a class as a function");
12
+ }
13
+ }
14
+ function _defineProperties(target, props) {
15
+ for(var i = 0; i < props.length; i++){
16
+ var descriptor = props[i];
17
+ descriptor.enumerable = descriptor.enumerable || false;
18
+ descriptor.configurable = true;
19
+ if ("value" in descriptor) descriptor.writable = true;
20
+ Object.defineProperty(target, descriptor.key, descriptor);
21
+ }
22
+ }
23
+ function _createClass(Constructor, protoProps, staticProps) {
24
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
25
+ if (staticProps) _defineProperties(Constructor, staticProps);
26
+ return Constructor;
27
+ }
28
+ function _defineProperty(obj, key, value) {
29
+ if (key in obj) {
30
+ Object.defineProperty(obj, key, {
31
+ value: value,
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true
35
+ });
36
+ } else {
37
+ obj[key] = value;
38
+ }
39
+ return obj;
40
+ }
41
+ function _iterableToArrayLimit(arr, i) {
42
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
43
+ if (_i == null) return;
44
+ var _arr = [];
45
+ var _n = true;
46
+ var _d = false;
47
+ var _s, _e;
48
+ try {
49
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
50
+ _arr.push(_s.value);
51
+ if (i && _arr.length === i) break;
52
+ }
53
+ } catch (err) {
54
+ _d = true;
55
+ _e = err;
56
+ } finally{
57
+ try {
58
+ if (!_n && _i["return"] != null) _i["return"]();
59
+ } finally{
60
+ if (_d) throw _e;
61
+ }
62
+ }
63
+ return _arr;
64
+ }
65
+ function _nonIterableRest() {
66
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
67
+ }
68
+ function _slicedToArray(arr, i) {
69
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
70
+ }
71
+ function _unsupportedIterableToArray(o, minLen) {
72
+ if (!o) return;
73
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
74
+ var n = Object.prototype.toString.call(o).slice(8, -1);
75
+ if (n === "Object" && o.constructor) n = o.constructor.name;
76
+ if (n === "Map" || n === "Set") return Array.from(n);
77
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
78
+ }
5
79
  var VARIABLE_REG_EXP = /<!--<\?([-=+])\s*(.*?)\s*\?>-->/;
6
80
  var VARIABLE_SPLITTER = /(<!--<\?.*?\?>-->)/;
7
81
  var ENCODE_HTML_RULES = {
8
- '&': '&amp;',
9
- '<': '&lt;',
10
- '>': '&gt;',
11
- '"': '&#34;',
12
- "'": '&#39;'
82
+ "&": "&amp;",
83
+ "<": "&lt;",
84
+ ">": "&gt;",
85
+ '"': "&#34;",
86
+ "'": "&#39;"
13
87
  };
14
88
  var MATCH_HTML = /[&<>'"]/g;
15
89
  function encodeChar(c) {
16
- return ENCODE_HTML_RULES[c] || c;
90
+ return ENCODE_HTML_RULES[c] || c;
17
91
  }
18
92
  function escape(str) {
19
- return str.replace(MATCH_HTML, encodeChar);
93
+ return str.replace(MATCH_HTML, encodeChar);
20
94
  }
21
- export var Fragment = /*#__PURE__*/function () {
22
- function Fragment(template) {
23
- _classCallCheck(this, Fragment);
24
- _defineProperty(this, "isVariable", void 0);
25
- _defineProperty(this, "content", void 0);
26
- _defineProperty(this, "filters", void 0);
27
- _defineProperty(this, "path", void 0);
28
- var match = VARIABLE_REG_EXP.exec(template);
29
- if (match) {
30
- var _match = _slicedToArray(match, 3),
31
- filterFlag = _match[1],
32
- content = _match[2];
33
- this.isVariable = true;
34
- this.content = content;
35
- this.filters = [Fragment.filterMap[filterFlag]];
36
- this.path = content.replace(/\[['"](.*?)['"]\]/g, '.$1').split('.');
37
- } else {
38
- this.isVariable = false;
39
- this.content = template;
40
- this.filters = [];
41
- this.path = [];
42
- }
43
- }
44
- _createClass(Fragment, [{
45
- key: "getValue",
46
- value: function getValue(data) {
47
- if (this.isVariable) {
48
- var value = this.path.reduce(function (p, n) {
49
- return p != null ? p[n] : p;
50
- }, data);
51
- return this.filters.reduce(function (p, n) {
52
- return n(p);
53
- }, value != null ? value : '');
54
- }
55
- return this.content;
95
+ var Fragment = /*#__PURE__*/ function() {
96
+ "use strict";
97
+ function Fragment(template) {
98
+ _classCallCheck(this, Fragment);
99
+ _defineProperty(this, "isVariable", void 0);
100
+ _defineProperty(this, "content", void 0);
101
+ _defineProperty(this, "filters", void 0);
102
+ _defineProperty(this, "path", void 0);
103
+ var match = VARIABLE_REG_EXP.exec(template);
104
+ if (match) {
105
+ var _match = _slicedToArray(match, 3), filterFlag = _match[1], content = _match[2];
106
+ this.isVariable = true;
107
+ this.content = content;
108
+ this.filters = [
109
+ Fragment.filterMap[filterFlag]
110
+ ];
111
+ this.path = content.replace(/\[['"](.*?)['"]\]/g, ".$1").split(".");
112
+ } else {
113
+ this.isVariable = false;
114
+ this.content = template;
115
+ this.filters = [];
116
+ this.path = [];
117
+ }
56
118
  }
57
- }]);
58
- return Fragment;
119
+ _createClass(Fragment, [
120
+ {
121
+ key: "getValue",
122
+ value: function getValue(data) {
123
+ if (this.isVariable) {
124
+ var value = this.path.reduce(function(p, n) {
125
+ return p != null ? p[n] : p;
126
+ }, data);
127
+ return this.filters.reduce(function(p, n) {
128
+ return n(p);
129
+ }, value != null ? value : "");
130
+ }
131
+ return this.content;
132
+ }
133
+ }
134
+ ]);
135
+ return Fragment;
59
136
  }();
60
137
  _defineProperty(Fragment, "filterMap", {
61
- '=': escape,
62
- '-': function _(v) {
63
- return v;
64
- }
138
+ "=": escape,
139
+ "-": function(v) {
140
+ return v;
141
+ }
65
142
  });
66
143
  var fragmentListMap = {};
67
- export function toFragments(template, entryName) {
68
- if (fragmentListMap[entryName]) {
69
- return fragmentListMap[entryName];
70
- }
71
- var fragmentList = template.split(VARIABLE_SPLITTER).filter(function (v) {
72
- return Boolean(v);
73
- }).map(function (v) {
74
- return new Fragment(v);
75
- });
76
- fragmentListMap[entryName] = fragmentList;
77
- return fragmentList;
78
- }
144
+ function toFragments(template, entryName) {
145
+ if (fragmentListMap[entryName]) {
146
+ return fragmentListMap[entryName];
147
+ }
148
+ var fragmentList = template.split(VARIABLE_SPLITTER).filter(function(v) {
149
+ return Boolean(v);
150
+ }).map(function(v) {
151
+ return new Fragment(v);
152
+ });
153
+ fragmentListMap[entryName] = fragmentList;
154
+ return fragmentList;
155
+ }
156
+ export { Fragment, toFragments };
@@ -1,6 +1,7 @@
1
- export var RenderLevel;
2
- (function (RenderLevel) {
3
- RenderLevel[RenderLevel["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
4
- RenderLevel[RenderLevel["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
5
- RenderLevel[RenderLevel["SERVER_RENDER"] = 2] = "SERVER_RENDER";
6
- })(RenderLevel || (RenderLevel = {}));
1
+ var RenderLevel = /* @__PURE__ */ function(RenderLevel2) {
2
+ RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
3
+ RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
4
+ RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
5
+ return RenderLevel2;
6
+ }(RenderLevel || {});
7
+ export { RenderLevel };
@@ -1,2 +1,2 @@
1
1
  import { RenderLevel } from "./renderToString/type";
2
- export { RenderLevel };
2
+ export { RenderLevel };