@modern-js/runtime 2.49.2 → 2.49.3-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 (242) hide show
  1. package/dist/cjs/router/runtime/plugin.js +2 -2
  2. package/dist/cjs/router/runtime/plugin.node.js +2 -2
  3. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -15
  4. package/dist/esm/router/runtime/plugin.js +2 -2
  5. package/dist/esm/router/runtime/plugin.node.js +2 -2
  6. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -132
  7. package/dist/esm-node/router/runtime/plugin.js +2 -2
  8. package/dist/esm-node/router/runtime/plugin.node.js +2 -2
  9. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +8 -16
  10. package/dist/js/modern/cli/index.js +72 -0
  11. package/dist/js/modern/common.js +4 -0
  12. package/dist/js/modern/config.js +0 -0
  13. package/dist/js/modern/core/app-config.js +10 -0
  14. package/dist/js/modern/core/compatible.js +285 -0
  15. package/dist/js/modern/core/index.js +16 -0
  16. package/dist/js/modern/core/loader/index.js +4 -0
  17. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  18. package/dist/js/modern/core/loader/useLoader.js +114 -0
  19. package/dist/js/modern/core/plugin.js +58 -0
  20. package/dist/js/modern/document/Body.js +23 -0
  21. package/dist/js/modern/document/DocumentContext.js +9 -0
  22. package/dist/js/modern/document/DocumentStructrueContext.js +11 -0
  23. package/dist/js/modern/document/Head.js +27 -0
  24. package/dist/js/modern/document/Html.js +78 -0
  25. package/dist/js/modern/document/Links.js +10 -0
  26. package/dist/js/modern/document/Root.js +33 -0
  27. package/dist/js/modern/document/Script.js +20 -0
  28. package/dist/js/modern/document/Scripts.js +10 -0
  29. package/dist/js/modern/document/cli/index.js +228 -0
  30. package/dist/js/modern/document/constants.js +49 -0
  31. package/dist/js/modern/document/index.js +10 -0
  32. package/dist/js/modern/exports/head.js +6 -0
  33. package/dist/js/modern/exports/loadable.js +6 -0
  34. package/dist/js/modern/exports/server.js +4 -0
  35. package/dist/js/modern/exports/styled.js +6 -0
  36. package/dist/js/modern/index.js +22 -0
  37. package/dist/js/modern/router/cli/index.js +120 -0
  38. package/dist/js/modern/router/index.js +7 -0
  39. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  40. package/dist/js/modern/router/runtime/index.js +9 -0
  41. package/dist/js/modern/router/runtime/plugin.js +104 -0
  42. package/dist/js/modern/router/runtime/plugin.node.js +149 -0
  43. package/dist/js/modern/router/runtime/server.js +1 -0
  44. package/dist/js/modern/router/runtime/types.js +0 -0
  45. package/dist/js/modern/router/runtime/utils.js +196 -0
  46. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  47. package/dist/js/modern/runtime-context.js +7 -0
  48. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  49. package/dist/js/modern/ssr/cli/index.js +172 -0
  50. package/dist/js/modern/ssr/index.js +159 -0
  51. package/dist/js/modern/ssr/index.node.js +79 -0
  52. package/dist/js/modern/ssr/prefetch.js +69 -0
  53. package/dist/js/modern/ssr/react/index.js +6 -0
  54. package/dist/js/modern/ssr/react/nossr/index.js +14 -0
  55. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  56. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  57. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  58. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  59. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  60. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  61. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  62. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  63. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  64. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  65. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  66. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +94 -0
  67. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  68. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  69. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  70. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +171 -0
  71. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  72. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  73. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  74. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  75. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  76. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  77. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  78. package/dist/js/modern/ssr/serverRender/utils.js +22 -0
  79. package/dist/js/modern/ssr/utils.js +81 -0
  80. package/dist/js/modern/state/cli/index.js +83 -0
  81. package/dist/js/modern/state/index.js +7 -0
  82. package/dist/js/modern/state/plugins.js +13 -0
  83. package/dist/js/modern/state/runtime/index.js +9 -0
  84. package/dist/js/modern/state/runtime/plugin.js +97 -0
  85. package/dist/js/modern/state/types.js +0 -0
  86. package/dist/js/node/cli/index.js +99 -0
  87. package/dist/js/node/common.js +27 -0
  88. package/dist/js/node/config.js +15 -0
  89. package/dist/js/node/core/app-config.js +34 -0
  90. package/dist/js/node/core/compatible.js +312 -0
  91. package/dist/js/node/core/index.js +47 -0
  92. package/dist/js/node/core/loader/index.js +33 -0
  93. package/dist/js/node/core/loader/loaderManager.js +195 -0
  94. package/dist/js/node/core/loader/useLoader.js +132 -0
  95. package/dist/js/node/core/plugin.js +80 -0
  96. package/dist/js/node/document/Body.js +43 -0
  97. package/dist/js/node/document/DocumentContext.js +38 -0
  98. package/dist/js/node/document/DocumentStructrueContext.js +40 -0
  99. package/dist/js/node/document/Head.js +51 -0
  100. package/dist/js/node/document/Html.js +101 -0
  101. package/dist/js/node/document/Links.js +33 -0
  102. package/dist/js/node/document/Root.js +57 -0
  103. package/dist/js/node/document/Script.js +40 -0
  104. package/dist/js/node/document/Scripts.js +33 -0
  105. package/dist/js/node/document/cli/index.js +240 -0
  106. package/dist/js/node/document/constants.js +86 -0
  107. package/dist/js/node/document/index.js +26 -0
  108. package/dist/js/node/exports/head.js +34 -0
  109. package/dist/js/node/exports/loadable.js +34 -0
  110. package/dist/js/node/exports/server.js +27 -0
  111. package/dist/js/node/exports/styled.js +34 -0
  112. package/dist/js/node/index.js +44 -0
  113. package/dist/js/node/router/cli/index.js +135 -0
  114. package/dist/js/node/router/index.js +37 -0
  115. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  116. package/dist/js/node/router/runtime/index.js +33 -0
  117. package/dist/js/node/router/runtime/plugin.js +127 -0
  118. package/dist/js/node/router/runtime/plugin.node.js +175 -0
  119. package/dist/js/node/router/runtime/server.js +17 -0
  120. package/dist/js/node/router/runtime/types.js +15 -0
  121. package/dist/js/node/router/runtime/utils.js +221 -0
  122. package/dist/js/node/router/runtime/withRouter.js +57 -0
  123. package/dist/js/node/runtime-context.js +31 -0
  124. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  125. package/dist/js/node/ssr/cli/index.js +190 -0
  126. package/dist/js/node/ssr/index.js +185 -0
  127. package/dist/js/node/ssr/index.node.js +107 -0
  128. package/dist/js/node/ssr/prefetch.js +90 -0
  129. package/dist/js/node/ssr/react/index.js +30 -0
  130. package/dist/js/node/ssr/react/nossr/index.js +43 -0
  131. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  132. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  133. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  134. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  135. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  136. package/dist/js/node/ssr/serverRender/index.js +56 -0
  137. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  139. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  140. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  141. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  142. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +111 -0
  143. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  144. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  145. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  146. package/dist/js/node/ssr/serverRender/renderToString/entry.js +196 -0
  147. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  148. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  149. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  150. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  151. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  152. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  153. package/dist/js/node/ssr/serverRender/types.js +27 -0
  154. package/dist/js/node/ssr/serverRender/utils.js +46 -0
  155. package/dist/js/node/ssr/utils.js +106 -0
  156. package/dist/js/node/state/cli/index.js +100 -0
  157. package/dist/js/node/state/index.js +37 -0
  158. package/dist/js/node/state/plugins.js +45 -0
  159. package/dist/js/node/state/runtime/index.js +40 -0
  160. package/dist/js/node/state/runtime/plugin.js +121 -0
  161. package/dist/js/node/state/types.js +15 -0
  162. package/dist/js/treeshaking/cli/index.js +186 -0
  163. package/dist/js/treeshaking/common.js +4 -0
  164. package/dist/js/treeshaking/config.js +1 -0
  165. package/dist/js/treeshaking/core/app-config.js +9 -0
  166. package/dist/js/treeshaking/core/compatible.js +485 -0
  167. package/dist/js/treeshaking/core/index.js +7 -0
  168. package/dist/js/treeshaking/core/loader/index.js +2 -0
  169. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  170. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  171. package/dist/js/treeshaking/core/plugin.js +176 -0
  172. package/dist/js/treeshaking/document/Body.js +18 -0
  173. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  174. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -0
  175. package/dist/js/treeshaking/document/Head.js +24 -0
  176. package/dist/js/treeshaking/document/Html.js +99 -0
  177. package/dist/js/treeshaking/document/Links.js +8 -0
  178. package/dist/js/treeshaking/document/Root.js +26 -0
  179. package/dist/js/treeshaking/document/Script.js +15 -0
  180. package/dist/js/treeshaking/document/Scripts.js +8 -0
  181. package/dist/js/treeshaking/document/cli/index.js +393 -0
  182. package/dist/js/treeshaking/document/constants.js +35 -0
  183. package/dist/js/treeshaking/document/index.js +10 -0
  184. package/dist/js/treeshaking/exports/head.js +4 -0
  185. package/dist/js/treeshaking/exports/loadable.js +4 -0
  186. package/dist/js/treeshaking/exports/server.js +4 -0
  187. package/dist/js/treeshaking/exports/styled.js +4 -0
  188. package/dist/js/treeshaking/index.js +3 -0
  189. package/dist/js/treeshaking/router/cli/index.js +148 -0
  190. package/dist/js/treeshaking/router/index.js +4 -0
  191. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  192. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  193. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  194. package/dist/js/treeshaking/router/runtime/plugin.node.js +390 -0
  195. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  196. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  197. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  198. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  199. package/dist/js/treeshaking/runtime-context.js +4 -0
  200. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  201. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  202. package/dist/js/treeshaking/ssr/index.js +315 -0
  203. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  204. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  205. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  206. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  207. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  208. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  209. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  210. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  211. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  212. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  218. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +119 -0
  219. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  225. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  226. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  227. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  228. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  229. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  230. package/dist/js/treeshaking/ssr/serverRender/utils.js +69 -0
  231. package/dist/js/treeshaking/ssr/utils.js +134 -0
  232. package/dist/js/treeshaking/state/cli/index.js +71 -0
  233. package/dist/js/treeshaking/state/index.js +4 -0
  234. package/dist/js/treeshaking/state/plugins.js +14 -0
  235. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  236. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  237. package/dist/js/treeshaking/state/types.js +1 -0
  238. package/dist/types/document/Html.d.ts +2 -2
  239. package/dist/types/router/runtime/plugin.d.ts +1 -1
  240. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  241. package/dist/types/router/runtime/types.d.ts +1 -0
  242. package/package.json +4 -4
@@ -0,0 +1,196 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var entry_exports = {};
45
+ __export(entry_exports, {
46
+ default: () => Entry
47
+ });
48
+ module.exports = __toCommonJS(entry_exports);
49
+ var import_react = __toESM(require("react"));
50
+ var import_server = __toESM(require("react-dom/server"));
51
+ var import_serialize_javascript = __toESM(require("serialize-javascript"));
52
+ var import_react_helmet = __toESM(require("react-helmet"));
53
+ var import_helmet = __toESM(require("../helmet"));
54
+ var import_types = require("../types");
55
+ var import_utils = require("../utils");
56
+ var import_prefetch = __toESM(require("../../prefetch"));
57
+ var import_template = require("./template");
58
+ var import_reduce = require("./reduce");
59
+ var loadableRenderer = __toESM(require("./loadable"));
60
+ var styledComponentRenderer = __toESM(require("./styledComponent"));
61
+ const buildTemplateData = (context, data, renderLevel) => {
62
+ const { request } = context;
63
+ return {
64
+ data,
65
+ context: {
66
+ request: {
67
+ params: request.params,
68
+ query: request.query,
69
+ pathname: request.pathname,
70
+ host: request.host,
71
+ url: request.url,
72
+ headers: request.headers,
73
+ cookieMap: request.cookieMap
74
+ }
75
+ },
76
+ renderLevel
77
+ };
78
+ };
79
+ class Entry {
80
+ constructor(options) {
81
+ const { ctx, config } = options;
82
+ const {
83
+ entryName,
84
+ template,
85
+ request: { host }
86
+ } = ctx;
87
+ this.fragments = (0, import_template.toFragments)(template, entryName);
88
+ this.entryName = entryName;
89
+ this.host = host;
90
+ this.App = options.App;
91
+ this.pluginConfig = config;
92
+ this.metrics = ctx.metrics;
93
+ this.logger = ctx.logger;
94
+ this.result = {
95
+ renderLevel: import_types.RenderLevel.CLIENT_RENDER,
96
+ html: "",
97
+ chunksMap: {
98
+ js: "",
99
+ css: ""
100
+ }
101
+ };
102
+ }
103
+ renderToHtml(context) {
104
+ return __async(this, null, function* () {
105
+ const ssrContext = context.ssrContext;
106
+ if (ssrContext.redirection.url) {
107
+ return "";
108
+ }
109
+ const prefetchData = yield this.prefetch(context);
110
+ if (ssrContext.redirection.url) {
111
+ return "";
112
+ }
113
+ if (this.result.renderLevel >= import_types.RenderLevel.SERVER_PREFETCH) {
114
+ this.result.html = this.renderToString(context);
115
+ }
116
+ if (ssrContext.redirection.url) {
117
+ return "";
118
+ }
119
+ let html = "";
120
+ const templateData = buildTemplateData(
121
+ ssrContext,
122
+ prefetchData,
123
+ this.result.renderLevel
124
+ );
125
+ const SSRData = this.getSSRDataScript(templateData);
126
+ for (const fragment of this.fragments) {
127
+ if (fragment.isVariable && fragment.content === "SSRDataScript") {
128
+ html += fragment.getValue(SSRData);
129
+ } else {
130
+ html += fragment.getValue(this.result);
131
+ }
132
+ }
133
+ const helmetData = import_react_helmet.default.renderStatic();
134
+ return helmetData ? (0, import_helmet.default)(html, helmetData) : html;
135
+ });
136
+ }
137
+ prefetch(context) {
138
+ return __async(this, null, function* () {
139
+ let prefetchData;
140
+ const end = (0, import_utils.time)();
141
+ try {
142
+ prefetchData = yield (0, import_prefetch.default)(this.App, context);
143
+ this.result.renderLevel = import_types.RenderLevel.SERVER_PREFETCH;
144
+ const prefetchCost = end();
145
+ this.logger.debug(`App Prefetch cost = %d ms`, prefetchCost);
146
+ this.metrics.emitTimer("app.prefetch.cost", prefetchCost);
147
+ } catch (e) {
148
+ this.result.renderLevel = import_types.RenderLevel.CLIENT_RENDER;
149
+ this.logger.error("App Prefetch Render", e);
150
+ this.metrics.emitCounter("app.prefetch.render.error", 1);
151
+ }
152
+ return prefetchData || {};
153
+ });
154
+ }
155
+ renderToString(context) {
156
+ let html = "";
157
+ const end = (0, import_utils.time)();
158
+ const { ssrContext } = context;
159
+ try {
160
+ const App = import_react.default.createElement(this.App, {
161
+ context: Object.assign(context, { ssr: true })
162
+ });
163
+ const renderContext = {
164
+ stats: ssrContext.loadableStats,
165
+ host: this.host,
166
+ result: this.result,
167
+ entryName: this.entryName,
168
+ config: this.pluginConfig
169
+ };
170
+ html = (0, import_reduce.reduce)(App, renderContext, [
171
+ styledComponentRenderer.toHtml,
172
+ loadableRenderer.toHtml,
173
+ (jsx) => import_server.default.renderToString(jsx)
174
+ ]);
175
+ const cost = end();
176
+ this.logger.debug("App Render To HTML cost = %d ms", cost);
177
+ this.metrics.emitTimer("app.render.html.cost", cost);
178
+ this.result.renderLevel = import_types.RenderLevel.SERVER_RENDER;
179
+ } catch (e) {
180
+ this.logger.error("App Render To HTML", e);
181
+ this.metrics.emitCounter("app.render.html.error", 1);
182
+ }
183
+ return html;
184
+ }
185
+ getSSRDataScript(templateData) {
186
+ return {
187
+ SSRDataScript: `
188
+ <script>window._SSR_DATA = ${(0, import_serialize_javascript.default)(templateData, {
189
+ isJSON: true
190
+ })}<\/script>
191
+ `
192
+ };
193
+ }
194
+ }
195
+ // Annotate the CommonJS export names for ESM import in node:
196
+ 0 && (module.exports = {});
@@ -0,0 +1,81 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var renderToString_exports = {};
45
+ __export(renderToString_exports, {
46
+ render: () => render
47
+ });
48
+ module.exports = __toCommonJS(renderToString_exports);
49
+ var import_ssr = require("@modern-js/utils/ssr");
50
+ var import_prerender = require("../../react/prerender");
51
+ var import_utils = require("../utils");
52
+ var import_entry = __toESM(require("./entry"));
53
+ const render = ({
54
+ App,
55
+ context,
56
+ config
57
+ }) => {
58
+ const ssrContext = context.ssrContext;
59
+ return (0, import_ssr.run)(ssrContext.request.headers, () => __async(void 0, null, function* () {
60
+ const entry = new import_entry.default({
61
+ ctx: ssrContext,
62
+ App,
63
+ config
64
+ });
65
+ entry.metrics.emitCounter("app.visit.count", 1);
66
+ const end = (0, import_utils.time)();
67
+ const html = yield entry.renderToHtml(context);
68
+ const cost = end();
69
+ entry.logger.info("App Render Total cost = %d ms", cost);
70
+ entry.metrics.emitTimer("app.render.cost", cost);
71
+ const cacheConfig = import_prerender.PreRender.config();
72
+ if (cacheConfig) {
73
+ context.ssrContext.cacheConfig = cacheConfig;
74
+ }
75
+ return html;
76
+ }));
77
+ };
78
+ // Annotate the CommonJS export names for ESM import in node:
79
+ 0 && (module.exports = {
80
+ render
81
+ });
@@ -0,0 +1,71 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var loadable_exports = {};
19
+ __export(loadable_exports, {
20
+ toHtml: () => toHtml
21
+ });
22
+ module.exports = __toCommonJS(loadable_exports);
23
+ var import_server = require("@loadable/server");
24
+ var import_utils = require("../../utils");
25
+ var import_utils2 = require("../utils");
26
+ const extname = (uri) => {
27
+ if (typeof uri !== "string" || !uri.includes(".")) {
28
+ return "";
29
+ }
30
+ return `.${uri == null ? void 0 : uri.split(".").pop()}` || "";
31
+ };
32
+ const toHtml = (jsx, renderer, next) => {
33
+ const {
34
+ stats,
35
+ result: { chunksMap },
36
+ host,
37
+ config = {}
38
+ } = renderer;
39
+ if (!stats || chunksMap.js) {
40
+ return next(jsx);
41
+ }
42
+ const extractor = new import_server.ChunkExtractor({
43
+ stats,
44
+ entrypoints: [renderer.entryName]
45
+ });
46
+ const html = next(extractor.collectChunks(jsx));
47
+ const chunks = extractor.getChunkAssets(extractor.chunks);
48
+ chunksMap.js = (chunksMap.js || "") + (0, import_utils2.getLoadableScripts)(extractor);
49
+ for (const v of chunks) {
50
+ const fileType = extname(v.url).slice(1);
51
+ if (fileType === "js") {
52
+ const props = [];
53
+ const { crossorigin } = config;
54
+ if (crossorigin && (0, import_utils.isCrossOrigin)(v.url, host)) {
55
+ props.push(
56
+ `crossorigin="${crossorigin === true ? "anonymous" : crossorigin}"`
57
+ );
58
+ }
59
+ chunksMap[fileType] += `<script src="${v.url}" ${props.join(
60
+ " "
61
+ )}><\/script>`;
62
+ } else if (fileType === "css") {
63
+ chunksMap[fileType] += `<link href="${v.url}" rel="stylesheet" />`;
64
+ }
65
+ }
66
+ return html;
67
+ };
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ toHtml
71
+ });
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var reduce_exports = {};
19
+ __export(reduce_exports, {
20
+ reduce: () => reduce
21
+ });
22
+ module.exports = __toCommonJS(reduce_exports);
23
+ function reduce(jsx, renderer, middleware) {
24
+ let index = 0;
25
+ const createNext = () => (App) => middleware[index++](App, renderer, createNext());
26
+ return createNext()(jsx);
27
+ }
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ reduce
31
+ });
@@ -0,0 +1,34 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var styledComponent_exports = {};
19
+ __export(styledComponent_exports, {
20
+ toHtml: () => toHtml
21
+ });
22
+ module.exports = __toCommonJS(styledComponent_exports);
23
+ var import_styled_components = require("styled-components");
24
+ const toHtml = (jsx, renderer, next) => {
25
+ const sheet = new import_styled_components.ServerStyleSheet();
26
+ const html = next(sheet.collectStyles(jsx));
27
+ const css = sheet.getStyleTags();
28
+ renderer.result.chunksMap.css += css;
29
+ return html;
30
+ };
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ toHtml
34
+ });
@@ -0,0 +1,82 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var template_exports = {};
19
+ __export(template_exports, {
20
+ Fragment: () => Fragment,
21
+ toFragments: () => toFragments
22
+ });
23
+ module.exports = __toCommonJS(template_exports);
24
+ const VARIABLE_REG_EXP = /<!--<\?([-=+])\s*(.*?)\s*\?>-->/;
25
+ const VARIABLE_SPLITTER = /(<!--<\?.*?\?>-->)/;
26
+ const ENCODE_HTML_RULES = {
27
+ "&": "&amp;",
28
+ "<": "&lt;",
29
+ ">": "&gt;",
30
+ '"': "&#34;",
31
+ "'": "&#39;"
32
+ };
33
+ const MATCH_HTML = /[&<>'"]/g;
34
+ function encodeChar(c) {
35
+ return ENCODE_HTML_RULES[c] || c;
36
+ }
37
+ function escape(str) {
38
+ return str.replace(MATCH_HTML, encodeChar);
39
+ }
40
+ const _Fragment = class {
41
+ constructor(template) {
42
+ const match = VARIABLE_REG_EXP.exec(template);
43
+ if (match) {
44
+ const [, filterFlag, content] = match;
45
+ this.isVariable = true;
46
+ this.content = content;
47
+ this.filters = [_Fragment.filterMap[filterFlag]];
48
+ this.path = content.replace(/\[['"](.*?)['"]\]/g, ".$1").split(".");
49
+ } else {
50
+ this.isVariable = false;
51
+ this.content = template;
52
+ this.filters = [];
53
+ this.path = [];
54
+ }
55
+ }
56
+ getValue(data) {
57
+ if (this.isVariable) {
58
+ const value = this.path.reduce((p, n) => p != null ? p[n] : p, data);
59
+ return this.filters.reduce((p, n) => n(p), value != null ? value : "");
60
+ }
61
+ return this.content;
62
+ }
63
+ };
64
+ let Fragment = _Fragment;
65
+ Fragment.filterMap = {
66
+ "=": escape,
67
+ "-": (v) => v
68
+ };
69
+ const fragmentListMap = {};
70
+ function toFragments(template, entryName) {
71
+ if (fragmentListMap[entryName]) {
72
+ return fragmentListMap[entryName];
73
+ }
74
+ const fragmentList = template.split(VARIABLE_SPLITTER).filter((v) => Boolean(v)).map((v) => new Fragment(v));
75
+ fragmentListMap[entryName] = fragmentList;
76
+ return fragmentList;
77
+ }
78
+ // Annotate the CommonJS export names for ESM import in node:
79
+ 0 && (module.exports = {
80
+ Fragment,
81
+ toFragments
82
+ });
@@ -0,0 +1,32 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var type_exports = {};
19
+ __export(type_exports, {
20
+ RenderLevel: () => RenderLevel
21
+ });
22
+ module.exports = __toCommonJS(type_exports);
23
+ var RenderLevel = /* @__PURE__ */ ((RenderLevel2) => {
24
+ RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
25
+ RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
26
+ RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
27
+ return RenderLevel2;
28
+ })(RenderLevel || {});
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ RenderLevel
32
+ });
@@ -0,0 +1,27 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var types_exports = {};
19
+ __export(types_exports, {
20
+ RenderLevel: () => import_type.RenderLevel
21
+ });
22
+ module.exports = __toCommonJS(types_exports);
23
+ var import_type = require("./renderToString/type");
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {
26
+ RenderLevel
27
+ });
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var utils_exports = {};
19
+ __export(utils_exports, {
20
+ getLoadableScripts: () => getLoadableScripts,
21
+ time: () => time
22
+ });
23
+ module.exports = __toCommonJS(utils_exports);
24
+ function getLoadableScripts(extractor) {
25
+ const check = (scripts2) => (scripts2 || "").includes("__LOADABLE_REQUIRED_CHUNKS___ext");
26
+ const scripts = extractor.getScriptTags();
27
+ if (!check(scripts)) {
28
+ return "";
29
+ }
30
+ return scripts.split("<\/script>").slice(0, 2).map((i) => `${i}<\/script>`).join("");
31
+ }
32
+ const getLatency = (hrtime) => {
33
+ const [s, ns] = process.hrtime(hrtime);
34
+ return s * 1e3 + ns / 1e6;
35
+ };
36
+ const time = () => {
37
+ const hrtime = process.hrtime();
38
+ return () => {
39
+ return getLatency(hrtime);
40
+ };
41
+ };
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ getLoadableScripts,
45
+ time
46
+ });