@modern-js/server-core 2.48.6 → 2.49.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 (209) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +70 -0
  2. package/dist/cjs/base/adapters/node/hono.js +63 -0
  3. package/dist/cjs/base/adapters/node/index.js +56 -0
  4. package/dist/cjs/base/adapters/node/loadServer.js +56 -0
  5. package/dist/cjs/base/adapters/node/middlewares/index.js +28 -0
  6. package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
  7. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +90 -0
  8. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +67 -0
  9. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +109 -0
  10. package/dist/cjs/base/adapters/node/middlewares/templates.js +67 -0
  11. package/dist/cjs/base/adapters/node/node.js +127 -0
  12. package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
  13. package/dist/cjs/base/adapters/node/polyfills/install.js +72 -0
  14. package/dist/cjs/base/adapters/node/polyfills/stream.js +153 -0
  15. package/dist/cjs/base/constants.js +58 -0
  16. package/dist/cjs/base/index.js +49 -0
  17. package/dist/cjs/base/middlewares/customServer/base.js +171 -0
  18. package/dist/cjs/base/middlewares/customServer/context.js +73 -0
  19. package/dist/cjs/base/middlewares/customServer/index.js +136 -0
  20. package/dist/cjs/base/middlewares/customServer/routerApi.js +44 -0
  21. package/dist/cjs/base/middlewares/customServer/template.js +58 -0
  22. package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
  23. package/dist/cjs/base/middlewares/frameworkHeader.js +31 -0
  24. package/dist/cjs/base/middlewares/index.js +30 -0
  25. package/dist/cjs/base/middlewares/logger.js +77 -0
  26. package/dist/cjs/base/middlewares/monitor.js +90 -0
  27. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +46 -0
  28. package/dist/cjs/base/middlewares/renderHandler/index.js +108 -0
  29. package/dist/cjs/base/middlewares/renderHandler/render.js +132 -0
  30. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +40 -0
  31. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +197 -0
  32. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +212 -0
  33. package/dist/cjs/base/serverBase.js +203 -0
  34. package/dist/cjs/base/utils/debug.js +29 -0
  35. package/dist/cjs/base/utils/entry.js +30 -0
  36. package/dist/cjs/base/utils/env.js +45 -0
  37. package/dist/cjs/base/utils/error.js +65 -0
  38. package/dist/cjs/base/utils/index.js +34 -0
  39. package/dist/cjs/base/utils/middlewareCollector.js +54 -0
  40. package/dist/cjs/base/utils/request.js +65 -0
  41. package/dist/cjs/base/utils/serverConfig.js +70 -0
  42. package/dist/cjs/base/utils/transformStream.js +61 -0
  43. package/dist/cjs/base/utils/warmup.js +43 -0
  44. package/dist/cjs/core/index.js +22 -0
  45. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +4 -7
  46. package/dist/cjs/{plugin.js → core/plugin.js} +1 -42
  47. package/dist/cjs/core/render.js +16 -0
  48. package/dist/cjs/core/server.js +16 -0
  49. package/dist/cjs/index.js +6 -4
  50. package/dist/esm/base/adapters/node/bff.js +128 -0
  51. package/dist/esm/base/adapters/node/hono.js +83 -0
  52. package/dist/esm/base/adapters/node/index.js +20 -0
  53. package/dist/esm/base/adapters/node/loadServer.js +73 -0
  54. package/dist/esm/base/adapters/node/middlewares/index.js +4 -0
  55. package/dist/esm/base/adapters/node/middlewares/mock.js +198 -0
  56. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +139 -0
  57. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +85 -0
  58. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +119 -0
  59. package/dist/esm/base/adapters/node/middlewares/templates.js +114 -0
  60. package/dist/esm/base/adapters/node/node.js +197 -0
  61. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  62. package/dist/esm/base/adapters/node/polyfills/install.js +48 -0
  63. package/dist/esm/base/adapters/node/polyfills/stream.js +316 -0
  64. package/dist/esm/base/constants.js +31 -0
  65. package/dist/esm/base/index.js +16 -0
  66. package/dist/esm/base/middlewares/customServer/base.js +199 -0
  67. package/dist/esm/base/middlewares/customServer/context.js +68 -0
  68. package/dist/esm/base/middlewares/customServer/index.js +220 -0
  69. package/dist/esm/base/middlewares/customServer/routerApi.js +26 -0
  70. package/dist/esm/base/middlewares/customServer/template.js +47 -0
  71. package/dist/esm/base/middlewares/faviconFallback.js +28 -0
  72. package/dist/esm/base/middlewares/frameworkHeader.js +27 -0
  73. package/dist/esm/base/middlewares/index.js +5 -0
  74. package/dist/esm/base/middlewares/logger.js +75 -0
  75. package/dist/esm/base/middlewares/monitor.js +157 -0
  76. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +45 -0
  77. package/dist/esm/base/middlewares/renderHandler/index.js +167 -0
  78. package/dist/esm/base/middlewares/renderHandler/render.js +225 -0
  79. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +21 -0
  80. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +306 -0
  81. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +269 -0
  82. package/dist/esm/base/serverBase.js +383 -0
  83. package/dist/esm/base/utils/debug.js +5 -0
  84. package/dist/esm/base/utils/entry.js +6 -0
  85. package/dist/esm/base/utils/env.js +20 -0
  86. package/dist/esm/base/utils/error.js +12 -0
  87. package/dist/esm/base/utils/index.js +7 -0
  88. package/dist/esm/base/utils/middlewareCollector.js +31 -0
  89. package/dist/esm/base/utils/request.js +39 -0
  90. package/dist/esm/base/utils/serverConfig.js +58 -0
  91. package/dist/esm/base/utils/transformStream.js +90 -0
  92. package/dist/esm/base/utils/warmup.js +9 -0
  93. package/dist/esm/core/index.js +1 -0
  94. package/dist/esm/core/loadPlugins.js +26 -0
  95. package/dist/esm/core/plugin.js +59 -0
  96. package/dist/esm/core/render.js +0 -0
  97. package/dist/esm/core/server.js +0 -0
  98. package/dist/esm/index.js +3 -2
  99. package/dist/esm-node/base/adapters/node/bff.js +46 -0
  100. package/dist/esm-node/base/adapters/node/hono.js +38 -0
  101. package/dist/esm-node/base/adapters/node/index.js +20 -0
  102. package/dist/esm-node/base/adapters/node/loadServer.js +22 -0
  103. package/dist/esm-node/base/adapters/node/middlewares/index.js +4 -0
  104. package/dist/esm-node/base/adapters/node/middlewares/mock.js +79 -0
  105. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +55 -0
  106. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +33 -0
  107. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +75 -0
  108. package/dist/esm-node/base/adapters/node/middlewares/templates.js +32 -0
  109. package/dist/esm-node/base/adapters/node/node.js +101 -0
  110. package/dist/esm-node/base/adapters/node/polyfills/index.js +2 -0
  111. package/dist/esm-node/base/adapters/node/polyfills/install.js +48 -0
  112. package/dist/esm-node/base/adapters/node/polyfills/stream.js +126 -0
  113. package/dist/esm-node/base/constants.js +31 -0
  114. package/dist/esm-node/base/index.js +16 -0
  115. package/dist/esm-node/base/middlewares/customServer/base.js +147 -0
  116. package/dist/esm-node/base/middlewares/customServer/context.js +46 -0
  117. package/dist/esm-node/base/middlewares/customServer/index.js +112 -0
  118. package/dist/esm-node/base/middlewares/customServer/routerApi.js +20 -0
  119. package/dist/esm-node/base/middlewares/customServer/template.js +34 -0
  120. package/dist/esm-node/base/middlewares/faviconFallback.js +10 -0
  121. package/dist/esm-node/base/middlewares/frameworkHeader.js +7 -0
  122. package/dist/esm-node/base/middlewares/index.js +5 -0
  123. package/dist/esm-node/base/middlewares/logger.js +53 -0
  124. package/dist/esm-node/base/middlewares/monitor.js +63 -0
  125. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +22 -0
  126. package/dist/esm-node/base/middlewares/renderHandler/index.js +73 -0
  127. package/dist/esm-node/base/middlewares/renderHandler/render.js +108 -0
  128. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +16 -0
  129. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +162 -0
  130. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +177 -0
  131. package/dist/esm-node/base/serverBase.js +168 -0
  132. package/dist/esm-node/base/utils/debug.js +5 -0
  133. package/dist/esm-node/base/utils/entry.js +6 -0
  134. package/dist/esm-node/base/utils/env.js +20 -0
  135. package/dist/esm-node/base/utils/error.js +41 -0
  136. package/dist/esm-node/base/utils/index.js +7 -0
  137. package/dist/esm-node/base/utils/middlewareCollector.js +29 -0
  138. package/dist/esm-node/base/utils/request.js +38 -0
  139. package/dist/esm-node/base/utils/serverConfig.js +34 -0
  140. package/dist/esm-node/base/utils/transformStream.js +36 -0
  141. package/dist/esm-node/base/utils/warmup.js +9 -0
  142. package/dist/esm-node/core/index.js +1 -0
  143. package/dist/{esm → esm-node/core}/loadPlugins.js +4 -7
  144. package/dist/{esm → esm-node/core}/plugin.js +1 -42
  145. package/dist/esm-node/core/render.js +0 -0
  146. package/dist/esm-node/core/server.js +0 -0
  147. package/dist/esm-node/index.js +5 -0
  148. package/dist/esm-node/types/config/bff.js +0 -0
  149. package/dist/esm-node/types/config/dev.js +0 -0
  150. package/dist/esm-node/types/config/html.js +0 -0
  151. package/dist/esm-node/types/config/index.js +6 -0
  152. package/dist/esm-node/types/config/output.js +0 -0
  153. package/dist/esm-node/types/config/security.js +0 -0
  154. package/dist/esm-node/types/config/server.js +0 -0
  155. package/dist/esm-node/types/config/share.js +0 -0
  156. package/dist/esm-node/types/config/source.js +0 -0
  157. package/dist/esm-node/types/config/tools.js +0 -0
  158. package/dist/types/base/adapters/node/bff.d.ts +3 -0
  159. package/dist/types/base/adapters/node/hono.d.ts +22 -0
  160. package/dist/types/base/adapters/node/index.d.ts +6 -0
  161. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  162. package/dist/types/base/adapters/node/middlewares/index.d.ts +4 -0
  163. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  164. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +4 -0
  165. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +7 -0
  166. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +11 -0
  167. package/dist/types/base/adapters/node/middlewares/templates.d.ts +4 -0
  168. package/dist/types/base/adapters/node/node.d.ts +13 -0
  169. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  170. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  171. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  172. package/dist/types/base/constants.d.ts +24 -0
  173. package/dist/types/base/index.d.ts +7 -0
  174. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  175. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  176. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  177. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  178. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  179. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  180. package/dist/types/base/middlewares/frameworkHeader.d.ts +2 -0
  181. package/dist/types/base/middlewares/index.d.ts +5 -0
  182. package/dist/types/base/middlewares/logger.d.ts +2 -0
  183. package/dist/types/base/middlewares/monitor.d.ts +6 -0
  184. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +5 -0
  185. package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
  186. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  187. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  188. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +28 -0
  189. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +21 -0
  190. package/dist/types/base/serverBase.d.ts +70 -0
  191. package/dist/types/base/utils/debug.d.ts +1 -0
  192. package/dist/types/base/utils/entry.d.ts +2 -0
  193. package/dist/types/base/utils/env.d.ts +2 -0
  194. package/dist/types/base/utils/error.d.ts +1 -0
  195. package/dist/types/base/utils/index.d.ts +7 -0
  196. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  197. package/dist/types/base/utils/request.d.ts +12 -0
  198. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  199. package/dist/types/base/utils/transformStream.d.ts +5 -0
  200. package/dist/types/base/utils/warmup.d.ts +1 -0
  201. package/dist/types/core/index.d.ts +1 -0
  202. package/dist/types/core/loadPlugins.d.ts +3 -0
  203. package/dist/types/core/plugin.d.ts +202 -0
  204. package/dist/types/core/render.d.ts +17 -0
  205. package/dist/types/core/server.d.ts +44 -0
  206. package/dist/types/index.d.ts +3 -2
  207. package/package.json +44 -6
  208. package/dist/types/loadPlugins.d.ts +0 -5
  209. package/dist/types/plugin.d.ts +0 -493
@@ -0,0 +1,16 @@
1
+ import { createErrorHtml } from "./utils";
2
+ import { AGGRED_DIR } from "./constants";
3
+ import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy } from "./middlewares";
4
+ import { createServerBase } from "./serverBase";
5
+ export {
6
+ AGGRED_DIR,
7
+ bindRenderHandler,
8
+ createErrorHtml,
9
+ createServerBase,
10
+ favionFallbackMiddleware,
11
+ getRenderHandler,
12
+ injectLogger,
13
+ injectReporter,
14
+ logHandler,
15
+ processedBy
16
+ };
@@ -0,0 +1,199 @@
1
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
+ import { _ as _class_private_field_get } from "@swc/helpers/_/_class_private_field_get";
3
+ import { _ as _class_private_field_init } from "@swc/helpers/_/_class_private_field_init";
4
+ import { _ as _class_private_field_set } from "@swc/helpers/_/_class_private_field_set";
5
+ import { _ as _create_class } from "@swc/helpers/_/_create_class";
6
+ import { getCookie } from "hono/cookie";
7
+ import { getHost } from "../../utils";
8
+ function createBaseHookContext(c) {
9
+ var logger = c.get("logger");
10
+ var metrics = c.get("metrics");
11
+ return {
12
+ request: new BaseHookRequest(c),
13
+ response: new BaseHookResponse(c),
14
+ logger,
15
+ metrics
16
+ };
17
+ }
18
+ var _req = /* @__PURE__ */ new WeakMap(), _c = /* @__PURE__ */ new WeakMap(), _headersData = /* @__PURE__ */ new WeakMap(), _headers = /* @__PURE__ */ new WeakMap();
19
+ var BaseHookRequest = /* @__PURE__ */ function() {
20
+ "use strict";
21
+ function BaseHookRequest2(c) {
22
+ var _this = this;
23
+ _class_call_check(this, BaseHookRequest2);
24
+ _class_private_field_init(this, _req, {
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ _class_private_field_init(this, _c, {
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ _class_private_field_init(this, _headersData, {
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ _class_private_field_init(this, _headers, {
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ _class_private_field_set(this, _headersData, {});
41
+ _class_private_field_set(this, _c, c);
42
+ _class_private_field_set(this, _req, c.req);
43
+ var rawHeaders = _class_private_field_get(this, _req).raw.headers;
44
+ rawHeaders.forEach(function(value, key) {
45
+ _class_private_field_get(_this, _headersData)[key] = value;
46
+ });
47
+ _class_private_field_set(this, _headers, new Proxy(_class_private_field_get(this, _headersData), {
48
+ get: function get(target, p) {
49
+ return target[p];
50
+ },
51
+ set: function set(target, p, newValue) {
52
+ target[p] = newValue;
53
+ rawHeaders.set(p, newValue);
54
+ return true;
55
+ }
56
+ }));
57
+ }
58
+ _create_class(BaseHookRequest2, [
59
+ {
60
+ key: "url",
61
+ get: function get() {
62
+ return _class_private_field_get(this, _req).path;
63
+ },
64
+ set: (
65
+ // TODO: remove next major version
66
+ function set(_u) {
67
+ }
68
+ )
69
+ },
70
+ {
71
+ key: "host",
72
+ get: function get() {
73
+ return getHost(_class_private_field_get(this, _req).raw);
74
+ },
75
+ set: (
76
+ // TODO: remove next major version
77
+ function set(_h) {
78
+ }
79
+ )
80
+ },
81
+ {
82
+ key: "pathname",
83
+ get: function get() {
84
+ return _class_private_field_get(this, _req).path;
85
+ },
86
+ set: (
87
+ // TODO: remove next major version
88
+ function set(_p) {
89
+ }
90
+ )
91
+ },
92
+ {
93
+ key: "query",
94
+ get: function get() {
95
+ return _class_private_field_get(this, _req).query();
96
+ },
97
+ set: (
98
+ // TODO: remove next major version
99
+ function set(_q) {
100
+ }
101
+ )
102
+ },
103
+ {
104
+ key: "headers",
105
+ get: function get() {
106
+ return _class_private_field_get(this, _headers);
107
+ },
108
+ set: (
109
+ // TODO: remove next major version
110
+ function set(_h) {
111
+ }
112
+ )
113
+ },
114
+ {
115
+ key: "cookies",
116
+ get: function get() {
117
+ var _this = this;
118
+ return {
119
+ // FIXME: ModernRequest Type Error
120
+ get: function(key) {
121
+ return getCookie(_class_private_field_get(_this, _c), key);
122
+ }
123
+ };
124
+ }
125
+ },
126
+ {
127
+ key: "cookie",
128
+ get: function get() {
129
+ return _class_private_field_get(this, _req).header("cookie");
130
+ },
131
+ set: (
132
+ // TODO: remove next major version
133
+ function set(_c2) {
134
+ }
135
+ )
136
+ }
137
+ ]);
138
+ return BaseHookRequest2;
139
+ }();
140
+ var _c1 = /* @__PURE__ */ new WeakMap();
141
+ var BaseHookResponse = /* @__PURE__ */ function() {
142
+ "use strict";
143
+ function BaseHookResponse2(c) {
144
+ _class_call_check(this, BaseHookResponse2);
145
+ _class_private_field_init(this, _c1, {
146
+ writable: true,
147
+ value: void 0
148
+ });
149
+ this.private_overrided = false;
150
+ _class_private_field_set(this, _c1, c);
151
+ }
152
+ var _proto = BaseHookResponse2.prototype;
153
+ _proto.get = function get(key) {
154
+ return _class_private_field_get(this, _c1).res.headers.get(key);
155
+ };
156
+ _proto.set = function set(key, value) {
157
+ if ([
158
+ "set-cookie",
159
+ "Set-Cookie"
160
+ ].includes(key)) {
161
+ _class_private_field_get(this, _c1).header(key, value.toString(), {
162
+ append: true
163
+ });
164
+ } else {
165
+ _class_private_field_get(this, _c1).header(key, value.toString());
166
+ }
167
+ };
168
+ _proto.status = function status(code) {
169
+ _class_private_field_get(this, _c1).status(code);
170
+ };
171
+ _proto.raw = function raw(body, options) {
172
+ _class_private_field_get(this, _c1).res = _class_private_field_get(this, _c1).newResponse(body, options);
173
+ this.private_overrided = true;
174
+ };
175
+ _create_class(BaseHookResponse2, [
176
+ {
177
+ key: "cookies",
178
+ get: function get() {
179
+ var _this = this;
180
+ var setCookie = function(key, value) {
181
+ _class_private_field_get(_this, _c1).header("set-cookie", "".concat(key, "=").concat(value), {
182
+ append: true
183
+ });
184
+ };
185
+ var clearCookie = function() {
186
+ _class_private_field_get(_this, _c1).header("set-cookie", void 0);
187
+ };
188
+ return {
189
+ set: setCookie,
190
+ clear: clearCookie
191
+ };
192
+ }
193
+ }
194
+ ]);
195
+ return BaseHookResponse2;
196
+ }();
197
+ export {
198
+ createBaseHookContext
199
+ };
@@ -0,0 +1,68 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
+ import { RouterAPI } from "./routerApi";
6
+ import { TemplateApi } from "./template";
7
+ import { createBaseHookContext } from "./base";
8
+ function getAfterMatchCtx(entryName, baseHookCtx) {
9
+ var afterMatchCtx = baseHookCtx;
10
+ afterMatchCtx.router = new RouterAPI(entryName);
11
+ return afterMatchCtx;
12
+ }
13
+ function getAfterRenderCtx(c, baseHookCtx, route) {
14
+ return _getAfterRenderCtx.apply(this, arguments);
15
+ }
16
+ function _getAfterRenderCtx() {
17
+ _getAfterRenderCtx = _async_to_generator(function(c, baseHookCtx, route) {
18
+ var afterRenderCtx, resBody;
19
+ return _ts_generator(this, function(_state) {
20
+ switch (_state.label) {
21
+ case 0:
22
+ afterRenderCtx = baseHookCtx;
23
+ return [
24
+ 4,
25
+ c.res.text()
26
+ ];
27
+ case 1:
28
+ resBody = _state.sent();
29
+ afterRenderCtx.template = new TemplateApi(resBody);
30
+ afterRenderCtx.route = route;
31
+ return [
32
+ 2,
33
+ afterRenderCtx
34
+ ];
35
+ }
36
+ });
37
+ });
38
+ return _getAfterRenderCtx.apply(this, arguments);
39
+ }
40
+ function createCustomMiddlewaresCtx(c, locals) {
41
+ var _c_env_node, _c_env_node1;
42
+ var baseContext = createBaseHookContext(c);
43
+ var reporter = c.get("reporter");
44
+ return _object_spread_props(_object_spread({}, baseContext), {
45
+ reporter,
46
+ response: _object_spread_props(_object_spread({}, baseContext.response), {
47
+ locals
48
+ }),
49
+ source: {
50
+ req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
51
+ res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
52
+ }
53
+ });
54
+ }
55
+ function createAfterStreamingRenderContext(baseHookCtx, route) {
56
+ var streamingRenderCtx = baseHookCtx;
57
+ streamingRenderCtx.route = route;
58
+ return function(chunk) {
59
+ streamingRenderCtx.chunk = chunk;
60
+ return streamingRenderCtx;
61
+ };
62
+ }
63
+ export {
64
+ createAfterStreamingRenderContext,
65
+ createCustomMiddlewaresCtx,
66
+ getAfterMatchCtx,
67
+ getAfterRenderCtx
68
+ };
@@ -0,0 +1,220 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
+ import { time } from "@modern-js/runtime-utils/time";
5
+ import { transformResponse } from "../../utils";
6
+ import { ServerReportTimings } from "../../constants";
7
+ import { getAfterMatchCtx, getAfterRenderCtx, createCustomMiddlewaresCtx, createAfterStreamingRenderContext } from "./context";
8
+ import { createBaseHookContext } from "./base";
9
+ var noop = function() {
10
+ };
11
+ var isHtmlResponse = function(response) {
12
+ var contentType = response.headers.get("content-type");
13
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/html");
14
+ };
15
+ var CustomServer = /* @__PURE__ */ function() {
16
+ "use strict";
17
+ function CustomServer2(runner, serverBase, pwd) {
18
+ _class_call_check(this, CustomServer2);
19
+ this.runner = runner;
20
+ this.serverBase = serverBase;
21
+ var webExtension = [];
22
+ this.serverMiddlewarePromise = runner.prepareWebServer({
23
+ pwd,
24
+ config: {
25
+ middleware: webExtension
26
+ }
27
+ }, {
28
+ onLast: function() {
29
+ return null;
30
+ }
31
+ });
32
+ }
33
+ var _proto = CustomServer2.prototype;
34
+ _proto.getHookMiddleware = function getHookMiddleware(entryName, routes) {
35
+ var _this = this;
36
+ return function() {
37
+ var _ref = _async_to_generator(function(c, next) {
38
+ var routeInfo, reporter, baseHookCtx, afterMatchCtx, getCost, cost, _afterMatchCtx_router, url, status, current, rewriteRoute, afterStreamingRenderContext, afterRenderCtx, getCost1, cost1, newBody;
39
+ return _ts_generator(this, function(_state) {
40
+ switch (_state.label) {
41
+ case 0:
42
+ routeInfo = routes.find(function(route) {
43
+ return route.entryName === entryName;
44
+ });
45
+ reporter = c.get("reporter");
46
+ baseHookCtx = createBaseHookContext(c);
47
+ afterMatchCtx = getAfterMatchCtx(entryName, baseHookCtx);
48
+ getCost = time();
49
+ return [
50
+ 4,
51
+ _this.runner.afterMatch(afterMatchCtx, {
52
+ onLast: noop
53
+ })
54
+ ];
55
+ case 1:
56
+ _state.sent();
57
+ cost = getCost();
58
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost));
59
+ _afterMatchCtx_router = afterMatchCtx.router, url = _afterMatchCtx_router.url, status = _afterMatchCtx_router.status;
60
+ if (url) {
61
+ return [
62
+ 2,
63
+ c.redirect(url, status)
64
+ ];
65
+ }
66
+ current = afterMatchCtx.router.current;
67
+ if (current !== entryName) {
68
+ rewriteRoute = routes.find(function(route) {
69
+ return route.entryName === current;
70
+ });
71
+ if (rewriteRoute) {
72
+ return [
73
+ 2,
74
+ _this.serverBase.request(rewriteRoute.urlPath)
75
+ ];
76
+ }
77
+ }
78
+ if (c.finalized) {
79
+ return [
80
+ 2,
81
+ void 0
82
+ ];
83
+ }
84
+ return [
85
+ 4,
86
+ next()
87
+ ];
88
+ case 2:
89
+ _state.sent();
90
+ if (c.finalized && (!c.res.body || !isHtmlResponse(c.res) || [
91
+ 404,
92
+ 500
93
+ ].includes(c.res.status))) {
94
+ return [
95
+ 2,
96
+ void 0
97
+ ];
98
+ }
99
+ if (c.res) {
100
+ c.status(c.res.status);
101
+ }
102
+ if (!routeInfo.isStream)
103
+ return [
104
+ 3,
105
+ 3
106
+ ];
107
+ afterStreamingRenderContext = createAfterStreamingRenderContext(baseHookCtx, routeInfo);
108
+ c.res = transformResponse(c.res, function(chunk) {
109
+ var context = afterStreamingRenderContext(chunk);
110
+ return _this.runner.afterStreamingRender(context, {
111
+ onLast: function(param) {
112
+ var _$chunk = param.chunk;
113
+ return _$chunk;
114
+ }
115
+ });
116
+ });
117
+ return [
118
+ 3,
119
+ 6
120
+ ];
121
+ case 3:
122
+ return [
123
+ 4,
124
+ getAfterRenderCtx(c, baseHookCtx, routeInfo)
125
+ ];
126
+ case 4:
127
+ afterRenderCtx = _state.sent();
128
+ getCost1 = time();
129
+ return [
130
+ 4,
131
+ _this.runner.afterRender(afterRenderCtx, {
132
+ onLast: noop
133
+ })
134
+ ];
135
+ case 5:
136
+ _state.sent();
137
+ cost1 = getCost1();
138
+ cost1 && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost1));
139
+ if (afterRenderCtx.response.private_overrided) {
140
+ return [
141
+ 2,
142
+ void 0
143
+ ];
144
+ }
145
+ newBody = afterRenderCtx.template.get();
146
+ c.res = c.body(newBody);
147
+ _state.label = 6;
148
+ case 6:
149
+ return [
150
+ 2
151
+ ];
152
+ }
153
+ });
154
+ });
155
+ return function(c, next) {
156
+ return _ref.apply(this, arguments);
157
+ };
158
+ }();
159
+ };
160
+ _proto.getServerMiddleware = function getServerMiddleware() {
161
+ var _this = this;
162
+ return function() {
163
+ var _ref = _async_to_generator(function(c, next) {
164
+ var _c_env, serverMiddleware, reporter, locals, customMiddlewareCtx, getCost, cost;
165
+ return _ts_generator(this, function(_state) {
166
+ switch (_state.label) {
167
+ case 0:
168
+ return [
169
+ 4,
170
+ _this.serverMiddlewarePromise
171
+ ];
172
+ case 1:
173
+ serverMiddleware = _state.sent();
174
+ if (!serverMiddleware) {
175
+ return [
176
+ 2,
177
+ next()
178
+ ];
179
+ }
180
+ reporter = c.get("reporter");
181
+ locals = {};
182
+ customMiddlewareCtx = createCustomMiddlewaresCtx(c, locals);
183
+ getCost = time();
184
+ return [
185
+ 4,
186
+ serverMiddleware(customMiddlewareCtx)
187
+ ];
188
+ case 2:
189
+ _state.sent();
190
+ cost = getCost();
191
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_MIDDLEWARE, cost));
192
+ c.set("locals", locals);
193
+ if ((_c_env = c.env) === null || _c_env === void 0 ? void 0 : _c_env.node.res.headersSent) {
194
+ return [
195
+ 2,
196
+ void 0
197
+ ];
198
+ }
199
+ if (!c.finalized) {
200
+ return [
201
+ 2,
202
+ next()
203
+ ];
204
+ }
205
+ return [
206
+ 2
207
+ ];
208
+ }
209
+ });
210
+ });
211
+ return function(c, next) {
212
+ return _ref.apply(this, arguments);
213
+ };
214
+ }();
215
+ };
216
+ return CustomServer2;
217
+ }();
218
+ export {
219
+ CustomServer
220
+ };
@@ -0,0 +1,26 @@
1
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
+ var RouterAPI = /* @__PURE__ */ function() {
3
+ "use strict";
4
+ function RouterAPI2(entryName) {
5
+ _class_call_check(this, RouterAPI2);
6
+ this.current = entryName;
7
+ this.status = 200;
8
+ this.url = "";
9
+ }
10
+ var _proto = RouterAPI2.prototype;
11
+ _proto.redirect = function redirect(url) {
12
+ var status = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 302;
13
+ this.url = url;
14
+ this.status = status;
15
+ };
16
+ _proto.rewrite = function rewrite(entryName) {
17
+ this.current = entryName;
18
+ };
19
+ _proto.use = function use(entryName) {
20
+ this.rewrite(entryName);
21
+ };
22
+ return RouterAPI2;
23
+ }();
24
+ export {
25
+ RouterAPI
26
+ };
@@ -0,0 +1,47 @@
1
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
+ import { REPLACE_REG } from "../../constants";
3
+ var TemplateApi = /* @__PURE__ */ function() {
4
+ "use strict";
5
+ function TemplateApi2(body) {
6
+ _class_call_check(this, TemplateApi2);
7
+ this.body = body;
8
+ }
9
+ var _proto = TemplateApi2.prototype;
10
+ _proto.set = function set(content) {
11
+ this.body = content;
12
+ };
13
+ _proto.get = function get() {
14
+ return this.body;
15
+ };
16
+ _proto.prependHead = function prependHead(fragment) {
17
+ var head = REPLACE_REG.before.head;
18
+ this.replaceBody(new RegExp(head), function(beforeHead) {
19
+ return "".concat(beforeHead).concat(fragment);
20
+ });
21
+ };
22
+ _proto.appendHead = function appendHead(fragment) {
23
+ var head = REPLACE_REG.after.head;
24
+ this.replaceBody(head, function() {
25
+ return "".concat(fragment).concat(head);
26
+ });
27
+ };
28
+ _proto.prependBody = function prependBody(fragment) {
29
+ var body = REPLACE_REG.before.body;
30
+ this.replaceBody(new RegExp(body), function(beforeBody) {
31
+ return "".concat(beforeBody).concat(fragment);
32
+ });
33
+ };
34
+ _proto.appendBody = function appendBody(fragment) {
35
+ var body = REPLACE_REG.after.body;
36
+ this.replaceBody(body, function() {
37
+ return "".concat(fragment).concat(body);
38
+ });
39
+ };
40
+ _proto.replaceBody = function replaceBody(searchValue, replaceCb) {
41
+ this.body = this.body.replace(searchValue, replaceCb);
42
+ };
43
+ return TemplateApi2;
44
+ }();
45
+ export {
46
+ TemplateApi
47
+ };
@@ -0,0 +1,28 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ var favionFallbackMiddleware = function() {
4
+ var _ref = _async_to_generator(function(c, next) {
5
+ return _ts_generator(this, function(_state) {
6
+ if (c.req.path === "/favicon.ico") {
7
+ return [
8
+ 2,
9
+ c.body(null, 204)
10
+ ];
11
+ } else {
12
+ return [
13
+ 2,
14
+ next()
15
+ ];
16
+ }
17
+ return [
18
+ 2
19
+ ];
20
+ });
21
+ });
22
+ return function favionFallbackMiddleware2(c, next) {
23
+ return _ref.apply(this, arguments);
24
+ };
25
+ }();
26
+ export {
27
+ favionFallbackMiddleware
28
+ };
@@ -0,0 +1,27 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ var processedBy = function() {
4
+ var _ref = _async_to_generator(function(ctx, next) {
5
+ return _ts_generator(this, function(_state) {
6
+ switch (_state.label) {
7
+ case 0:
8
+ return [
9
+ 4,
10
+ next()
11
+ ];
12
+ case 1:
13
+ _state.sent();
14
+ ctx.header("X-Processed-By", "Modern.js");
15
+ return [
16
+ 2
17
+ ];
18
+ }
19
+ });
20
+ });
21
+ return function processedBy2(ctx, next) {
22
+ return _ref.apply(this, arguments);
23
+ };
24
+ }();
25
+ export {
26
+ processedBy
27
+ };
@@ -0,0 +1,5 @@
1
+ export * from "./faviconFallback";
2
+ export * from "./monitor";
3
+ export * from "./renderHandler";
4
+ export * from "./logger";
5
+ export * from "./frameworkHeader";