@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,221 +1,393 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
3
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
- import _createClass from "@babel/runtime/helpers/esm/createClass";
6
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
7
- import React from 'react';
8
- import ReactDomServer from 'react-dom/server';
9
- import serialize from 'serialize-javascript';
10
- import ReactHelmet from 'react-helmet';
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
+ function _classCallCheck(instance, Constructor) {
31
+ if (!(instance instanceof Constructor)) {
32
+ throw new TypeError("Cannot call a class as a function");
33
+ }
34
+ }
35
+ function _defineProperties(target, props) {
36
+ for(var i = 0; i < props.length; i++){
37
+ var descriptor = props[i];
38
+ descriptor.enumerable = descriptor.enumerable || false;
39
+ descriptor.configurable = true;
40
+ if ("value" in descriptor) descriptor.writable = true;
41
+ Object.defineProperty(target, descriptor.key, descriptor);
42
+ }
43
+ }
44
+ function _createClass(Constructor, protoProps, staticProps) {
45
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
46
+ if (staticProps) _defineProperties(Constructor, staticProps);
47
+ return Constructor;
48
+ }
49
+ function _defineProperty(obj, key, value) {
50
+ if (key in obj) {
51
+ Object.defineProperty(obj, key, {
52
+ value: value,
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true
56
+ });
57
+ } else {
58
+ obj[key] = value;
59
+ }
60
+ return obj;
61
+ }
62
+ var __generator = this && this.__generator || function(thisArg, body) {
63
+ var f, y, t, g, _ = {
64
+ label: 0,
65
+ sent: function() {
66
+ if (t[0] & 1) throw t[1];
67
+ return t[1];
68
+ },
69
+ trys: [],
70
+ ops: []
71
+ };
72
+ return g = {
73
+ next: verb(0),
74
+ "throw": verb(1),
75
+ "return": verb(2)
76
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
77
+ return this;
78
+ }), g;
79
+ function verb(n) {
80
+ return function(v) {
81
+ return step([
82
+ n,
83
+ v
84
+ ]);
85
+ };
86
+ }
87
+ function step(op) {
88
+ if (f) throw new TypeError("Generator is already executing.");
89
+ while(_)try {
90
+ 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;
91
+ if (y = 0, t) op = [
92
+ op[0] & 2,
93
+ t.value
94
+ ];
95
+ switch(op[0]){
96
+ case 0:
97
+ case 1:
98
+ t = op;
99
+ break;
100
+ case 4:
101
+ _.label++;
102
+ return {
103
+ value: op[1],
104
+ done: false
105
+ };
106
+ case 5:
107
+ _.label++;
108
+ y = op[1];
109
+ op = [
110
+ 0
111
+ ];
112
+ continue;
113
+ case 7:
114
+ op = _.ops.pop();
115
+ _.trys.pop();
116
+ continue;
117
+ default:
118
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
119
+ _ = 0;
120
+ continue;
121
+ }
122
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
123
+ _.label = op[1];
124
+ break;
125
+ }
126
+ if (op[0] === 6 && _.label < t[1]) {
127
+ _.label = t[1];
128
+ t = op;
129
+ break;
130
+ }
131
+ if (t && _.label < t[2]) {
132
+ _.label = t[2];
133
+ _.ops.push(op);
134
+ break;
135
+ }
136
+ if (t[2]) _.ops.pop();
137
+ _.trys.pop();
138
+ continue;
139
+ }
140
+ op = body.call(thisArg, _);
141
+ } catch (e) {
142
+ op = [
143
+ 6,
144
+ e
145
+ ];
146
+ y = 0;
147
+ } finally{
148
+ f = t = 0;
149
+ }
150
+ if (op[0] & 5) throw op[1];
151
+ return {
152
+ value: op[0] ? op[1] : void 0,
153
+ done: true
154
+ };
155
+ }
156
+ };
157
+ import React from "react";
158
+ import ReactDomServer from "react-dom/server";
159
+ import serialize from "serialize-javascript";
160
+ import ReactHelmet from "react-helmet";
11
161
  import helmetReplace from "../helmet";
12
162
  import { RenderLevel } from "../types";
13
163
  import { time } from "../utils";
14
- import _prefetch from "../../prefetch";
164
+ import prefetch from "../../prefetch";
15
165
  import { toFragments } from "./template";
16
166
  import { reduce } from "./reduce";
17
167
  import * as loadableRenderer from "./loadable";
18
168
  import * as styledComponentRenderer from "./styledComponent";
19
- var buildTemplateData = function buildTemplateData(context, data, renderLevel) {
20
- var request = context.request;
21
- return {
22
- data: data,
23
- context: {
24
- request: {
25
- params: request.params,
26
- query: request.query,
27
- pathname: request.pathname,
28
- host: request.host,
29
- url: request.url,
30
- headers: request.headers,
31
- cookieMap: request.cookieMap
32
- }
33
- },
34
- renderLevel: renderLevel
35
- };
36
- };
37
- var Entry = /*#__PURE__*/function () {
38
- function Entry(options) {
39
- _classCallCheck(this, Entry);
40
- _defineProperty(this, "entryName", void 0);
41
- _defineProperty(this, "result", void 0);
42
- _defineProperty(this, "metrics", void 0);
43
- _defineProperty(this, "logger", void 0);
44
- _defineProperty(this, "App", void 0);
45
- _defineProperty(this, "fragments", void 0);
46
- _defineProperty(this, "pluginConfig", void 0);
47
- _defineProperty(this, "host", void 0);
48
- var ctx = options.ctx,
49
- config = options.config;
50
- var entryName = ctx.entryName,
51
- template = ctx.template,
52
- host = ctx.request.host;
53
- this.fragments = toFragments(template, entryName);
54
- this.entryName = entryName;
55
- this.host = host;
56
- this.App = options.App;
57
- this.pluginConfig = config;
58
- this.metrics = ctx.metrics;
59
- this.logger = ctx.logger;
60
- this.result = {
61
- renderLevel: RenderLevel.CLIENT_RENDER,
62
- html: '',
63
- chunksMap: {
64
- js: '',
65
- css: ''
66
- }
169
+ var buildTemplateData = function(context, data, renderLevel) {
170
+ var request = context.request;
171
+ return {
172
+ data: data,
173
+ context: {
174
+ request: {
175
+ params: request.params,
176
+ query: request.query,
177
+ pathname: request.pathname,
178
+ host: request.host,
179
+ url: request.url,
180
+ headers: request.headers,
181
+ cookieMap: request.cookieMap
182
+ }
183
+ },
184
+ renderLevel: renderLevel
67
185
  };
68
- }
69
- _createClass(Entry, [{
70
- key: "renderToHtml",
71
- value: function () {
72
- var _renderToHtml = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(context) {
73
- var ssrContext, prefetchData, html, templateData, SSRData, _iterator, _step, fragment, helmetData;
74
- return _regeneratorRuntime().wrap(function _callee$(_context) {
75
- while (1) {
76
- switch (_context.prev = _context.next) {
77
- case 0:
78
- ssrContext = context.ssrContext;
79
- if (!ssrContext.redirection.url) {
80
- _context.next = 3;
81
- break;
82
- }
83
- return _context.abrupt("return", '');
84
- case 3:
85
- _context.next = 5;
86
- return this.prefetch(context);
87
- case 5:
88
- prefetchData = _context.sent;
89
- if (!ssrContext.redirection.url) {
90
- _context.next = 8;
91
- break;
92
- }
93
- return _context.abrupt("return", '');
94
- case 8:
95
- if (this.result.renderLevel >= RenderLevel.SERVER_PREFETCH) {
96
- this.result.html = this.renderToString(context);
97
- }
98
- if (!ssrContext.redirection.url) {
99
- _context.next = 11;
100
- break;
101
- }
102
- return _context.abrupt("return", '');
103
- case 11:
104
- html = '';
105
- templateData = buildTemplateData(ssrContext, prefetchData, this.result.renderLevel);
106
- SSRData = this.getSSRDataScript(templateData);
107
- _iterator = _createForOfIteratorHelper(this.fragments);
186
+ };
187
+ var Entry = /*#__PURE__*/ function() {
188
+ "use strict";
189
+ function Entry(options) {
190
+ _classCallCheck(this, Entry);
191
+ _defineProperty(this, "entryName", void 0);
192
+ _defineProperty(this, "result", void 0);
193
+ _defineProperty(this, "metrics", void 0);
194
+ _defineProperty(this, "logger", void 0);
195
+ _defineProperty(this, "App", void 0);
196
+ _defineProperty(this, "fragments", void 0);
197
+ _defineProperty(this, "pluginConfig", void 0);
198
+ _defineProperty(this, "host", void 0);
199
+ var ctx = options.ctx, config = options.config;
200
+ var entryName = ctx.entryName, template = ctx.template, host = ctx.request.host;
201
+ this.fragments = toFragments(template, entryName);
202
+ this.entryName = entryName;
203
+ this.host = host;
204
+ this.App = options.App;
205
+ this.pluginConfig = config;
206
+ this.metrics = ctx.metrics;
207
+ this.logger = ctx.logger;
208
+ this.result = {
209
+ renderLevel: RenderLevel.CLIENT_RENDER,
210
+ html: "",
211
+ chunksMap: {
212
+ js: "",
213
+ css: ""
214
+ }
215
+ };
216
+ }
217
+ _createClass(Entry, [
218
+ {
219
+ key: "renderToHtml",
220
+ value: function renderToHtml(context) {
221
+ var _this = this;
222
+ return _asyncToGenerator(function() {
223
+ var ssrContext, prefetchData, html, templateData, SSRData, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, fragment, helmetData;
224
+ return __generator(this, function(_state) {
225
+ switch(_state.label){
226
+ case 0:
227
+ ssrContext = context.ssrContext;
228
+ if (ssrContext.redirection.url) {
229
+ return [
230
+ 2,
231
+ ""
232
+ ];
233
+ }
234
+ return [
235
+ 4,
236
+ _this.prefetch(context)
237
+ ];
238
+ case 1:
239
+ prefetchData = _state.sent();
240
+ if (ssrContext.redirection.url) {
241
+ return [
242
+ 2,
243
+ ""
244
+ ];
245
+ }
246
+ if (_this.result.renderLevel >= RenderLevel.SERVER_PREFETCH) {
247
+ _this.result.html = _this.renderToString(context);
248
+ }
249
+ if (ssrContext.redirection.url) {
250
+ return [
251
+ 2,
252
+ ""
253
+ ];
254
+ }
255
+ html = "";
256
+ templateData = buildTemplateData(ssrContext, prefetchData, _this.result.renderLevel);
257
+ SSRData = _this.getSSRDataScript(templateData);
258
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
259
+ try {
260
+ for(_iterator = _this.fragments[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
261
+ fragment = _step.value;
262
+ if (fragment.isVariable && fragment.content === "SSRDataScript") {
263
+ html += fragment.getValue(SSRData);
264
+ } else {
265
+ html += fragment.getValue(_this.result);
266
+ }
267
+ }
268
+ } catch (err) {
269
+ _didIteratorError = true;
270
+ _iteratorError = err;
271
+ } finally{
272
+ try {
273
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
274
+ _iterator.return();
275
+ }
276
+ } finally{
277
+ if (_didIteratorError) {
278
+ throw _iteratorError;
279
+ }
280
+ }
281
+ }
282
+ helmetData = ReactHelmet.renderStatic();
283
+ return [
284
+ 2,
285
+ helmetData ? helmetReplace(html, helmetData) : html
286
+ ];
287
+ }
288
+ });
289
+ })();
290
+ }
291
+ },
292
+ {
293
+ key: "prefetch",
294
+ value: function prefetch1(context) {
295
+ var _this = this;
296
+ return _asyncToGenerator(function() {
297
+ var prefetchData, end, prefetchCost, e;
298
+ return __generator(this, function(_state) {
299
+ switch(_state.label){
300
+ case 0:
301
+ end = time();
302
+ _state.label = 1;
303
+ case 1:
304
+ _state.trys.push([
305
+ 1,
306
+ 3,
307
+ ,
308
+ 4
309
+ ]);
310
+ return [
311
+ 4,
312
+ prefetch(_this.App, context)
313
+ ];
314
+ case 2:
315
+ prefetchData = _state.sent();
316
+ _this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
317
+ prefetchCost = end();
318
+ _this.logger.debug("App Prefetch cost = %d ms", prefetchCost);
319
+ _this.metrics.emitTimer("app.prefetch.cost", prefetchCost);
320
+ return [
321
+ 3,
322
+ 4
323
+ ];
324
+ case 3:
325
+ e = _state.sent();
326
+ _this.result.renderLevel = RenderLevel.CLIENT_RENDER;
327
+ _this.logger.error("App Prefetch Render", e);
328
+ _this.metrics.emitCounter("app.prefetch.render.error", 1);
329
+ return [
330
+ 3,
331
+ 4
332
+ ];
333
+ case 4:
334
+ return [
335
+ 2,
336
+ prefetchData || {}
337
+ ];
338
+ }
339
+ });
340
+ })();
341
+ }
342
+ },
343
+ {
344
+ key: "renderToString",
345
+ value: function renderToString(context) {
346
+ var html = "";
347
+ var end = time();
348
+ var ssrContext = context.ssrContext;
108
349
  try {
109
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
110
- fragment = _step.value;
111
- if (fragment.isVariable && fragment.content === 'SSRDataScript') {
112
- html += fragment.getValue(SSRData);
113
- } else {
114
- html += fragment.getValue(this.result);
115
- }
116
- }
117
- } catch (err) {
118
- _iterator.e(err);
119
- } finally {
120
- _iterator.f();
350
+ var App = React.createElement(this.App, {
351
+ context: Object.assign(context, {
352
+ ssr: true
353
+ })
354
+ });
355
+ var renderContext = {
356
+ stats: ssrContext.loadableStats,
357
+ host: this.host,
358
+ result: this.result,
359
+ entryName: this.entryName,
360
+ config: this.pluginConfig
361
+ };
362
+ html = reduce(App, renderContext, [
363
+ styledComponentRenderer.toHtml,
364
+ loadableRenderer.toHtml,
365
+ function(jsx) {
366
+ return ReactDomServer.renderToString(jsx);
367
+ }
368
+ ]);
369
+ var cost = end();
370
+ this.logger.debug("App Render To HTML cost = %d ms", cost);
371
+ this.metrics.emitTimer("app.render.html.cost", cost);
372
+ this.result.renderLevel = RenderLevel.SERVER_RENDER;
373
+ } catch (e) {
374
+ this.logger.error("App Render To HTML", e);
375
+ this.metrics.emitCounter("app.render.html.error", 1);
121
376
  }
122
- helmetData = ReactHelmet.renderStatic();
123
- return _context.abrupt("return", helmetData ? helmetReplace(html, helmetData) : html);
124
- case 18:
125
- case "end":
126
- return _context.stop();
377
+ return html;
127
378
  }
128
- }
129
- }, _callee, this);
130
- }));
131
- function renderToHtml(_x) {
132
- return _renderToHtml.apply(this, arguments);
133
- }
134
- return renderToHtml;
135
- }()
136
- }, {
137
- key: "prefetch",
138
- value: function () {
139
- var _prefetch2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(context) {
140
- var prefetchData, end, prefetchCost;
141
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
142
- while (1) {
143
- switch (_context2.prev = _context2.next) {
144
- case 0:
145
- end = time();
146
- _context2.prev = 1;
147
- _context2.next = 4;
148
- return _prefetch(this.App, context);
149
- case 4:
150
- prefetchData = _context2.sent;
151
- this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
152
- prefetchCost = end();
153
- this.logger.debug("App Prefetch cost = %d ms", prefetchCost);
154
- this.metrics.emitTimer('app.prefetch.cost', prefetchCost);
155
- _context2.next = 16;
156
- break;
157
- case 11:
158
- _context2.prev = 11;
159
- _context2.t0 = _context2["catch"](1);
160
- this.result.renderLevel = RenderLevel.CLIENT_RENDER;
161
- this.logger.error('App Prefetch Render', _context2.t0);
162
- this.metrics.emitCounter('app.prefetch.render.error', 1);
163
- case 16:
164
- return _context2.abrupt("return", prefetchData || {});
165
- case 17:
166
- case "end":
167
- return _context2.stop();
379
+ },
380
+ {
381
+ key: "getSSRDataScript",
382
+ value: function getSSRDataScript(templateData) {
383
+ return {
384
+ SSRDataScript: "\n <script>window._SSR_DATA = ".concat(serialize(templateData, {
385
+ isJSON: true
386
+ }), "</script>\n ")
387
+ };
168
388
  }
169
- }
170
- }, _callee2, this, [[1, 11]]);
171
- }));
172
- function prefetch(_x2) {
173
- return _prefetch2.apply(this, arguments);
174
- }
175
- return prefetch;
176
- }()
177
- }, {
178
- key: "renderToString",
179
- value: function renderToString(context) {
180
- var html = '';
181
- var end = time();
182
- var ssrContext = context.ssrContext;
183
- try {
184
- var App = /*#__PURE__*/React.createElement(this.App, {
185
- context: Object.assign(context, {
186
- ssr: true
187
- })
188
- });
189
- var renderContext = {
190
- stats: ssrContext.loadableStats,
191
- host: this.host,
192
- result: this.result,
193
- entryName: this.entryName,
194
- config: this.pluginConfig
195
- };
196
- html = reduce(App, renderContext, [styledComponentRenderer.toHtml, loadableRenderer.toHtml, function (jsx) {
197
- return ReactDomServer.renderToString(jsx);
198
- }]);
199
- var cost = end();
200
- this.logger.debug('App Render To HTML cost = %d ms', cost);
201
- this.metrics.emitTimer('app.render.html.cost', cost);
202
- this.result.renderLevel = RenderLevel.SERVER_RENDER;
203
- } catch (e) {
204
- this.logger.error('App Render To HTML', e);
205
- this.metrics.emitCounter('app.render.html.error', 1);
206
- }
207
- return html;
208
- }
209
- }, {
210
- key: "getSSRDataScript",
211
- value: function getSSRDataScript(templateData) {
212
- return {
213
- SSRDataScript: "\n <script>window._SSR_DATA = ".concat(serialize(templateData, {
214
- isJSON: true
215
- }), "</script>\n ")
216
- };
217
- }
218
- }]);
219
- return Entry;
389
+ }
390
+ ]);
391
+ return Entry;
220
392
  }();
221
- export { Entry as default };
393
+ export { Entry as default };