@modern-js/runtime 2.0.0-beta.0 → 2.0.0-beta.1

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 (204) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/js/modern/cli/index.js +3 -5
  3. package/dist/js/modern/core/app-config.js +2 -1
  4. package/dist/js/modern/core/compatible.js +63 -46
  5. package/dist/js/modern/core/index.js +3 -2
  6. package/dist/js/modern/core/loader/loaderManager.js +12 -34
  7. package/dist/js/modern/core/loader/useLoader.js +8 -26
  8. package/dist/js/modern/core/plugin.js +6 -28
  9. package/dist/js/modern/document/Body.js +17 -0
  10. package/dist/js/modern/document/DocumentContext.js +6 -0
  11. package/dist/js/modern/document/DocumentStructrueContext.js +7 -0
  12. package/dist/js/modern/document/Head.js +24 -0
  13. package/dist/js/modern/document/Html.js +92 -0
  14. package/dist/js/modern/document/Root.js +31 -0
  15. package/dist/js/modern/document/Scripts.js +10 -0
  16. package/dist/js/modern/document/cli/index.js +130 -0
  17. package/dist/js/modern/document/constants.js +19 -0
  18. package/dist/js/modern/document/index.js +8 -0
  19. package/dist/js/modern/index.js +1 -1
  20. package/dist/js/modern/router/cli/index.js +0 -16
  21. package/dist/js/modern/router/runtime/plugin.js +0 -9
  22. package/dist/js/modern/router/runtime/plugin.node.js +18 -24
  23. package/dist/js/modern/router/runtime/root/index.js +19 -0
  24. package/dist/js/modern/router/runtime/root/load.js +61 -0
  25. package/dist/js/modern/router/runtime/utils.js +16 -35
  26. package/dist/js/modern/router/runtime/withRouter.js +1 -3
  27. package/dist/js/modern/ssr/cli/index.js +2 -23
  28. package/dist/js/modern/ssr/index.js +23 -34
  29. package/dist/js/modern/ssr/index.node.js +0 -13
  30. package/dist/js/modern/ssr/prefetch.js +0 -7
  31. package/dist/js/modern/ssr/react/prerender/index.js +2 -23
  32. package/dist/js/modern/ssr/react/prerender/util.js +2 -17
  33. package/dist/js/modern/ssr/react/withCallback/index.js +0 -1
  34. package/dist/js/modern/ssr/serverRender/helmet.js +12 -20
  35. package/dist/js/modern/ssr/serverRender/index.js +1 -2
  36. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -5
  37. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +45 -11
  38. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +6 -39
  39. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -2
  40. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +26 -15
  41. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +14 -18
  42. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +2 -34
  43. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -2
  44. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -10
  45. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -2
  46. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -15
  47. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -1
  48. package/dist/js/modern/ssr/serverRender/utils.js +2 -6
  49. package/dist/js/modern/ssr/utils.js +0 -11
  50. package/dist/js/modern/state/cli/index.js +0 -10
  51. package/dist/js/modern/state/runtime/plugin.js +1 -14
  52. package/dist/js/node/cli/index.js +3 -13
  53. package/dist/js/node/common.js +0 -2
  54. package/dist/js/node/core/app-config.js +2 -5
  55. package/dist/js/node/core/compatible.js +63 -64
  56. package/dist/js/node/core/index.js +0 -16
  57. package/dist/js/node/core/loader/index.js +0 -2
  58. package/dist/js/node/core/loader/loaderManager.js +12 -37
  59. package/dist/js/node/core/loader/useLoader.js +8 -31
  60. package/dist/js/node/core/plugin.js +5 -34
  61. package/dist/js/node/document/Body.js +26 -0
  62. package/dist/js/node/document/DocumentContext.js +14 -0
  63. package/dist/js/node/document/DocumentStructrueContext.js +15 -0
  64. package/dist/js/node/document/Head.js +33 -0
  65. package/dist/js/node/document/Html.js +98 -0
  66. package/dist/js/node/document/Root.js +41 -0
  67. package/dist/js/node/document/Scripts.js +17 -0
  68. package/dist/js/node/document/cli/index.js +140 -0
  69. package/dist/js/node/document/constants.js +36 -0
  70. package/dist/js/node/document/index.js +93 -0
  71. package/dist/js/node/exports/head.js +0 -5
  72. package/dist/js/node/exports/loadable.js +0 -5
  73. package/dist/js/node/exports/server.js +0 -2
  74. package/dist/js/node/exports/styled.js +0 -5
  75. package/dist/js/node/index.js +0 -8
  76. package/dist/js/node/router/cli/index.js +0 -20
  77. package/dist/js/node/router/index.js +0 -4
  78. package/dist/js/node/router/runtime/DefaultNotFound.js +1 -5
  79. package/dist/js/node/router/runtime/index.js +0 -5
  80. package/dist/js/node/router/runtime/plugin.js +0 -17
  81. package/dist/js/node/router/runtime/plugin.node.js +16 -38
  82. package/dist/js/node/router/runtime/root/index.js +26 -0
  83. package/dist/js/node/router/runtime/root/load.js +69 -0
  84. package/dist/js/node/router/runtime/utils.js +16 -44
  85. package/dist/js/node/router/runtime/withRouter.js +0 -9
  86. package/dist/js/node/runtime-context.js +0 -2
  87. package/dist/js/node/ssr/cli/index.js +2 -26
  88. package/dist/js/node/ssr/index.js +23 -45
  89. package/dist/js/node/ssr/index.node.js +0 -23
  90. package/dist/js/node/ssr/prefetch.js +0 -11
  91. package/dist/js/node/ssr/react/index.js +0 -2
  92. package/dist/js/node/ssr/react/nossr/index.js +0 -6
  93. package/dist/js/node/ssr/react/prerender/index.js +2 -30
  94. package/dist/js/node/ssr/react/prerender/util.js +2 -25
  95. package/dist/js/node/ssr/react/withCallback/index.js +1 -4
  96. package/dist/js/node/ssr/serverRender/helmet.js +13 -20
  97. package/dist/js/node/ssr/serverRender/index.js +1 -4
  98. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
  99. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -1
  100. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +43 -15
  101. package/dist/js/node/ssr/serverRender/renderToStream/index.js +6 -48
  102. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -4
  103. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +26 -17
  104. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -2
  105. package/dist/js/node/ssr/serverRender/renderToStream/template.js +16 -23
  106. package/dist/js/node/ssr/serverRender/renderToString/entry.js +2 -51
  107. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -10
  108. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -14
  109. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -3
  110. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -3
  111. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -18
  112. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -1
  113. package/dist/js/node/ssr/serverRender/types.js +0 -1
  114. package/dist/js/node/ssr/serverRender/utils.js +2 -8
  115. package/dist/js/node/ssr/utils.js +0 -20
  116. package/dist/js/node/state/cli/index.js +0 -15
  117. package/dist/js/node/state/index.js +0 -4
  118. package/dist/js/node/state/plugins.js +0 -11
  119. package/dist/js/node/state/runtime/index.js +0 -7
  120. package/dist/js/node/state/runtime/plugin.js +1 -25
  121. package/dist/js/treeshaking/cli/index.js +3 -3
  122. package/dist/js/treeshaking/core/app-config.js +2 -1
  123. package/dist/js/treeshaking/core/compatible.js +66 -63
  124. package/dist/js/treeshaking/core/index.js +3 -2
  125. package/dist/js/treeshaking/core/loader/loaderManager.js +19 -51
  126. package/dist/js/treeshaking/core/loader/useLoader.js +11 -28
  127. package/dist/js/treeshaking/core/plugin.js +6 -51
  128. package/dist/js/treeshaking/document/Body.js +14 -0
  129. package/dist/js/treeshaking/document/DocumentContext.js +6 -0
  130. package/dist/js/treeshaking/document/DocumentStructrueContext.js +7 -0
  131. package/dist/js/treeshaking/document/Head.js +21 -0
  132. package/dist/js/treeshaking/document/Html.js +104 -0
  133. package/dist/js/treeshaking/document/Root.js +24 -0
  134. package/dist/js/treeshaking/document/Scripts.js +10 -0
  135. package/dist/js/treeshaking/document/cli/index.js +170 -0
  136. package/dist/js/treeshaking/document/constants.js +16 -0
  137. package/dist/js/treeshaking/document/index.js +8 -0
  138. package/dist/js/treeshaking/index.js +1 -1
  139. package/dist/js/treeshaking/router/cli/index.js +6 -18
  140. package/dist/js/treeshaking/router/runtime/plugin.js +5 -13
  141. package/dist/js/treeshaking/router/runtime/plugin.node.js +23 -36
  142. package/dist/js/treeshaking/router/runtime/root/index.js +17 -0
  143. package/dist/js/treeshaking/router/runtime/root/load.js +102 -0
  144. package/dist/js/treeshaking/router/runtime/utils.js +21 -39
  145. package/dist/js/treeshaking/router/runtime/withRouter.js +1 -0
  146. package/dist/js/treeshaking/ssr/cli/index.js +9 -31
  147. package/dist/js/treeshaking/ssr/index.js +26 -40
  148. package/dist/js/treeshaking/ssr/index.node.js +12 -29
  149. package/dist/js/treeshaking/ssr/prefetch.js +0 -13
  150. package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -4
  151. package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -21
  152. package/dist/js/treeshaking/ssr/react/prerender/util.js +3 -20
  153. package/dist/js/treeshaking/ssr/react/withCallback/index.js +1 -2
  154. package/dist/js/treeshaking/ssr/serverRender/helmet.js +12 -11
  155. package/dist/js/treeshaking/ssr/serverRender/index.js +1 -9
  156. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -6
  157. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +46 -15
  158. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +9 -79
  159. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +3 -5
  160. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +46 -35
  161. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +17 -24
  162. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +20 -73
  163. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +2 -6
  164. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +5 -16
  165. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -2
  166. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +2 -18
  167. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -1
  168. package/dist/js/treeshaking/ssr/serverRender/utils.js +5 -10
  169. package/dist/js/treeshaking/ssr/utils.js +8 -17
  170. package/dist/js/treeshaking/state/cli/index.js +3 -10
  171. package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
  172. package/dist/types/cli/index.d.ts +0 -2
  173. package/dist/types/core/compatible.d.ts +5 -5
  174. package/dist/types/core/index.d.ts +1 -1
  175. package/dist/types/core/loader/loaderManager.d.ts +0 -1
  176. package/dist/types/core/loader/useLoader.d.ts +0 -5
  177. package/dist/types/core/plugin.d.ts +1 -13
  178. package/dist/types/document/Body.d.ts +4 -0
  179. package/dist/types/document/DocumentContext.d.ts +13 -0
  180. package/dist/types/document/DocumentStructrueContext.d.ts +10 -0
  181. package/dist/types/document/Head.d.ts +5 -0
  182. package/dist/types/document/Html.d.ts +4 -0
  183. package/dist/types/document/Root.d.ts +8 -0
  184. package/dist/types/document/Scripts.d.ts +2 -0
  185. package/dist/types/document/cli/index.d.ts +3 -0
  186. package/dist/types/document/constants.d.ts +14 -0
  187. package/dist/types/document/index.d.ts +8 -0
  188. package/dist/types/exports/server.d.ts +3 -3
  189. package/dist/types/index.d.ts +1 -1
  190. package/dist/types/router/cli/index.d.ts +0 -2
  191. package/dist/types/router/runtime/root/index.d.ts +8 -0
  192. package/dist/types/router/runtime/root/load.d.ts +22 -0
  193. package/dist/types/router/runtime/types.d.ts +0 -2
  194. package/dist/types/runtime-context.d.ts +1 -0
  195. package/dist/types/ssr/cli/index.d.ts +0 -2
  196. package/dist/types/ssr/prefetch.d.ts +2 -2
  197. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +3 -2
  198. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -1
  199. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +3 -3
  200. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +2 -2
  201. package/dist/types/ssr/serverRender/types.d.ts +1 -4
  202. package/dist/types/state/cli/index.d.ts +0 -2
  203. package/dist/types/state/types.d.ts +0 -1
  204. package/package.json +19 -11
@@ -3,30 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createTemplates = createTemplates;
7
-
6
+ exports.getTemplates = void 0;
8
7
  var _buildTemplate = require("./buildTemplate.after");
9
-
10
8
  var _bulidTemplate = require("./bulidTemplate.before");
11
-
12
9
  const HTML_SEPARATOR = '<!--<?- html ?>-->';
13
-
14
- function createTemplates(context) {
15
- const getTemplates = () => {
16
- const {
17
- template
18
- } = context.ssrContext;
19
- const [beforeAppTemplate = '', afterAppHtmlTemplate = ''] = template.split(HTML_SEPARATOR) || []; // templates injected some variables
20
-
21
- const builtBeforeTemplate = (0, _bulidTemplate.buildShellBeforeTemplate)(beforeAppTemplate);
22
- const builtAfterTemplate = (0, _buildTemplate.buildShellAfterTemplate)(afterAppHtmlTemplate, {
23
- context
24
- });
25
- return {
26
- shellBefore: builtBeforeTemplate,
27
- shellAfter: builtAfterTemplate
28
- };
10
+ const getTemplates = (context, renderLevel) => {
11
+ const {
12
+ ssrContext
13
+ } = context;
14
+ const [beforeAppTemplate = '', afterAppHtmlTemplate = ''] = ssrContext.template.split(HTML_SEPARATOR) || [];
15
+ const builtBeforeTemplate = (0, _bulidTemplate.buildShellBeforeTemplate)(beforeAppTemplate, context);
16
+ const builtAfterTemplate = (0, _buildTemplate.buildShellAfterTemplate)(afterAppHtmlTemplate, {
17
+ ssrContext: ssrContext,
18
+ renderLevel
19
+ });
20
+ return {
21
+ shellBefore: builtBeforeTemplate,
22
+ shellAfter: builtAfterTemplate
29
23
  };
30
-
31
- return getTemplates;
32
- }
24
+ };
25
+ exports.getTemplates = getTemplates;
@@ -4,37 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _server = _interopRequireDefault(require("react-dom/server"));
11
-
12
9
  var _serializeJavascript = _interopRequireDefault(require("serialize-javascript"));
13
-
14
10
  var _reactHelmet = _interopRequireDefault(require("react-helmet"));
15
-
16
11
  var _helmet = _interopRequireDefault(require("../helmet"));
17
-
18
12
  var _types = require("../types");
19
-
20
13
  var _utils = require("../utils");
21
-
14
+ var _prefetch = _interopRequireDefault(require("../../prefetch"));
22
15
  var _template = require("./template");
23
-
24
16
  var _reduce = require("./reduce");
25
-
26
17
  var loadableRenderer = _interopRequireWildcard(require("./loadable"));
27
-
28
18
  var styledComponentRenderer = _interopRequireWildcard(require("./styledComponent"));
29
-
30
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
-
36
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
-
38
23
  const buildTemplateData = (context, data, renderLevel) => {
39
24
  const {
40
25
  request
@@ -55,25 +40,16 @@ const buildTemplateData = (context, data, renderLevel) => {
55
40
  renderLevel
56
41
  };
57
42
  };
58
-
59
43
  class Entry {
60
44
  constructor(options) {
61
45
  _defineProperty(this, "entryName", void 0);
62
-
63
46
  _defineProperty(this, "result", void 0);
64
-
65
47
  _defineProperty(this, "metrics", void 0);
66
-
67
48
  _defineProperty(this, "logger", void 0);
68
-
69
49
  _defineProperty(this, "App", void 0);
70
-
71
50
  _defineProperty(this, "fragments", void 0);
72
-
73
51
  _defineProperty(this, "pluginConfig", void 0);
74
-
75
52
  _defineProperty(this, "host", void 0);
76
-
77
53
  const {
78
54
  ctx,
79
55
  config
@@ -101,32 +77,24 @@ class Entry {
101
77
  }
102
78
  };
103
79
  }
104
-
105
80
  async renderToHtml(context) {
106
81
  const ssrContext = context.ssrContext;
107
-
108
82
  if (ssrContext.redirection.url) {
109
83
  return '';
110
84
  }
111
-
112
85
  const prefetchData = await this.prefetch(context);
113
-
114
86
  if (ssrContext.redirection.url) {
115
87
  return '';
116
88
  }
117
-
118
89
  if (this.result.renderLevel >= _types.RenderLevel.SERVER_PREFETCH) {
119
90
  this.result.html = this.renderToString(context);
120
91
  }
121
-
122
92
  if (ssrContext.redirection.url) {
123
93
  return '';
124
94
  }
125
-
126
95
  let html = '';
127
96
  const templateData = buildTemplateData(ssrContext, prefetchData, this.result.renderLevel);
128
97
  const SSRData = this.getSSRDataScript(templateData);
129
-
130
98
  for (const fragment of this.fragments) {
131
99
  if (fragment.isVariable && fragment.content === 'SSRDataScript') {
132
100
  html += fragment.getValue(SSRData);
@@ -134,23 +102,14 @@ class Entry {
134
102
  html += fragment.getValue(this.result);
135
103
  }
136
104
  }
137
-
138
105
  const helmetData = _reactHelmet.default.renderStatic();
139
-
140
106
  return helmetData ? (0, _helmet.default)(html, helmetData) : html;
141
107
  }
142
-
143
108
  async prefetch(context) {
144
- const {
145
- App: {
146
- prefetch
147
- }
148
- } = this;
149
109
  let prefetchData;
150
110
  const end = (0, _utils.time)();
151
-
152
111
  try {
153
- prefetchData = prefetch ? await prefetch(context) : null;
112
+ prefetchData = await (0, _prefetch.default)(this.App, context);
154
113
  this.result.renderLevel = _types.RenderLevel.SERVER_PREFETCH;
155
114
  const prefetchCost = end();
156
115
  this.logger.debug(`App Prefetch cost = %d ms`, prefetchCost);
@@ -160,24 +119,20 @@ class Entry {
160
119
  this.logger.error('App Prefetch Render', e);
161
120
  this.metrics.emitCounter('app.prefetch.render.error', 1);
162
121
  }
163
-
164
122
  return prefetchData || {};
165
123
  }
166
-
167
124
  renderToString(context) {
168
125
  let html = '';
169
126
  const end = (0, _utils.time)();
170
127
  const {
171
128
  ssrContext
172
129
  } = context;
173
-
174
130
  try {
175
131
  const App = /*#__PURE__*/_react.default.createElement(this.App, {
176
132
  context: Object.assign(context, {
177
133
  ssr: true
178
134
  })
179
135
  });
180
-
181
136
  const renderContext = {
182
137
  stats: ssrContext.loadableStats,
183
138
  host: this.host,
@@ -194,10 +149,8 @@ class Entry {
194
149
  this.logger.error('App Render To HTML', e);
195
150
  this.metrics.emitCounter('app.render.html.error', 1);
196
151
  }
197
-
198
152
  return html;
199
153
  }
200
-
201
154
  getSSRDataScript(templateData) {
202
155
  return {
203
156
  SSRDataScript: `
@@ -207,7 +160,5 @@ class Entry {
207
160
  `
208
161
  };
209
162
  }
210
-
211
163
  }
212
-
213
164
  exports.default = Entry;
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.render = void 0;
7
-
8
7
  var _ssr = require("@modern-js/utils/ssr");
9
-
10
8
  var _prerender = require("../../react/prerender");
11
-
12
9
  var _utils = require("../utils");
13
-
14
10
  var _entry = _interopRequireDefault(require("./entry"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  const render = ({
19
13
  App,
20
14
  context,
@@ -33,15 +27,11 @@ const render = ({
33
27
  const cost = end();
34
28
  entry.logger.info('App Render Total cost = %d ms', cost);
35
29
  entry.metrics.emitTimer('app.render.cost', cost);
36
-
37
30
  const cacheConfig = _prerender.PreRender.config();
38
-
39
31
  if (cacheConfig) {
40
32
  context.ssrContext.cacheConfig = cacheConfig;
41
33
  }
42
-
43
34
  return html;
44
35
  });
45
36
  };
46
-
47
37
  exports.render = render;
@@ -4,21 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.toHtml = void 0;
7
-
8
7
  var _server = require("@loadable/server");
9
-
10
8
  var _utils = require("../../utils");
11
-
12
9
  var _utils2 = require("../utils");
13
-
14
10
  const extname = uri => {
15
11
  if (typeof uri !== 'string' || !uri.includes('.')) {
16
12
  return '';
17
13
  }
18
-
19
14
  return `.${uri === null || uri === void 0 ? void 0 : uri.split('.').pop()}` || '';
20
15
  };
21
-
22
16
  const toHtml = (jsx, renderer, next) => {
23
17
  const {
24
18
  stats,
@@ -28,11 +22,9 @@ const toHtml = (jsx, renderer, next) => {
28
22
  host,
29
23
  config = {}
30
24
  } = renderer;
31
-
32
25
  if (!stats || chunksMap.js) {
33
26
  return next(jsx);
34
27
  }
35
-
36
28
  const extractor = new _server.ChunkExtractor({
37
29
  stats,
38
30
  entrypoints: [renderer.entryName]
@@ -40,27 +32,21 @@ const toHtml = (jsx, renderer, next) => {
40
32
  const html = next(extractor.collectChunks(jsx));
41
33
  const chunks = extractor.getChunkAssets(extractor.chunks);
42
34
  chunksMap.js = (chunksMap.js || '') + (0, _utils2.getLoadableScripts)(extractor);
43
-
44
35
  for (const v of chunks) {
45
36
  const fileType = extname(v.url).slice(1);
46
-
47
37
  if (fileType === 'js') {
48
38
  const props = [];
49
39
  const {
50
40
  crossorigin
51
41
  } = config;
52
-
53
42
  if (crossorigin && (0, _utils.isCrossOrigin)(v.url, host)) {
54
43
  props.push(`crossorigin="${crossorigin === true ? 'anonymous' : crossorigin}"`);
55
44
  }
56
-
57
45
  chunksMap[fileType] += `<script src="${v.url}" ${props.join(' ')}></script>`;
58
46
  } else if (fileType === 'css') {
59
47
  chunksMap[fileType] += `<link href="${v.url}" rel="stylesheet" />`;
60
48
  }
61
49
  }
62
-
63
50
  return html;
64
51
  };
65
-
66
52
  exports.toHtml = toHtml;
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.reduce = reduce;
7
-
8
7
  function reduce(jsx, renderer, middleware) {
9
8
  let index = 0;
10
-
11
9
  const createNext = () => App => middleware[index++](App, renderer, createNext());
12
-
13
10
  return createNext()(jsx);
14
11
  }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.toHtml = void 0;
7
-
8
7
  var _styledComponents = require("styled-components");
9
-
10
8
  const toHtml = (jsx, renderer, next) => {
11
9
  const sheet = new _styledComponents.ServerStyleSheet();
12
10
  const html = next(sheet.collectStyles(jsx));
@@ -14,5 +12,4 @@ const toHtml = (jsx, renderer, next) => {
14
12
  renderer.result.chunksMap.css += css;
15
13
  return html;
16
14
  };
17
-
18
15
  exports.toHtml = toHtml;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Fragment = void 0;
7
7
  exports.toFragments = toFragments;
8
-
9
8
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
-
11
9
  const VARIABLE_REG_EXP = /<!--<\?([-=+])\s*(.*?)\s*\?>-->/;
12
10
  const VARIABLE_SPLITTER = /(<!--<\?.*?\?>-->)/;
13
11
  const ENCODE_HTML_RULES = {
@@ -18,27 +16,19 @@ const ENCODE_HTML_RULES = {
18
16
  "'": '&#39;'
19
17
  };
20
18
  const MATCH_HTML = /[&<>'"]/g;
21
-
22
19
  function encodeChar(c) {
23
20
  return ENCODE_HTML_RULES[c] || c;
24
21
  }
25
-
26
22
  function escape(str) {
27
23
  return str.replace(MATCH_HTML, encodeChar);
28
24
  }
29
-
30
25
  class Fragment {
31
26
  constructor(template) {
32
27
  _defineProperty(this, "isVariable", void 0);
33
-
34
28
  _defineProperty(this, "content", void 0);
35
-
36
29
  _defineProperty(this, "filters", void 0);
37
-
38
30
  _defineProperty(this, "path", void 0);
39
-
40
31
  const match = VARIABLE_REG_EXP.exec(template);
41
-
42
32
  if (match) {
43
33
  const [, filterFlag, content] = match;
44
34
  this.isVariable = true;
@@ -52,32 +42,24 @@ class Fragment {
52
42
  this.path = [];
53
43
  }
54
44
  }
55
-
56
45
  getValue(data) {
57
46
  if (this.isVariable) {
58
47
  const value = this.path.reduce((p, n) => p != null ? p[n] : p, data);
59
48
  return this.filters.reduce((p, n) => n(p), value != null ? value : '');
60
49
  }
61
-
62
50
  return this.content;
63
51
  }
64
-
65
52
  }
66
-
67
53
  exports.Fragment = Fragment;
68
-
69
54
  _defineProperty(Fragment, "filterMap", {
70
55
  '=': escape,
71
56
  '-': v => v
72
57
  });
73
-
74
58
  const fragmentListMap = {};
75
-
76
59
  function toFragments(template, entryName) {
77
60
  if (fragmentListMap[entryName]) {
78
61
  return fragmentListMap[entryName];
79
62
  }
80
-
81
63
  const fragmentList = template.split(VARIABLE_SPLITTER).filter(v => Boolean(v)).map(v => new Fragment(v));
82
64
  fragmentListMap[entryName] = fragmentList;
83
65
  return fragmentList;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.RenderLevel = void 0;
7
7
  let RenderLevel;
8
8
  exports.RenderLevel = RenderLevel;
9
-
10
9
  (function (RenderLevel) {
11
10
  RenderLevel[RenderLevel["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
12
11
  RenderLevel[RenderLevel["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
@@ -9,5 +9,4 @@ Object.defineProperty(exports, "RenderLevel", {
9
9
  return _type.RenderLevel;
10
10
  }
11
11
  });
12
-
13
12
  var _type = require("./renderToString/type");
@@ -5,30 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getLoadableScripts = getLoadableScripts;
7
7
  exports.time = void 0;
8
-
9
8
  function getLoadableScripts(extractor) {
10
9
  const check = scripts => (scripts || '').includes('__LOADABLE_REQUIRED_CHUNKS___ext');
11
-
12
10
  const scripts = extractor.getScriptTags();
13
-
14
11
  if (!check(scripts)) {
15
12
  return '';
16
13
  }
17
-
18
- return scripts.split('</script>') // 前两个 script为 loadable 必须的 script
14
+ return scripts.split('</script>')
15
+ // 前两个 script为 loadable 必须的 script
19
16
  .slice(0, 2).map(i => `${i}</script>`).join('');
20
17
  }
21
-
22
18
  const getLatency = hrtime => {
23
19
  const [s, ns] = process.hrtime(hrtime);
24
20
  return s * 1e3 + ns / 1e6;
25
21
  };
26
-
27
22
  const time = () => {
28
23
  const hrtime = process.hrtime();
29
24
  return () => {
30
25
  return getLatency(hrtime);
31
26
  };
32
27
  };
33
-
34
28
  exports.time = time;
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.mockResponse = exports.isReact18 = exports.isCrossOrigin = exports.formatServer = exports.formatClient = void 0;
7
-
8
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
-
10
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
-
12
9
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
-
14
10
  const isReact18 = () => process.env.IS_REACT18 === 'true';
15
-
16
11
  exports.isReact18 = isReact18;
17
-
18
12
  const formatServer = request => {
19
13
  const {
20
14
  cookie = '',
@@ -27,22 +21,16 @@ const formatServer = request => {
27
21
  referer
28
22
  }, request);
29
23
  };
30
-
31
24
  exports.formatServer = formatServer;
32
-
33
25
  const getQuery = () => window.location.search.substring(1).split('&').reduce((res, item) => {
34
26
  const [key, value] = item.split('=');
35
-
36
27
  if (key) {
37
28
  res[key] = value;
38
29
  }
39
-
40
30
  return res;
41
31
  }, {});
42
-
43
32
  const formatClient = request => {
44
33
  var _request$headers, _request$headers2;
45
-
46
34
  return {
47
35
  params: request.params || {},
48
36
  host: request.host || location.host,
@@ -56,29 +44,22 @@ const formatClient = request => {
56
44
  url: location.href
57
45
  };
58
46
  };
59
-
60
47
  exports.formatClient = formatClient;
61
-
62
48
  const mockResponse = () => {
63
49
  return {
64
50
  setHeader() {
65
51
  console.warn('response.setHeader() can only be used in the server side');
66
52
  },
67
-
68
53
  status() {
69
54
  console.warn('response.status() can only be used in the server side');
70
55
  },
71
-
72
56
  get locals() {
73
57
  console.warn('response.locals can only be used in the server side');
74
58
  return {};
75
59
  }
76
-
77
60
  };
78
61
  };
79
-
80
62
  exports.mockResponse = mockResponse;
81
-
82
63
  const isCrossOrigin = (url = '', base) => {
83
64
  if (url.startsWith('/') || url.startsWith('./')) {
84
65
  return false;
@@ -88,5 +69,4 @@ const isCrossOrigin = (url = '', base) => {
88
69
  return false;
89
70
  }
90
71
  };
91
-
92
72
  exports.isCrossOrigin = isCrossOrigin;
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _utils = require("@modern-js/utils");
9
-
10
8
  require("../types");
11
-
12
9
  const PLUGIN_IDENTIFIER = 'state';
13
-
14
10
  var _default = () => ({
15
11
  name: '@modern-js/plugin-state',
16
12
  required: ['@modern-js/runtime'],
@@ -29,13 +25,11 @@ var _default = () => ({
29
25
  }
30
26
  };
31
27
  },
32
-
33
28
  modifyEntryImports({
34
29
  entrypoint,
35
30
  imports
36
31
  }) {
37
32
  var _getEntryOptions;
38
-
39
33
  const {
40
34
  entryName
41
35
  } = entrypoint;
@@ -45,7 +39,6 @@ var _default = () => ({
45
39
  } = api.useAppContext();
46
40
  const stateConfig = (_getEntryOptions = (0, _utils.getEntryOptions)(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.state;
47
41
  stateConfigMap.set(entryName, stateConfig);
48
-
49
42
  if (stateConfig) {
50
43
  imports.push({
51
44
  value: '@modern-js/runtime/plugins',
@@ -54,42 +47,34 @@ var _default = () => ({
54
47
  }]
55
48
  });
56
49
  }
57
-
58
50
  return {
59
51
  entrypoint,
60
52
  imports
61
53
  };
62
54
  },
63
-
64
55
  modifyEntryRuntimePlugins({
65
56
  entrypoint,
66
57
  plugins
67
58
  }) {
68
59
  const stateOptions = stateConfigMap.get(entrypoint.entryName);
69
-
70
60
  if (stateOptions) {
71
61
  plugins.push({
72
62
  name: PLUGIN_IDENTIFIER,
73
63
  options: `${JSON.stringify(stateConfigMap.get(entrypoint.entryName))}`
74
64
  });
75
65
  }
76
-
77
66
  return {
78
67
  entrypoint,
79
68
  plugins
80
69
  };
81
70
  },
82
-
83
71
  validateSchema() {
84
72
  return _utils.PLUGIN_SCHEMAS['@modern-js/plugin-state'];
85
73
  },
86
-
87
74
  addRuntimeExports() {
88
75
  pluginsExportsUtils.addExport(`export { default as state } from '@modern-js/runtime/model'`);
89
76
  }
90
-
91
77
  };
92
78
  }
93
79
  });
94
-
95
80
  exports.default = _default;
@@ -18,9 +18,7 @@ Object.defineProperty(exports, "state", {
18
18
  return _runtime.default;
19
19
  }
20
20
  });
21
-
22
21
  var _runtime = _interopRequireWildcard(require("./runtime"));
23
-
24
22
  Object.keys(_runtime).forEach(function (key) {
25
23
  if (key === "default" || key === "__esModule") return;
26
24
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -32,7 +30,5 @@ Object.keys(_runtime).forEach(function (key) {
32
30
  }
33
31
  });
34
32
  });
35
-
36
33
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -11,25 +11,14 @@ Object.defineProperty(exports, "devtools", {
11
11
  }
12
12
  });
13
13
  exports.immer = exports.effects = void 0;
14
-
15
14
  var _pluginEffects = require("@modern-js-reduck/plugin-effects");
16
-
17
15
  var _pluginAutoActions = _interopRequireDefault(require("@modern-js-reduck/plugin-auto-actions"));
18
-
19
16
  var _pluginImmutable = _interopRequireDefault(require("@modern-js-reduck/plugin-immutable"));
20
-
21
17
  var _pluginDevtools = _interopRequireDefault(require("@modern-js-reduck/plugin-devtools"));
22
-
23
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
25
19
  const effects = () => _pluginEffects.plugin;
26
-
27
20
  exports.effects = effects;
28
-
29
21
  const immer = () => _pluginImmutable.default;
30
-
31
22
  exports.immer = immer;
32
-
33
23
  const autoActions = () => _pluginAutoActions.default;
34
-
35
24
  exports.autoActions = autoActions;