@modern-js/runtime 2.39.2 → 2.41.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 (42) hide show
  1. package/dist/cjs/cli/index.js +0 -23
  2. package/dist/cjs/core/loader/loaderManager.js +7 -7
  3. package/dist/cjs/router/cli/index.js +0 -13
  4. package/dist/cjs/ssr/prefetch.js +37 -16
  5. package/dist/cjs/ssr/serverRender/renderToStream/index.js +2 -2
  6. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +3 -3
  7. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +3 -3
  8. package/dist/cjs/ssr/serverRender/renderToString/entry.js +5 -8
  9. package/dist/cjs/ssr/serverRender/renderToString/index.js +0 -5
  10. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +14 -9
  11. package/dist/cjs/ssr/serverRender/tracker.js +33 -28
  12. package/dist/cjs/state/cli/index.js +0 -13
  13. package/dist/esm/cli/index.js +1 -23
  14. package/dist/esm/core/loader/loaderManager.js +7 -7
  15. package/dist/esm/router/cli/index.js +0 -13
  16. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +3 -3
  17. package/dist/esm/ssr/prefetch.js +51 -18
  18. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +6 -6
  19. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +14 -14
  20. package/dist/esm/ssr/serverRender/renderToStream/index.js +2 -2
  21. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +3 -3
  22. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +3 -3
  23. package/dist/esm/ssr/serverRender/renderToString/entry.js +13 -18
  24. package/dist/esm/ssr/serverRender/renderToString/index.js +1 -6
  25. package/dist/esm/ssr/serverRender/renderToString/loadable.js +68 -63
  26. package/dist/esm/ssr/serverRender/tracker.js +31 -27
  27. package/dist/esm/state/cli/index.js +0 -13
  28. package/dist/esm-node/cli/index.js +1 -24
  29. package/dist/esm-node/core/loader/loaderManager.js +7 -7
  30. package/dist/esm-node/router/cli/index.js +0 -13
  31. package/dist/esm-node/ssr/prefetch.js +37 -16
  32. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -2
  33. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +3 -3
  34. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +3 -3
  35. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +5 -8
  36. package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -5
  37. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +14 -9
  38. package/dist/esm-node/ssr/serverRender/tracker.js +33 -28
  39. package/dist/esm-node/state/cli/index.js +0 -13
  40. package/dist/types/ssr/prefetch.d.ts +4 -2
  41. package/dist/types/ssr/serverRender/tracker.d.ts +9 -8
  42. package/package.json +11 -11
@@ -4,33 +4,44 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { renderToStaticMarkup } from "react-dom/server";
5
5
  import { run } from "@modern-js/runtime-utils/node";
6
6
  import { ChunkExtractor } from "@loadable/server";
7
+ import { time } from "@modern-js/runtime-utils/time";
8
+ import { SSRTimings, SSRErrors } from "./serverRender/tracker";
7
9
  var prefetch = function() {
8
- var _ref = _async_to_generator(function(App, context, config) {
10
+ var _ref = _async_to_generator(function(App, context, config, tracker) {
9
11
  return _ts_generator(this, function(_state) {
10
12
  return [
11
13
  2,
12
14
  run(context.ssrContext.request.headers, /* @__PURE__ */ _async_to_generator(function() {
13
- var _context_store, ssrContext, loadableStats, extractor, loadersData;
15
+ var _context_store, ssrContext, loadableStats, end, extractor, cost, error, loadersData, end1, cost1, e, error1;
14
16
  return _ts_generator(this, function(_state2) {
15
17
  switch (_state2.label) {
16
18
  case 0:
17
19
  ssrContext = context.ssrContext;
18
20
  loadableStats = ssrContext.loadableStats;
19
21
  if (!config.disablePrerender) {
20
- if (loadableStats) {
21
- extractor = new ChunkExtractor({
22
- stats: loadableStats,
23
- entrypoints: [
24
- ssrContext.entryName
25
- ].filter(Boolean)
26
- });
27
- renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ _jsx(App, {
28
- context
29
- })));
30
- } else {
31
- renderToStaticMarkup(/* @__PURE__ */ _jsx(App, {
32
- context
33
- }));
22
+ try {
23
+ end = time();
24
+ if (loadableStats) {
25
+ extractor = new ChunkExtractor({
26
+ stats: loadableStats,
27
+ entrypoints: [
28
+ ssrContext.entryName
29
+ ].filter(Boolean)
30
+ });
31
+ renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ _jsx(App, {
32
+ context
33
+ })));
34
+ } else {
35
+ renderToStaticMarkup(/* @__PURE__ */ _jsx(App, {
36
+ context
37
+ }));
38
+ }
39
+ cost = end();
40
+ tracker.trackTiming(SSRTimings.PRERENDER, cost);
41
+ } catch (e2) {
42
+ error = e2;
43
+ tracker.trackError(SSRErrors.PRERENDER, error);
44
+ throw e2;
34
45
  }
35
46
  }
36
47
  if (!context.loaderManager.hasPendingLoaders()) {
@@ -42,12 +53,34 @@ var prefetch = function() {
42
53
  }
43
54
  ];
44
55
  }
56
+ loadersData = {};
57
+ _state2.label = 1;
58
+ case 1:
59
+ _state2.trys.push([
60
+ 1,
61
+ 3,
62
+ ,
63
+ 4
64
+ ]);
65
+ end1 = time();
45
66
  return [
46
67
  4,
47
68
  context.loaderManager.awaitPendingLoaders()
48
69
  ];
49
- case 1:
70
+ case 2:
50
71
  loadersData = _state2.sent();
72
+ cost1 = end1();
73
+ tracker.trackTiming(SSRTimings.USE_LOADER, cost1);
74
+ return [
75
+ 3,
76
+ 4
77
+ ];
78
+ case 3:
79
+ e = _state2.sent();
80
+ error1 = e;
81
+ tracker.trackError(SSRErrors.USE_LOADER, error1);
82
+ throw e;
83
+ case 4:
51
84
  Object.keys(loadersData).forEach(function(id) {
52
85
  var data = loadersData[id];
53
86
  if (data._error) {
@@ -72,7 +105,7 @@ var prefetch = function() {
72
105
  ];
73
106
  });
74
107
  });
75
- return function prefetch2(App, context, config) {
108
+ return function prefetch2(App, context, config, tracker) {
76
109
  return _ref.apply(this, arguments);
77
110
  };
78
111
  }();
@@ -3,7 +3,11 @@ import { serializeJson } from "@modern-js/runtime-utils/node";
3
3
  import { attributesToString } from "../utils";
4
4
  import { buildTemplate } from "./buildTemplate.share";
5
5
  function buildShellAfterTemplate(afterAppTemplate, options) {
6
- var injectSSRDataScript = function injectSSRDataScript2(template) {
6
+ var callbacks = [
7
+ injectSSRDataScript
8
+ ];
9
+ return buildTemplate(afterAppTemplate, callbacks);
10
+ function injectSSRDataScript(template) {
7
11
  var ssrDataScript = buildSSRDataScript();
8
12
  return template.replace("<!--<?- SSRDataScript ?>-->", ssrDataScript);
9
13
  function buildSSRDataScript() {
@@ -36,11 +40,7 @@ function buildShellAfterTemplate(afterAppTemplate, options) {
36
40
  });
37
41
  return "\n <script".concat(attrsStr, ">window._SSR_DATA = ").concat(serializeJson(SSRData), "</script>\n ");
38
42
  }
39
- };
40
- var callbacks = [
41
- injectSSRDataScript
42
- ];
43
- return buildTemplate(afterAppTemplate, callbacks);
43
+ }
44
44
  }
45
45
  export {
46
46
  buildShellAfterTemplate
@@ -6,7 +6,20 @@ import helmetReplace from "../helmet";
6
6
  import { CSS_CHUNKS_PLACEHOLDER } from "../utils";
7
7
  import { HEAD_REG_EXP, buildTemplate } from "./buildTemplate.share";
8
8
  function getHeadTemplate(beforeEntryTemplate, context) {
9
- var injectCss = function injectCss2(headTemplate2) {
9
+ var callbacks = [
10
+ function(headTemplate2) {
11
+ var helmetData = ReactHelmet.renderStatic();
12
+ return helmetData ? helmetReplace(headTemplate2, helmetData) : headTemplate2;
13
+ },
14
+ // @TODO: prefetch scripts of lazy component
15
+ injectCss
16
+ ];
17
+ var _ref = _sliced_to_array(beforeEntryTemplate.match(HEAD_REG_EXP) || [], 1), tmp = _ref[0], headTemplate = tmp === void 0 ? "" : tmp;
18
+ if (!headTemplate.length) {
19
+ return "";
20
+ }
21
+ return buildTemplate(headTemplate, callbacks);
22
+ function injectCss(headTemplate2) {
10
23
  return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
11
24
  function getCssChunks() {
12
25
  var routeManifest = context.routeManifest, routerContext = context.routerContext, routes = context.routes;
@@ -38,20 +51,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
38
51
  });
39
52
  return "".concat(styleLinks.join(""));
40
53
  }
41
- };
42
- var callbacks = [
43
- function(headTemplate2) {
44
- var helmetData = ReactHelmet.renderStatic();
45
- return helmetData ? helmetReplace(headTemplate2, helmetData) : headTemplate2;
46
- },
47
- // @TODO: prefetch scripts of lazy component
48
- injectCss
49
- ];
50
- var _ref = _sliced_to_array(beforeEntryTemplate.match(HEAD_REG_EXP) || [], 1), tmp = _ref[0], headTemplate = tmp === void 0 ? "" : tmp;
51
- if (!headTemplate.length) {
52
- return "";
53
54
  }
54
- return buildTemplate(headTemplate, callbacks);
55
55
  }
56
56
  function buildShellBeforeTemplate(beforeAppTemplate, context) {
57
57
  var headTemplate = getHeadTemplate(beforeAppTemplate, context);
@@ -29,11 +29,11 @@ var render = function(param) {
29
29
  ssrContext.cacheConfig = cacheConfig;
30
30
  }
31
31
  var cost = end();
32
- tracker.trackTiming(SSRTimings.SSR_RENDER_SHELL, cost);
32
+ tracker.trackTiming(SSRTimings.RENDER_SHELL, cost);
33
33
  },
34
34
  onAllReady: function onAllReady() {
35
35
  var cost = end();
36
- tracker.trackTiming(SSRTimings.SSR_RENDER_TOTAL, cost);
36
+ tracker.trackTiming(SSRTimings.RENDER_HTML, cost);
37
37
  },
38
38
  onShellError: function onShellError(e) {
39
39
  tracker.trackError(SSRErrors.RENDER_SHELL, e);
@@ -11,7 +11,7 @@ var ShellChunkStatus;
11
11
  ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 1] = "FINIESH";
12
12
  })(ShellChunkStatus || (ShellChunkStatus = {}));
13
13
  function renderToPipe(rootElement, context, options) {
14
- var shellChunkStatus = ShellChunkStatus.START;
14
+ var shellChunkStatus = 0;
15
15
  var ssrContext = context.ssrContext;
16
16
  var chunkVec = [];
17
17
  var forUserPipe = function(stream) {
@@ -30,12 +30,12 @@ function renderToPipe(rootElement, context, options) {
30
30
  var injectableTransform = new Transform({
31
31
  transform: function transform(chunk, _encoding, callback) {
32
32
  try {
33
- if (shellChunkStatus !== ShellChunkStatus.FINIESH) {
33
+ if (shellChunkStatus !== 1) {
34
34
  chunkVec.push(chunk.toString());
35
35
  var concatedChunk = chunkVec.join("");
36
36
  if (concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
37
37
  concatedChunk = concatedChunk.replace(ESCAPED_SHELL_STREAM_END_MARK, "");
38
- shellChunkStatus = ShellChunkStatus.FINIESH;
38
+ shellChunkStatus = 1;
39
39
  this.push("".concat(shellBefore).concat(concatedChunk).concat(shellAfter));
40
40
  }
41
41
  } else {
@@ -12,7 +12,7 @@ var ShellChunkStatus;
12
12
  ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 1] = "FINIESH";
13
13
  })(ShellChunkStatus || (ShellChunkStatus = {}));
14
14
  function renderToPipe(rootElement, context, options) {
15
- var shellChunkStatus = ShellChunkStatus.START;
15
+ var shellChunkStatus = 0;
16
16
  var chunkVec = [];
17
17
  var ssrContext = context.ssrContext;
18
18
  var forUserPipe = function() {
@@ -70,13 +70,13 @@ function renderToPipe(rootElement, context, options) {
70
70
  2
71
71
  ];
72
72
  }
73
- if (shellChunkStatus !== ShellChunkStatus.FINIESH) {
73
+ if (shellChunkStatus !== 1) {
74
74
  chunk = new TextDecoder().decode(value);
75
75
  chunkVec.push(chunk);
76
76
  concatedChunk = chunkVec.join("");
77
77
  if (concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
78
78
  concatedChunk = concatedChunk.replace(ESCAPED_SHELL_STREAM_END_MARK, "");
79
- shellChunkStatus = ShellChunkStatus.FINIESH;
79
+ shellChunkStatus = 1;
80
80
  controller.enqueue(encodeForWebStream("".concat(shellBefore).concat(concatedChunk).concat(shellAfter)));
81
81
  }
82
82
  } else {
@@ -41,7 +41,8 @@ var buildTemplateData = function(context, data, renderLevel, tracker) {
41
41
  renderLevel
42
42
  };
43
43
  };
44
- var Entry = /* @__PURE__ */ function() {
44
+ var Entry;
45
+ Entry = /* @__PURE__ */ function() {
45
46
  "use strict";
46
47
  function Entry2(options) {
47
48
  _class_call_check(this, Entry2);
@@ -152,41 +153,35 @@ var Entry = /* @__PURE__ */ function() {
152
153
  value: function prefetch1(context) {
153
154
  var _this = this;
154
155
  return _async_to_generator(function() {
155
- var prefetchData, end, prefetchCost, e;
156
+ var prefetchData, e;
156
157
  return _ts_generator(this, function(_state) {
157
158
  switch (_state.label) {
158
159
  case 0:
159
- end = time();
160
- _state.label = 1;
161
- case 1:
162
160
  _state.trys.push([
163
- 1,
164
- 3,
161
+ 0,
162
+ 2,
165
163
  ,
166
- 4
164
+ 3
167
165
  ]);
168
166
  return [
169
167
  4,
170
- prefetch(_this.App, context, _this.pluginConfig)
168
+ prefetch(_this.App, context, _this.pluginConfig, _this.tracker)
171
169
  ];
172
- case 2:
170
+ case 1:
173
171
  prefetchData = _state.sent();
174
172
  _this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
175
- prefetchCost = end();
176
- _this.tracker.trackTiming(SSRTimings.SSR_PREFETCH, prefetchCost);
177
173
  return [
178
174
  3,
179
- 4
175
+ 3
180
176
  ];
181
- case 3:
177
+ case 2:
182
178
  e = _state.sent();
183
179
  _this.result.renderLevel = RenderLevel.CLIENT_RENDER;
184
- _this.tracker.trackError(SSRErrors.PREFETCH, e);
185
180
  return [
186
181
  3,
187
- 4
182
+ 3
188
183
  ];
189
- case 4:
184
+ case 3:
190
185
  return [
191
186
  2,
192
187
  prefetchData || {}
@@ -236,7 +231,7 @@ var Entry = /* @__PURE__ */ function() {
236
231
  case 2:
237
232
  html = _state.sent();
238
233
  cost = end();
239
- _this.tracker.trackTiming(SSRTimings.SSR_RENDER_HTML, cost);
234
+ _this.tracker.trackTiming(SSRTimings.RENDER_HTML, cost);
240
235
  _this.result.renderLevel = RenderLevel.SERVER_RENDER;
241
236
  return [
242
237
  3,
@@ -1,15 +1,13 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { run } from "@modern-js/runtime-utils/node";
4
- import { time } from "@modern-js/runtime-utils/time";
5
4
  import { PreRender } from "../../react/prerender";
6
- import { SSRTimings } from "../tracker";
7
5
  import SSREntry from "./entry";
8
6
  var render = function(param) {
9
7
  var App = param.App, context = param.context, config = param.config;
10
8
  var ssrContext = context.ssrContext;
11
9
  return run(ssrContext.request.headers, /* @__PURE__ */ _async_to_generator(function() {
12
- var entry, end, html, cost, cacheConfig;
10
+ var entry, html, cacheConfig;
13
11
  return _ts_generator(this, function(_state) {
14
12
  switch (_state.label) {
15
13
  case 0:
@@ -19,15 +17,12 @@ var render = function(param) {
19
17
  config
20
18
  });
21
19
  entry.metrics.emitCounter("app.visit.count", 1);
22
- end = time();
23
20
  return [
24
21
  4,
25
22
  entry.renderToHtml(context)
26
23
  ];
27
24
  case 1:
28
25
  html = _state.sent();
29
- cost = end();
30
- entry.tracker.trackTiming(SSRTimings.SSR_RENDER_TOTAL, cost);
31
26
  cacheConfig = PreRender.config();
32
27
  if (cacheConfig) {
33
28
  context.ssrContext.cacheConfig = cacheConfig;
@@ -31,6 +31,36 @@ var checkIsInline = function(chunk, enableInline) {
31
31
  return false;
32
32
  }
33
33
  };
34
+ var readAsset = function() {
35
+ var _ref = _async_to_generator(function(chunk) {
36
+ var fs, path, filepath;
37
+ return _ts_generator(this, function(_state) {
38
+ switch (_state.label) {
39
+ case 0:
40
+ return [
41
+ 4,
42
+ import("fs/promises")
43
+ ];
44
+ case 1:
45
+ fs = _state.sent();
46
+ return [
47
+ 4,
48
+ import("path")
49
+ ];
50
+ case 2:
51
+ path = _state.sent();
52
+ filepath = path.resolve(__dirname, chunk.filename);
53
+ return [
54
+ 2,
55
+ fs.readFile(filepath, "utf-8")
56
+ ];
57
+ }
58
+ });
59
+ });
60
+ return function readAsset2(chunk) {
61
+ return _ref.apply(this, arguments);
62
+ };
63
+ }();
34
64
  var checkIsNode = function() {
35
65
  var _process_release;
36
66
  return typeof process !== "undefined" && ((_process_release = process.release) === null || _process_release === void 0 ? void 0 : _process_release.name) === "node";
@@ -151,40 +181,27 @@ var LoadableCollector = /* @__PURE__ */ function() {
151
181
  return !jsChunkReg.test(template) && !((_this_existsAssets = _this.existsAssets) === null || _this_existsAssets === void 0 ? void 0 : _this_existsAssets.includes(chunk.path));
152
182
  }).map(function() {
153
183
  var _ref = _async_to_generator(function(chunk) {
154
- var fs, filepath;
184
+ var script;
155
185
  return _ts_generator(this, function(_state2) {
156
- switch (_state2.label) {
157
- case 0:
158
- if (!(checkIsInline(chunk, enableInlineScripts) && checkIsNode()))
159
- return [
160
- 3,
161
- 2
162
- ];
163
- return [
164
- 4,
165
- import("node:fs/promises")
166
- ];
167
- case 1:
168
- fs = _state2.sent();
169
- filepath = chunk.path;
170
- return [
171
- 2,
172
- fs.readFile(filepath, "utf-8").then(function(content) {
173
- return "<script>".concat(content, "</script>");
174
- }).catch(function(_) {
175
- return "";
176
- })
177
- ];
178
- case 2:
179
- return [
180
- 2,
181
- "<script".concat(attributes, ' src="').concat(chunk.url, '"></script>')
182
- ];
183
- case 3:
184
- return [
185
- 2
186
- ];
186
+ script = "<script".concat(attributes, ' src="').concat(chunk.url, '"></script>');
187
+ if (checkIsInline(chunk, enableInlineScripts) && checkIsNode()) {
188
+ return [
189
+ 2,
190
+ readAsset(chunk).then(function(content) {
191
+ return "<script>".concat(content, "</script>");
192
+ }).catch(function(_) {
193
+ return script;
194
+ })
195
+ ];
196
+ } else {
197
+ return [
198
+ 2,
199
+ script
200
+ ];
187
201
  }
202
+ return [
203
+ 2
204
+ ];
188
205
  });
189
206
  });
190
207
  return function(chunk) {
@@ -224,39 +241,27 @@ var LoadableCollector = /* @__PURE__ */ function() {
224
241
  return !cssChunkReg.test(template) && !((_this_existsAssets = _this.existsAssets) === null || _this_existsAssets === void 0 ? void 0 : _this_existsAssets.includes(chunk.path));
225
242
  }).map(function() {
226
243
  var _ref = _async_to_generator(function(chunk) {
227
- var fs;
244
+ var link;
228
245
  return _ts_generator(this, function(_state2) {
229
- switch (_state2.label) {
230
- case 0:
231
- if (!(checkIsInline(chunk, enableInlineStyles) && checkIsNode()))
232
- return [
233
- 3,
234
- 2
235
- ];
236
- return [
237
- 4,
238
- import("node:fs/promises")
239
- ];
240
- case 1:
241
- fs = _state2.sent();
242
- return [
243
- 2,
244
- fs.readFile(chunk.path).then(function(content) {
245
- return "<style>".concat(content, "</style>");
246
- }).catch(function(_) {
247
- return "";
248
- })
249
- ];
250
- case 2:
251
- return [
252
- 2,
253
- "<link".concat(atrributes, ' href="').concat(chunk.url, '" rel="stylesheet" />')
254
- ];
255
- case 3:
256
- return [
257
- 2
258
- ];
246
+ link = "<link".concat(atrributes, ' href="').concat(chunk.url, '" rel="stylesheet" />');
247
+ if (checkIsInline(chunk, enableInlineStyles) && checkIsNode()) {
248
+ return [
249
+ 2,
250
+ readAsset(chunk).then(function(content) {
251
+ return "<style>".concat(content, "</style>");
252
+ }).catch(function(_) {
253
+ return link;
254
+ })
255
+ ];
256
+ } else {
257
+ return [
258
+ 2,
259
+ link
260
+ ];
259
261
  }
262
+ return [
263
+ 2
264
+ ];
260
265
  });
261
266
  });
262
267
  return function(chunk) {
@@ -1,52 +1,56 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  var SSRTimings;
3
3
  (function(SSRTimings2) {
4
- SSRTimings2[SSRTimings2["SSR_RENDER_TOTAL"] = 0] = "SSR_RENDER_TOTAL";
5
- SSRTimings2[SSRTimings2["SSR_PREFETCH"] = 1] = "SSR_PREFETCH";
6
- SSRTimings2[SSRTimings2["SSR_RENDER_HTML"] = 2] = "SSR_RENDER_HTML";
7
- SSRTimings2[SSRTimings2["SSR_RENDER_SHELL"] = 3] = "SSR_RENDER_SHELL";
4
+ SSRTimings2[SSRTimings2["PRERENDER"] = 0] = "PRERENDER";
5
+ SSRTimings2[SSRTimings2["RENDER_HTML"] = 1] = "RENDER_HTML";
6
+ SSRTimings2[SSRTimings2["RENDER_SHELL"] = 2] = "RENDER_SHELL";
7
+ SSRTimings2[SSRTimings2["USE_LOADER"] = 3] = "USE_LOADER";
8
8
  })(SSRTimings || (SSRTimings = {}));
9
9
  var SSRErrors;
10
10
  (function(SSRErrors2) {
11
- SSRErrors2[SSRErrors2["PREFETCH"] = 0] = "PREFETCH";
12
- SSRErrors2[SSRErrors2["RENDER_HTML"] = 1] = "RENDER_HTML";
13
- SSRErrors2[SSRErrors2["RENDER_STREAM"] = 2] = "RENDER_STREAM";
14
- SSRErrors2[SSRErrors2["RENDER_SHELL"] = 3] = "RENDER_SHELL";
11
+ SSRErrors2[SSRErrors2["PRERENDER"] = 0] = "PRERENDER";
12
+ SSRErrors2[SSRErrors2["USE_LOADER"] = 1] = "USE_LOADER";
13
+ SSRErrors2[SSRErrors2["RENDER_HTML"] = 2] = "RENDER_HTML";
14
+ SSRErrors2[SSRErrors2["RENDER_STREAM"] = 3] = "RENDER_STREAM";
15
+ SSRErrors2[SSRErrors2["RENDER_SHELL"] = 4] = "RENDER_SHELL";
15
16
  })(SSRErrors || (SSRErrors = {}));
16
17
  var _obj;
17
- var errors = (_obj = {}, _define_property(_obj, SSRErrors.PREFETCH, {
18
- reporter: "SSR Error - App Prefetch Render",
19
- logger: "App Prefetch Render",
20
- metrics: "app.prefetch.render.error"
21
- }), _define_property(_obj, SSRErrors.RENDER_HTML, {
18
+ var errors = (_obj = {}, _define_property(_obj, 0, {
19
+ reporter: "SSR Error - App Prerender",
20
+ logger: "App Prerender",
21
+ metrics: "app.prerender.error"
22
+ }), _define_property(_obj, 1, {
23
+ reporter: "SSR Error - App run useLoader",
24
+ logger: "App run useLoader",
25
+ metrics: "app.useloader.error"
26
+ }), _define_property(_obj, 2, {
22
27
  reporter: "SSR Error - App Render To HTML",
23
28
  logger: "App Render To HTML",
24
29
  metrics: "app.render.html.error"
25
- }), _define_property(_obj, SSRErrors.RENDER_STREAM, {
30
+ }), _define_property(_obj, 3, {
26
31
  reporter: "SSR Error - App Render To Streaming",
27
32
  logger: "An error occurs during streaming SSR",
28
33
  metrics: "app.render.streaming.error"
29
- }), _define_property(_obj, SSRErrors.RENDER_SHELL, {
34
+ }), _define_property(_obj, 4, {
30
35
  metrics: "app.render.streaming.shell.error"
31
36
  }), _obj);
32
37
  var _obj1;
33
- var timings = (_obj1 = {}, _define_property(_obj1, SSRTimings.SSR_PREFETCH, {
34
- reporter: "ssr-prefetch",
35
- serverTiming: "ssr-prefetch",
36
- metrics: "app.prefeth.cost",
37
- logger: "App Prefetch cost = %d ms"
38
- }), _define_property(_obj1, SSRTimings.SSR_RENDER_HTML, {
38
+ var timings = (_obj1 = {}, _define_property(_obj1, 0, {
39
+ reporter: "ssr-prerender",
40
+ serverTiming: "ssr-prerender",
41
+ metrics: "app.prerender.cost",
42
+ logger: "App Prerender cost = %d ms"
43
+ }), _define_property(_obj1, 1, {
39
44
  reporter: "ssr-render-html",
40
45
  serverTiming: "ssr-render-html",
41
46
  metrics: "app.render.html.cost",
42
47
  logger: "App Render To HTML cost = %d ms"
43
- }), _define_property(_obj1, SSRTimings.SSR_RENDER_TOTAL, {
44
- reporter: "ssr-render-total",
45
- serverTiming: "ssr-render-total",
46
- metrics: "app.render.cost",
47
- logger: "App Render Total cost = %d ms"
48
- }), _define_property(_obj1, SSRTimings.SSR_RENDER_SHELL, {
48
+ }), _define_property(_obj1, 2, {
49
49
  reporter: "ssr-render-shell"
50
+ }), _define_property(_obj1, 3, {
51
+ reporter: "use-loader",
52
+ serverTiming: "use-loader",
53
+ logger: "App run useLoader cost = %d ms"
50
54
  }), _obj1);
51
55
  function createSSRTracker(param) {
52
56
  var reporter = param.reporter, serverTiming = param.serverTiming, metrics = param.metrics, logger = param.logger;
@@ -58,19 +58,6 @@ var statePlugin = function() {
58
58
  plugins
59
59
  };
60
60
  },
61
- validateSchema: function validateSchema() {
62
- return [
63
- {
64
- target: "runtime.state",
65
- schema: {
66
- type: [
67
- "boolean",
68
- "object"
69
- ]
70
- }
71
- }
72
- ];
73
- },
74
61
  addRuntimeExports: function addRuntimeExports() {
75
62
  pluginsExportsUtils.addExport("export { default as state } from '@modern-js/runtime/model'");
76
63
  }
@@ -1,5 +1,5 @@
1
1
  import path from "path";
2
- import { isReact18, cleanRequireCache, ENTRY_NAME_PATTERN } from "@modern-js/utils";
2
+ import { isReact18, cleanRequireCache } from "@modern-js/utils";
3
3
  import { statePlugin } from "../state/cli";
4
4
  import { ssrPlugin } from "../ssr/cli";
5
5
  import { routerPlugin } from "../router/cli";
@@ -51,29 +51,6 @@ const runtimePlugin = () => ({
51
51
  }
52
52
  };
53
53
  },
54
- validateSchema() {
55
- return [
56
- {
57
- target: "runtime",
58
- schema: {
59
- type: "object",
60
- additionalProperties: false
61
- }
62
- },
63
- {
64
- target: "runtimeByEntries",
65
- schema: {
66
- type: "object",
67
- patternProperties: {
68
- [ENTRY_NAME_PATTERN]: {
69
- type: "object"
70
- }
71
- },
72
- additionalProperties: false
73
- }
74
- }
75
- ];
76
- },
77
54
  async beforeRestart() {
78
55
  cleanRequireCache([
79
56
  require.resolve("../state/cli"),