@modern-js/runtime 2.3.1-alpha.0 → 2.4.1-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 (105) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -18
  3. package/dist/js/modern/core/compatible.js +1 -0
  4. package/dist/js/modern/document/Body.js +2 -2
  5. package/dist/js/modern/document/{DocumentStructrueContext.js → DocumentStructureContext.js} +2 -2
  6. package/dist/js/modern/document/Head.js +2 -2
  7. package/dist/js/modern/document/Html.js +2 -2
  8. package/dist/js/modern/document/index.js +1 -1
  9. package/dist/js/modern/router/runtime/fetch.js +5 -0
  10. package/dist/js/modern/router/runtime/fetch.node.js +4 -0
  11. package/dist/js/modern/router/runtime/fetch.worker.js +5 -0
  12. package/dist/js/modern/router/runtime/plugin.node.js +50 -22
  13. package/dist/js/modern/ssr/cli/index.js +2 -2
  14. package/dist/js/modern/ssr/prefetch.worker.js +66 -0
  15. package/dist/js/modern/ssr/react/nossr/index.js +6 -2
  16. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +1 -1
  17. package/dist/js/modern/ssr/serverRender/renderToStream/index.worker.js +35 -0
  18. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +5 -3
  19. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.worker.js +110 -0
  20. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +6 -7
  21. package/dist/js/modern/ssr/serverRender/renderToString/index.js +1 -1
  22. package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +49 -0
  23. package/dist/js/modern/ssr/serverRender/time.js +13 -0
  24. package/dist/js/modern/ssr/serverRender/time.worker.js +28 -0
  25. package/dist/js/modern/ssr/serverRender/utils.js +1 -12
  26. package/dist/js/node/core/compatible.js +1 -0
  27. package/dist/js/node/document/Body.js +2 -2
  28. package/dist/js/node/document/{DocumentStructrueContext.js → DocumentStructureContext.js} +6 -6
  29. package/dist/js/node/document/Head.js +2 -2
  30. package/dist/js/node/document/Html.js +2 -2
  31. package/dist/js/node/document/index.js +1 -1
  32. package/dist/js/node/router/runtime/fetch.js +28 -0
  33. package/dist/js/node/router/runtime/fetch.node.js +27 -0
  34. package/dist/js/node/router/runtime/fetch.worker.js +28 -0
  35. package/dist/js/node/router/runtime/plugin.node.js +46 -21
  36. package/dist/js/node/ssr/cli/index.js +2 -2
  37. package/dist/js/node/ssr/prefetch.worker.js +87 -0
  38. package/dist/js/node/ssr/react/nossr/index.js +6 -2
  39. package/dist/js/node/ssr/serverRender/renderToStream/index.js +2 -2
  40. package/dist/js/node/ssr/serverRender/renderToStream/index.worker.js +64 -0
  41. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +6 -2
  42. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.worker.js +129 -0
  43. package/dist/js/node/ssr/serverRender/renderToString/entry.js +8 -9
  44. package/dist/js/node/ssr/serverRender/renderToString/index.js +2 -2
  45. package/dist/js/node/ssr/serverRender/renderToString/index.worker.js +78 -0
  46. package/dist/js/node/ssr/serverRender/time.js +36 -0
  47. package/dist/js/node/ssr/serverRender/time.worker.js +51 -0
  48. package/dist/js/node/ssr/serverRender/utils.js +2 -14
  49. package/dist/js/treeshaking/core/compatible.js +8 -7
  50. package/dist/js/treeshaking/core/loader/loaderManager.js +3 -3
  51. package/dist/js/treeshaking/core/loader/useLoader.js +15 -15
  52. package/dist/js/treeshaking/document/Body.js +2 -2
  53. package/dist/js/treeshaking/document/{DocumentStructrueContext.js → DocumentStructureContext.js} +2 -2
  54. package/dist/js/treeshaking/document/Head.js +2 -2
  55. package/dist/js/treeshaking/document/Html.js +4 -4
  56. package/dist/js/treeshaking/document/Root.js +2 -2
  57. package/dist/js/treeshaking/document/cli/index.js +4 -4
  58. package/dist/js/treeshaking/document/index.js +1 -1
  59. package/dist/js/treeshaking/router/cli/index.js +2 -2
  60. package/dist/js/treeshaking/router/runtime/fetch.js +2 -0
  61. package/dist/js/treeshaking/router/runtime/fetch.node.js +2 -0
  62. package/dist/js/treeshaking/router/runtime/fetch.worker.js +2 -0
  63. package/dist/js/treeshaking/router/runtime/plugin.js +3 -3
  64. package/dist/js/treeshaking/router/runtime/plugin.node.js +70 -22
  65. package/dist/js/treeshaking/router/runtime/utils.js +3 -3
  66. package/dist/js/treeshaking/ssr/cli/index.js +5 -5
  67. package/dist/js/treeshaking/ssr/index.js +6 -6
  68. package/dist/js/treeshaking/ssr/index.node.js +1 -1
  69. package/dist/js/treeshaking/ssr/prefetch.js +2 -2
  70. package/dist/js/treeshaking/ssr/prefetch.worker.js +191 -0
  71. package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -3
  72. package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -2
  73. package/dist/js/treeshaking/ssr/react/prerender/util.js +2 -2
  74. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +2 -2
  75. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +1 -1
  76. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.worker.js +32 -0
  77. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +1 -1
  78. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +12 -9
  79. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.worker.js +280 -0
  80. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +1 -1
  81. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +6 -8
  82. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +1 -1
  83. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.worker.js +167 -0
  84. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +1 -1
  85. package/dist/js/treeshaking/ssr/serverRender/time.js +57 -0
  86. package/dist/js/treeshaking/ssr/serverRender/time.worker.js +75 -0
  87. package/dist/js/treeshaking/ssr/serverRender/utils.js +1 -57
  88. package/dist/js/treeshaking/ssr/utils.js +5 -5
  89. package/dist/js/treeshaking/state/cli/index.js +2 -2
  90. package/dist/js/treeshaking/state/runtime/plugin.js +3 -3
  91. package/dist/types/document/{DocumentStructrueContext.d.ts → DocumentStructureContext.d.ts} +2 -2
  92. package/dist/types/document/index.d.ts +1 -1
  93. package/dist/types/router/runtime/fetch.d.ts +2 -0
  94. package/dist/types/router/runtime/fetch.node.d.ts +2 -0
  95. package/dist/types/router/runtime/fetch.worker.d.ts +2 -0
  96. package/dist/types/ssr/prefetch.worker.d.ts +13 -0
  97. package/dist/types/ssr/react/nossr/index.d.ts +4 -2
  98. package/dist/types/ssr/serverRender/renderToStream/index.worker.d.ts +6 -0
  99. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +1 -1
  100. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +8 -0
  101. package/dist/types/ssr/serverRender/renderToString/index.worker.d.ts +6 -0
  102. package/dist/types/ssr/serverRender/time.d.ts +1 -0
  103. package/dist/types/ssr/serverRender/time.worker.d.ts +1 -0
  104. package/dist/types/ssr/serverRender/utils.d.ts +2 -3
  105. package/package.json +35 -22
@@ -0,0 +1,129 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var __async = (__this, __arguments, generator) => {
36
+ return new Promise((resolve, reject) => {
37
+ var fulfilled = (value) => {
38
+ try {
39
+ step(generator.next(value));
40
+ } catch (e) {
41
+ reject(e);
42
+ }
43
+ };
44
+ var rejected = (value) => {
45
+ try {
46
+ step(generator.throw(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
52
+ step((generator = generator.apply(__this, __arguments)).next());
53
+ });
54
+ };
55
+ var renderToPipe_worker_exports = {};
56
+ __export(renderToPipe_worker_exports, {
57
+ default: () => renderToPipe_worker_default
58
+ });
59
+ module.exports = __toCommonJS(renderToPipe_worker_exports);
60
+ var import_types = require("../types");
61
+ var import_template = require("./template");
62
+ function renderToPipe(rootElement, context, options) {
63
+ let isShellStream = true;
64
+ const { ssrContext } = context;
65
+ const forUserPipe = (stream) => __async(this, null, function* () {
66
+ let renderToReadableStream;
67
+ try {
68
+ ({ renderToReadableStream } = require("react-dom/server"));
69
+ } catch (e) {
70
+ }
71
+ const { shellAfter, shellBefore } = (0, import_template.getTemplates)(
72
+ context,
73
+ import_types.RenderLevel.SERVER_RENDER
74
+ );
75
+ try {
76
+ let _a;
77
+ const readableOriginal = yield renderToReadableStream(rootElement, __spreadProps(__spreadValues({}, options), {
78
+ onError(error) {
79
+ var _a2;
80
+ ssrContext.logger.error(
81
+ "An error occurs during streaming SSR",
82
+ error
83
+ );
84
+ ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
85
+ (_a2 = options == null ? void 0 : options.onError) == null ? void 0 : _a2.call(options, error);
86
+ }
87
+ }));
88
+ const reader = readableOriginal.getReader();
89
+ const injectableStream = new ReadableStream({
90
+ start(controller) {
91
+ return __async(this, null, function* () {
92
+ const { value } = yield reader.read();
93
+ if (isShellStream) {
94
+ controller.enqueue(encodeForWebStream(shellBefore));
95
+ controller.enqueue(value);
96
+ controller.enqueue(encodeForWebStream(shellAfter));
97
+ isShellStream = false;
98
+ } else {
99
+ controller.enqueue(value);
100
+ }
101
+ });
102
+ }
103
+ });
104
+ return readableOriginal(injectableStream).readableOriginal(stream);
105
+ } catch (err) {
106
+ ssrContext.metrics.emitCounter("app.render.streaming.shell.error", 1);
107
+ const { shellAfter: shellAfter2, shellBefore: shellBefore2 } = (0, import_template.getTemplates)(
108
+ context,
109
+ import_types.RenderLevel.CLIENT_RENDER
110
+ );
111
+ const fallbackHtml = `${shellBefore2}${shellAfter2}`;
112
+ return fallbackHtml;
113
+ }
114
+ });
115
+ return forUserPipe;
116
+ }
117
+ let encoder;
118
+ function encodeForWebStream(thing) {
119
+ if (!encoder) {
120
+ encoder = new TextEncoder();
121
+ }
122
+ if (typeof thing === "string") {
123
+ return encoder.encode(thing);
124
+ }
125
+ return thing;
126
+ }
127
+ var renderToPipe_worker_default = renderToPipe;
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {});
@@ -52,7 +52,7 @@ var import_serialize_javascript = __toESM(require("serialize-javascript"));
52
52
  var import_react_helmet = __toESM(require("react-helmet"));
53
53
  var import_helmet = __toESM(require("../helmet"));
54
54
  var import_types = require("../types");
55
- var import_utils = require("../utils");
55
+ var import_time = require("../time");
56
56
  var import_prefetch = __toESM(require("../../prefetch"));
57
57
  var import_template = require("./template");
58
58
  var import_reduce = require("./reduce");
@@ -102,18 +102,19 @@ class Entry {
102
102
  }
103
103
  renderToHtml(context) {
104
104
  return __async(this, null, function* () {
105
+ var _a, _b, _c;
105
106
  const ssrContext = context.ssrContext;
106
- if (ssrContext.redirection.url) {
107
+ if ((_a = ssrContext.redirection) == null ? void 0 : _a.url) {
107
108
  return "";
108
109
  }
109
110
  const prefetchData = yield this.prefetch(context);
110
- if (ssrContext.redirection.url) {
111
+ if ((_b = ssrContext.redirection) == null ? void 0 : _b.url) {
111
112
  return "";
112
113
  }
113
114
  if (this.result.renderLevel >= import_types.RenderLevel.SERVER_PREFETCH) {
114
115
  this.result.html = this.renderToString(context);
115
116
  }
116
- if (ssrContext.redirection.url) {
117
+ if ((_c = ssrContext.redirection) == null ? void 0 : _c.url) {
117
118
  return "";
118
119
  }
119
120
  let html = "";
@@ -127,9 +128,7 @@ class Entry {
127
128
  if (fragment.isVariable && fragment.content === "SSRDataScript") {
128
129
  html += fragment.getValue(SSRData);
129
130
  } else {
130
- let value = fragment.getValue(this.result);
131
- value = value.replace(/\\\\\\u/g, `u`);
132
- html += value;
131
+ html += fragment.getValue(this.result);
133
132
  }
134
133
  }
135
134
  const helmetData = import_react_helmet.default.renderStatic();
@@ -139,7 +138,7 @@ class Entry {
139
138
  prefetch(context) {
140
139
  return __async(this, null, function* () {
141
140
  let prefetchData;
142
- const end = (0, import_utils.time)();
141
+ const end = (0, import_time.time)();
143
142
  try {
144
143
  prefetchData = yield (0, import_prefetch.default)(this.App, context);
145
144
  this.result.renderLevel = import_types.RenderLevel.SERVER_PREFETCH;
@@ -156,7 +155,7 @@ class Entry {
156
155
  }
157
156
  renderToString(context) {
158
157
  let html = "";
159
- const end = (0, import_utils.time)();
158
+ const end = (0, import_time.time)();
160
159
  const { ssrContext } = context;
161
160
  try {
162
161
  const App = import_react.default.createElement(this.App, {
@@ -48,7 +48,7 @@ __export(renderToString_exports, {
48
48
  module.exports = __toCommonJS(renderToString_exports);
49
49
  var import_ssr = require("@modern-js/utils/ssr");
50
50
  var import_prerender = require("../../react/prerender");
51
- var import_utils = require("../utils");
51
+ var import_time = require("../time");
52
52
  var import_entry = __toESM(require("./entry"));
53
53
  const render = ({
54
54
  App,
@@ -63,7 +63,7 @@ const render = ({
63
63
  config
64
64
  });
65
65
  entry.metrics.emitCounter("app.visit.count", 1);
66
- const end = (0, import_utils.time)();
66
+ const end = (0, import_time.time)();
67
67
  const html = yield entry.renderToHtml(context);
68
68
  const cost = end();
69
69
  entry.logger.info("App Render Total cost = %d ms", cost);
@@ -0,0 +1,78 @@
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 index_worker_exports = {};
45
+ __export(index_worker_exports, {
46
+ render: () => render
47
+ });
48
+ module.exports = __toCommonJS(index_worker_exports);
49
+ var import_prerender = require("../../react/prerender");
50
+ var import_time = require("../time");
51
+ var import_entry = __toESM(require("./entry"));
52
+ const render = (_0) => __async(void 0, [_0], function* ({
53
+ App,
54
+ context,
55
+ config
56
+ }) {
57
+ const ssrContext = context.ssrContext;
58
+ const entry = new import_entry.default({
59
+ ctx: ssrContext,
60
+ App,
61
+ config
62
+ });
63
+ entry.metrics.emitCounter("app.visit.count", 1);
64
+ const end = (0, import_time.time)();
65
+ const html = yield entry.renderToHtml(context);
66
+ const cost = end();
67
+ entry.logger.info("App Render Total cost = %d ms", cost);
68
+ entry.metrics.emitTimer("app.render.cost", cost);
69
+ const cacheConfig = import_prerender.PreRender.config();
70
+ if (cacheConfig) {
71
+ context.ssrContext.cacheConfig = cacheConfig;
72
+ }
73
+ return html;
74
+ });
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ render
78
+ });
@@ -0,0 +1,36 @@
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 time_exports = {};
19
+ __export(time_exports, {
20
+ time: () => time
21
+ });
22
+ module.exports = __toCommonJS(time_exports);
23
+ const getLatency = (hrtime) => {
24
+ const [s, ns] = process.hrtime(hrtime);
25
+ return s * 1e3 + ns / 1e6;
26
+ };
27
+ const time = () => {
28
+ const hrtime = process.hrtime();
29
+ return () => {
30
+ return getLatency(hrtime);
31
+ };
32
+ };
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ time
36
+ });
@@ -0,0 +1,51 @@
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 time_worker_exports = {};
19
+ __export(time_worker_exports, {
20
+ time: () => time
21
+ });
22
+ module.exports = __toCommonJS(time_worker_exports);
23
+ function processHrtime(previousTimestamp) {
24
+ const now = new Date().getTime();
25
+ const clocktime = now * 1e-3;
26
+ let seconds = Math.floor(clocktime);
27
+ let nanoseconds = Math.floor(clocktime % 1 * 1e9);
28
+ if (previousTimestamp) {
29
+ seconds -= previousTimestamp[0];
30
+ nanoseconds -= previousTimestamp[1];
31
+ if (nanoseconds < 0) {
32
+ seconds--;
33
+ nanoseconds += 1e9;
34
+ }
35
+ }
36
+ return [seconds, nanoseconds];
37
+ }
38
+ const getLatency = (hrtime) => {
39
+ const [s, ns] = processHrtime(hrtime);
40
+ return s * 1e3 + ns / 1e6;
41
+ };
42
+ const time = () => {
43
+ const hrtime = processHrtime();
44
+ return () => {
45
+ return getLatency(hrtime);
46
+ };
47
+ };
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ time
51
+ });
@@ -17,8 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var utils_exports = {};
19
19
  __export(utils_exports, {
20
- getLoadableScripts: () => getLoadableScripts,
21
- time: () => time
20
+ getLoadableScripts: () => getLoadableScripts
22
21
  });
23
22
  module.exports = __toCommonJS(utils_exports);
24
23
  function getLoadableScripts(extractor) {
@@ -29,18 +28,7 @@ function getLoadableScripts(extractor) {
29
28
  }
30
29
  return scripts.split("<\/script>").slice(0, 2).map((i) => `${i}<\/script>`).join("");
31
30
  }
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
31
  // Annotate the CommonJS export names for ESM import in node:
43
32
  0 && (module.exports = {
44
- getLoadableScripts,
45
- time
33
+ getLoadableScripts
46
34
  });
@@ -270,8 +270,8 @@ var createApp = function(param) {
270
270
  }, {
271
271
  onLast: function(param) {
272
272
  var context1 = param.context;
273
- var ref;
274
- return App2 === null || App2 === void 0 ? void 0 : (ref = App2.init) === null || ref === void 0 ? void 0 : ref.call(App2, context1);
273
+ var _App2_init;
274
+ return App2 === null || App2 === void 0 ? void 0 : (_App2_init = App2.init) === null || _App2_init === void 0 ? void 0 : _App2_init.call(App2, context1);
275
275
  }
276
276
  });
277
277
  }
@@ -289,7 +289,7 @@ var createApp = function(param) {
289
289
  };
290
290
  var bootstrap = function() {
291
291
  var _ref = _asyncToGenerator(function(BootApp, id, root, ReactDOM) {
292
- var App, runner, context, runInit, isBrowser, ref, ref1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1;
292
+ var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1;
293
293
  return __generator(this, function(_state) {
294
294
  switch(_state.label){
295
295
  case 0:
@@ -308,8 +308,8 @@ var bootstrap = function() {
308
308
  }, {
309
309
  onLast: function(param) {
310
310
  var context1 = param.context;
311
- var ref;
312
- return App === null || App === void 0 ? void 0 : (ref = App.init) === null || ref === void 0 ? void 0 : ref.call(App, context1);
311
+ var _App_init;
312
+ return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
313
313
  }
314
314
  });
315
315
  };
@@ -331,7 +331,7 @@ var bootstrap = function() {
331
331
  2
332
332
  ];
333
333
  ssrData = window._SSR_DATA;
334
- loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (ref = ssrData.data) === null || ref === void 0 ? void 0 : ref.loadersData) || {};
334
+ loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
335
335
  initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
336
336
  var loaderData = loadersData[key];
337
337
  if (loaderData.loading !== false) {
@@ -347,7 +347,7 @@ var bootstrap = function() {
347
347
  }, ssrData ? {
348
348
  ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
349
349
  } : {}));
350
- context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (ref1 = ssrData.data) === null || ref1 === void 0 ? void 0 : ref1.initialData;
350
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
351
351
  return [
352
352
  4,
353
353
  runInit(context)
@@ -430,6 +430,7 @@ var bootstrap = function() {
430
430
  if (ssrContext) {
431
431
  ssrContext.res.statusCode = status;
432
432
  ssrContext.res.setHeader("Location", redirectUrl);
433
+ ssrContext.redirection = ssrContext.redirection || {};
433
434
  ssrContext.redirection.status = status;
434
435
  ssrContext.redirection.url = redirectUrl;
435
436
  }
@@ -293,7 +293,7 @@ var createLoader = function(id) {
293
293
  };
294
294
  var createLoaderManager = function(initialDataMap) {
295
295
  var managerOptions = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
296
- var _skipStatic = managerOptions.skipStatic, skipStatic = _skipStatic === void 0 ? false : _skipStatic, _skipNonStatic = managerOptions.skipNonStatic, skipNonStatic = _skipNonStatic === void 0 ? false : _skipNonStatic;
296
+ var _managerOptions_skipStatic = managerOptions.skipStatic, skipStatic = _managerOptions_skipStatic === void 0 ? false : _managerOptions_skipStatic, _managerOptions_skipNonStatic = managerOptions.skipNonStatic, skipNonStatic = _managerOptions_skipNonStatic === void 0 ? false : _managerOptions_skipNonStatic;
297
297
  var loadersMap = /* @__PURE__ */ new Map();
298
298
  var getId = createGetId();
299
299
  var add = function(loaderFn, loaderOptions) {
@@ -342,7 +342,7 @@ var createLoaderManager = function(initialDataMap) {
342
342
  };
343
343
  var awaitPendingLoaders = function() {
344
344
  var _ref = _asyncToGenerator(function() {
345
- var pendingLoaders, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, id, loader, promise;
345
+ var pendingLoaders, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, id, loader, promise;
346
346
  return __generator(this, function(_state) {
347
347
  switch(_state.label){
348
348
  case 0:
@@ -350,7 +350,7 @@ var createLoaderManager = function(initialDataMap) {
350
350
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
351
351
  try {
352
352
  for(_iterator = loadersMap[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
353
- _value = _slicedToArray(_step.value, 2), id = _value[0], loader = _value[1];
353
+ _step_value = _slicedToArray(_step.value, 2), id = _step_value[0], loader = _step_value[1];
354
354
  promise = loader.promise;
355
355
  if (_instanceof(promise, Promise)) {
356
356
  pendingLoaders.push([
@@ -120,10 +120,10 @@ var useLoader = function(loaderFn) {
120
120
  delete options._cache;
121
121
  }
122
122
  var load = useCallback(function(params) {
123
- var ref, ref1, ref2, ref3, ref4;
123
+ var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA, _window__SSR_DATA_data, _loaderRef_current;
124
124
  if (typeof params === "undefined") {
125
- var ref5;
126
- return (ref5 = loaderRef.current) === null || ref5 === void 0 ? void 0 : ref5.load();
125
+ var _loaderRef_current1;
126
+ return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
127
127
  }
128
128
  var id = loaderManager.add(function() {
129
129
  try {
@@ -139,26 +139,26 @@ var useLoader = function(loaderFn) {
139
139
  params: params
140
140
  }));
141
141
  loaderRef.current = loaderManager.get(id);
142
- (ref = unlistenLoaderChangeRef.current) === null || ref === void 0 ? void 0 : ref.call(unlistenLoaderChangeRef);
142
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
143
143
  if (isSSRRender) {
144
144
  return void 0;
145
145
  }
146
146
  if (options.skip) {
147
147
  return void 0;
148
148
  }
149
- if (context._hydration && ((ref3 = window === null || window === void 0 ? void 0 : (ref1 = window._SSR_DATA) === null || ref1 === void 0 ? void 0 : (ref2 = ref1.data) === null || ref2 === void 0 ? void 0 : ref2.loadersData[id]) === null || ref3 === void 0 ? void 0 : ref3.error) === null) {
149
+ if (context._hydration && ((_window__SSR_DATA_data_loadersData_id = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : _window__SSR_DATA_data.loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
150
150
  return void 0;
151
151
  }
152
152
  var res = loaderRef.current.load();
153
- unlistenLoaderChangeRef.current = (ref4 = loaderRef.current) === null || ref4 === void 0 ? void 0 : ref4.onChange(function(_status, _result) {
153
+ unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange(function(_status, _result) {
154
154
  setResult(_result);
155
155
  if (_status === LoaderStatus.fulfilled) {
156
- var ref;
157
- options === null || options === void 0 ? void 0 : (ref = options.onSuccess) === null || ref === void 0 ? void 0 : ref.call(options, _result.data);
156
+ var _options_onSuccess;
157
+ options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
158
158
  }
159
159
  if (_status === LoaderStatus.rejected) {
160
- var ref1;
161
- options === null || options === void 0 ? void 0 : (ref1 = options.onError) === null || ref1 === void 0 ? void 0 : ref1.call(options, _result.error);
160
+ var _options_onError;
161
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
162
162
  }
163
163
  });
164
164
  return res;
@@ -167,19 +167,19 @@ var useLoader = function(loaderFn) {
167
167
  ]);
168
168
  useEffect(function() {
169
169
  return function() {
170
- var ref;
171
- (ref = unlistenLoaderChangeRef.current) === null || ref === void 0 ? void 0 : ref.call(unlistenLoaderChangeRef);
170
+ var _unlistenLoaderChangeRef_current;
171
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
172
172
  };
173
173
  }, []);
174
174
  useMemo(function() {
175
- var _params;
176
- var p = (_params = options.params) !== null && _params !== void 0 ? _params : loaderFn.id;
175
+ var _options_params;
176
+ var p = (_options_params = options.params) !== null && _options_params !== void 0 ? _options_params : loaderFn.id;
177
177
  invariant(typeof p !== "undefined" && p !== null, "Params is required in useLoader");
178
178
  load(p);
179
179
  }, [
180
180
  options.params
181
181
  ]);
182
- var ref = _slicedToArray(useState(loaderRef.current.result), 2), result = ref[0], setResult = ref[1];
182
+ var _useState = _slicedToArray(useState(loaderRef.current.result), 2), result = _useState[0], setResult = _useState[1];
183
183
  return _objectSpreadProps(_objectSpread({}, result), {
184
184
  reload: load
185
185
  });
@@ -1,10 +1,10 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
3
  import { DOCUMENT_CHUNKSMAP_PLACEHOLDER, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER } from "./constants";
4
- import { DocumentStructrueContext } from "./DocumentStructrueContext";
4
+ import { DocumentStructureContext } from "./DocumentStructureContext";
5
5
  import { DefaultRoot } from "./Root";
6
6
  function Body(props) {
7
- var hasSetRoot = useContext(DocumentStructrueContext).hasSetRoot;
7
+ var hasSetRoot = useContext(DocumentStructureContext).hasSetRoot;
8
8
  var children = props.children;
9
9
  return /* @__PURE__ */ jsxs("body", {
10
10
  children: [
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- var DocumentStructrueContext = React.createContext({
2
+ var DocumentStructureContext = React.createContext({
3
3
  hasSetHead: false,
4
4
  hasSetScripts: false,
5
5
  hasSetBody: false,
6
6
  hasSetRoot: false,
7
7
  hasSetLinks: false
8
8
  });
9
- export { DocumentStructrueContext };
9
+ export { DocumentStructureContext };
@@ -1,11 +1,11 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
- import { DocumentStructrueContext } from "./DocumentStructrueContext";
3
+ import { DocumentStructureContext } from "./DocumentStructureContext";
4
4
  import { Scripts } from "./Scripts";
5
5
  import { Links } from "./Links";
6
6
  import { DOCUMENT_META_PLACEHOLDER } from "./constants";
7
7
  function Head(props) {
8
- var ref = useContext(DocumentStructrueContext), hasSetScripts = ref.hasSetScripts, hasSetLinks = ref.hasSetLinks;
8
+ var _useContext = useContext(DocumentStructureContext), hasSetScripts = _useContext.hasSetScripts, hasSetLinks = _useContext.hasSetLinks;
9
9
  var children = props.children;
10
10
  return /* @__PURE__ */ jsxs("head", {
11
11
  children: [
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Body } from "./Body";
3
- import { DocumentStructrueContext } from "./DocumentStructrueContext";
3
+ import { DocumentStructureContext } from "./DocumentStructureContext";
4
4
  import { Head } from "./Head";
5
5
  function findTargetChild(tag, children) {
6
6
  return children.find(function(item) {
@@ -19,11 +19,11 @@ function findTargetElement(tag, children) {
19
19
  try {
20
20
  for(var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
21
21
  var item = _step.value;
22
- var ref;
22
+ var _item_props;
23
23
  if (tag === getEleType(item)) {
24
24
  return item;
25
25
  }
26
- if (item === null || item === void 0 ? void 0 : (ref = item.props) === null || ref === void 0 ? void 0 : ref.children) {
26
+ if (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
27
27
  nextChildren = nextChildren.concat(item.props.children);
28
28
  }
29
29
  }
@@ -79,7 +79,7 @@ function Html(props) {
79
79
  });
80
80
  }
81
81
  return /* @__PURE__ */ jsx("html", {
82
- children: /* @__PURE__ */ jsxs(DocumentStructrueContext.Provider, {
82
+ children: /* @__PURE__ */ jsxs(DocumentStructureContext.Provider, {
83
83
  value: {
84
84
  hasSetHead: hasSetHead,
85
85
  hasSetScripts: hasSetScripts,
@@ -4,7 +4,7 @@ import { DocumentContext } from "./DocumentContext";
4
4
  import { DOCUMENT_SSR_PLACEHOLDER } from "./constants";
5
5
  function Root(props) {
6
6
  var rootId = props.rootId, children = props.children;
7
- var ref = useContext(DocumentContext), _templateParams = ref.templateParams, _mountId = _templateParams.mountId, mountId = _mountId === void 0 ? "root" : _mountId;
7
+ var _useContext = useContext(DocumentContext), _useContext_templateParams = _useContext.templateParams, _useContext_templateParams_mountId = _useContext_templateParams.mountId, mountId = _useContext_templateParams_mountId === void 0 ? "root" : _useContext_templateParams_mountId;
8
8
  return /* @__PURE__ */ jsxs("div", {
9
9
  id: "".concat(rootId || mountId),
10
10
  children: [
@@ -14,7 +14,7 @@ function Root(props) {
14
14
  });
15
15
  }
16
16
  function DefaultRoot(props) {
17
- var ref = useContext(DocumentContext), _templateParams = ref.templateParams, _mountId = _templateParams.mountId, mountId = _mountId === void 0 ? "root" : _mountId;
17
+ var _useContext = useContext(DocumentContext), _useContext_templateParams = _useContext.templateParams, _useContext_templateParams_mountId = _useContext_templateParams.mountId, mountId = _useContext_templateParams_mountId === void 0 ? "root" : _useContext_templateParams_mountId;
18
18
  return /* @__PURE__ */ jsxs("div", {
19
19
  id: "".concat(mountId),
20
20
  children: [