@modern-js/server-core 2.48.4 → 2.48.5-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) 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 +54 -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 +82 -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 +154 -0
  18. package/dist/cjs/base/middlewares/customServer/context.js +73 -0
  19. package/dist/cjs/base/middlewares/customServer/index.js +130 -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 +106 -0
  29. package/dist/cjs/base/middlewares/renderHandler/render.js +126 -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 +208 -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/hono.js +16 -0
  45. package/dist/cjs/core/index.js +22 -0
  46. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +4 -7
  47. package/dist/cjs/{plugin.js → core/plugin.js} +1 -42
  48. package/dist/cjs/core/render.js +16 -0
  49. package/dist/cjs/core/server.js +16 -0
  50. package/dist/cjs/index.js +6 -4
  51. package/dist/esm/base/adapters/node/bff.js +128 -0
  52. package/dist/esm/base/adapters/node/hono.js +83 -0
  53. package/dist/esm/base/adapters/node/index.js +19 -0
  54. package/dist/esm/base/adapters/node/loadServer.js +73 -0
  55. package/dist/esm/base/adapters/node/middlewares/index.js +4 -0
  56. package/dist/esm/base/adapters/node/middlewares/mock.js +198 -0
  57. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +132 -0
  58. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +85 -0
  59. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +119 -0
  60. package/dist/esm/base/adapters/node/middlewares/templates.js +114 -0
  61. package/dist/esm/base/adapters/node/node.js +197 -0
  62. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  63. package/dist/esm/base/adapters/node/polyfills/install.js +48 -0
  64. package/dist/esm/base/adapters/node/polyfills/stream.js +316 -0
  65. package/dist/esm/base/constants.js +31 -0
  66. package/dist/esm/base/index.js +16 -0
  67. package/dist/esm/base/middlewares/customServer/base.js +182 -0
  68. package/dist/esm/base/middlewares/customServer/context.js +68 -0
  69. package/dist/esm/base/middlewares/customServer/index.js +214 -0
  70. package/dist/esm/base/middlewares/customServer/routerApi.js +26 -0
  71. package/dist/esm/base/middlewares/customServer/template.js +47 -0
  72. package/dist/esm/base/middlewares/faviconFallback.js +28 -0
  73. package/dist/esm/base/middlewares/frameworkHeader.js +27 -0
  74. package/dist/esm/base/middlewares/index.js +5 -0
  75. package/dist/esm/base/middlewares/logger.js +75 -0
  76. package/dist/esm/base/middlewares/monitor.js +157 -0
  77. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +45 -0
  78. package/dist/esm/base/middlewares/renderHandler/index.js +165 -0
  79. package/dist/esm/base/middlewares/renderHandler/render.js +216 -0
  80. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +21 -0
  81. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +306 -0
  82. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +265 -0
  83. package/dist/esm/base/serverBase.js +383 -0
  84. package/dist/esm/base/utils/debug.js +5 -0
  85. package/dist/esm/base/utils/entry.js +6 -0
  86. package/dist/esm/base/utils/env.js +20 -0
  87. package/dist/esm/base/utils/error.js +12 -0
  88. package/dist/esm/base/utils/index.js +7 -0
  89. package/dist/esm/base/utils/middlewareCollector.js +31 -0
  90. package/dist/esm/base/utils/request.js +39 -0
  91. package/dist/esm/base/utils/serverConfig.js +58 -0
  92. package/dist/esm/base/utils/transformStream.js +90 -0
  93. package/dist/esm/base/utils/warmup.js +9 -0
  94. package/dist/esm/core/hono.js +0 -0
  95. package/dist/esm/core/index.js +1 -0
  96. package/dist/esm/core/loadPlugins.js +26 -0
  97. package/dist/esm/core/plugin.js +59 -0
  98. package/dist/esm/core/render.js +0 -0
  99. package/dist/esm/core/server.js +0 -0
  100. package/dist/esm/index.js +3 -2
  101. package/dist/esm-node/base/adapters/node/bff.js +46 -0
  102. package/dist/esm-node/base/adapters/node/hono.js +38 -0
  103. package/dist/esm-node/base/adapters/node/index.js +19 -0
  104. package/dist/esm-node/base/adapters/node/loadServer.js +22 -0
  105. package/dist/esm-node/base/adapters/node/middlewares/index.js +4 -0
  106. package/dist/esm-node/base/adapters/node/middlewares/mock.js +79 -0
  107. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +48 -0
  108. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +33 -0
  109. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +75 -0
  110. package/dist/esm-node/base/adapters/node/middlewares/templates.js +32 -0
  111. package/dist/esm-node/base/adapters/node/node.js +101 -0
  112. package/dist/esm-node/base/adapters/node/polyfills/index.js +2 -0
  113. package/dist/esm-node/base/adapters/node/polyfills/install.js +48 -0
  114. package/dist/esm-node/base/adapters/node/polyfills/stream.js +126 -0
  115. package/dist/esm-node/base/constants.js +31 -0
  116. package/dist/esm-node/base/index.js +16 -0
  117. package/dist/esm-node/base/middlewares/customServer/base.js +130 -0
  118. package/dist/esm-node/base/middlewares/customServer/context.js +46 -0
  119. package/dist/esm-node/base/middlewares/customServer/index.js +106 -0
  120. package/dist/esm-node/base/middlewares/customServer/routerApi.js +20 -0
  121. package/dist/esm-node/base/middlewares/customServer/template.js +34 -0
  122. package/dist/esm-node/base/middlewares/faviconFallback.js +10 -0
  123. package/dist/esm-node/base/middlewares/frameworkHeader.js +7 -0
  124. package/dist/esm-node/base/middlewares/index.js +5 -0
  125. package/dist/esm-node/base/middlewares/logger.js +53 -0
  126. package/dist/esm-node/base/middlewares/monitor.js +63 -0
  127. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +22 -0
  128. package/dist/esm-node/base/middlewares/renderHandler/index.js +71 -0
  129. package/dist/esm-node/base/middlewares/renderHandler/render.js +102 -0
  130. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +16 -0
  131. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +162 -0
  132. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +173 -0
  133. package/dist/esm-node/base/serverBase.js +168 -0
  134. package/dist/esm-node/base/utils/debug.js +5 -0
  135. package/dist/esm-node/base/utils/entry.js +6 -0
  136. package/dist/esm-node/base/utils/env.js +20 -0
  137. package/dist/esm-node/base/utils/error.js +41 -0
  138. package/dist/esm-node/base/utils/index.js +7 -0
  139. package/dist/esm-node/base/utils/middlewareCollector.js +29 -0
  140. package/dist/esm-node/base/utils/request.js +38 -0
  141. package/dist/esm-node/base/utils/serverConfig.js +34 -0
  142. package/dist/esm-node/base/utils/transformStream.js +36 -0
  143. package/dist/esm-node/base/utils/warmup.js +9 -0
  144. package/dist/esm-node/core/hono.js +0 -0
  145. package/dist/esm-node/core/index.js +1 -0
  146. package/dist/{esm → esm-node/core}/loadPlugins.js +4 -7
  147. package/dist/{esm → esm-node/core}/plugin.js +1 -42
  148. package/dist/esm-node/core/render.js +0 -0
  149. package/dist/esm-node/core/server.js +0 -0
  150. package/dist/esm-node/index.js +5 -0
  151. package/dist/esm-node/types/config/bff.js +0 -0
  152. package/dist/esm-node/types/config/dev.js +0 -0
  153. package/dist/esm-node/types/config/html.js +0 -0
  154. package/dist/esm-node/types/config/index.js +6 -0
  155. package/dist/esm-node/types/config/output.js +0 -0
  156. package/dist/esm-node/types/config/security.js +0 -0
  157. package/dist/esm-node/types/config/server.js +0 -0
  158. package/dist/esm-node/types/config/share.js +0 -0
  159. package/dist/esm-node/types/config/source.js +0 -0
  160. package/dist/esm-node/types/config/tools.js +0 -0
  161. package/dist/types/base/adapters/node/bff.d.ts +4 -0
  162. package/dist/types/base/adapters/node/hono.d.ts +22 -0
  163. package/dist/types/base/adapters/node/index.d.ts +6 -0
  164. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  165. package/dist/types/base/adapters/node/middlewares/index.d.ts +4 -0
  166. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  167. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +3 -0
  168. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +7 -0
  169. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +11 -0
  170. package/dist/types/base/adapters/node/middlewares/templates.d.ts +4 -0
  171. package/dist/types/base/adapters/node/node.d.ts +13 -0
  172. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  173. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  174. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  175. package/dist/types/base/constants.d.ts +24 -0
  176. package/dist/types/base/index.d.ts +7 -0
  177. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  178. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  179. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  180. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  181. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  182. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  183. package/dist/types/base/middlewares/frameworkHeader.d.ts +2 -0
  184. package/dist/types/base/middlewares/index.d.ts +5 -0
  185. package/dist/types/base/middlewares/logger.d.ts +2 -0
  186. package/dist/types/base/middlewares/monitor.d.ts +6 -0
  187. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +5 -0
  188. package/dist/types/base/middlewares/renderHandler/index.d.ts +10 -0
  189. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  190. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  191. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +29 -0
  192. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +21 -0
  193. package/dist/types/base/serverBase.d.ts +52 -0
  194. package/dist/types/base/utils/debug.d.ts +1 -0
  195. package/dist/types/base/utils/entry.d.ts +2 -0
  196. package/dist/types/base/utils/env.d.ts +2 -0
  197. package/dist/types/base/utils/error.d.ts +1 -0
  198. package/dist/types/base/utils/index.d.ts +7 -0
  199. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  200. package/dist/types/base/utils/request.d.ts +12 -0
  201. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  202. package/dist/types/base/utils/transformStream.d.ts +5 -0
  203. package/dist/types/base/utils/warmup.d.ts +1 -0
  204. package/dist/types/core/hono.d.ts +1 -0
  205. package/dist/types/core/index.d.ts +1 -0
  206. package/dist/types/core/loadPlugins.d.ts +3 -0
  207. package/dist/types/core/plugin.d.ts +202 -0
  208. package/dist/types/core/render.d.ts +15 -0
  209. package/dist/types/core/server.d.ts +94 -0
  210. package/dist/types/index.d.ts +3 -2
  211. package/package.json +39 -1
  212. package/dist/types/loadPlugins.d.ts +0 -5
  213. 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,182 @@
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 _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, _headers, {
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ this.headersData = {};
29
+ this.c = c;
30
+ this.req = c.req;
31
+ var rawHeaders = this.req.raw.headers;
32
+ rawHeaders.forEach(function(value, key) {
33
+ _this.headersData[key] = value;
34
+ });
35
+ _class_private_field_set(this, _headers, new Proxy(this.headersData, {
36
+ get: function get(target, p) {
37
+ return target[p];
38
+ },
39
+ set: function set(target, p, newValue) {
40
+ target[p] = newValue;
41
+ rawHeaders.set(p, newValue);
42
+ return true;
43
+ }
44
+ }));
45
+ }
46
+ _create_class(BaseHookRequest2, [
47
+ {
48
+ key: "url",
49
+ get: function get() {
50
+ return this.req.path;
51
+ },
52
+ set: (
53
+ // TODO: remove next major version
54
+ function set(_u) {
55
+ }
56
+ )
57
+ },
58
+ {
59
+ key: "host",
60
+ get: function get() {
61
+ return getHost(this.req.raw);
62
+ },
63
+ set: (
64
+ // TODO: remove next major version
65
+ function set(_h) {
66
+ }
67
+ )
68
+ },
69
+ {
70
+ key: "pathname",
71
+ get: function get() {
72
+ return this.req.path;
73
+ },
74
+ set: (
75
+ // TODO: remove next major version
76
+ function set(_p) {
77
+ }
78
+ )
79
+ },
80
+ {
81
+ key: "query",
82
+ get: function get() {
83
+ return this.req.query();
84
+ },
85
+ set: (
86
+ // TODO: remove next major version
87
+ function set(_q) {
88
+ }
89
+ )
90
+ },
91
+ {
92
+ key: "headers",
93
+ get: function get() {
94
+ return _class_private_field_get(this, _headers);
95
+ },
96
+ set: (
97
+ // TODO: remove next major version
98
+ function set(_h) {
99
+ }
100
+ )
101
+ },
102
+ {
103
+ key: "cookies",
104
+ get: function get() {
105
+ var _this = this;
106
+ return {
107
+ // FIXME: ModernRequest Type Error
108
+ get: function(key) {
109
+ return getCookie(_this.c, key);
110
+ }
111
+ };
112
+ }
113
+ },
114
+ {
115
+ key: "cookie",
116
+ get: function get() {
117
+ return this.req.header("cookie");
118
+ },
119
+ set: (
120
+ // TODO: remove next major version
121
+ function set(_c) {
122
+ }
123
+ )
124
+ }
125
+ ]);
126
+ return BaseHookRequest2;
127
+ }();
128
+ var BaseHookResponse = /* @__PURE__ */ function() {
129
+ "use strict";
130
+ function BaseHookResponse2(c) {
131
+ _class_call_check(this, BaseHookResponse2);
132
+ this.private_overrided = false;
133
+ this.c = c;
134
+ }
135
+ var _proto = BaseHookResponse2.prototype;
136
+ _proto.get = function get(key) {
137
+ return this.c.res.headers.get(key);
138
+ };
139
+ _proto.set = function set(key, value) {
140
+ if ([
141
+ "set-cookie",
142
+ "Set-Cookie"
143
+ ].includes(key)) {
144
+ this.c.header(key, value.toString(), {
145
+ append: true
146
+ });
147
+ } else {
148
+ this.c.header(key, value.toString());
149
+ }
150
+ };
151
+ _proto.status = function status(code) {
152
+ this.c.status(code);
153
+ };
154
+ _proto.raw = function raw(body, options) {
155
+ this.c.res = this.c.newResponse(body, options);
156
+ this.private_overrided = true;
157
+ };
158
+ _create_class(BaseHookResponse2, [
159
+ {
160
+ key: "cookies",
161
+ get: function get() {
162
+ var _this = this;
163
+ var setCookie = function(key, value) {
164
+ _this.c.header("set-cookie", "".concat(key, "=").concat(value), {
165
+ append: true
166
+ });
167
+ };
168
+ var clearCookie = function() {
169
+ _this.c.header("set-cookie", void 0);
170
+ };
171
+ return {
172
+ set: setCookie,
173
+ clear: clearCookie
174
+ };
175
+ }
176
+ }
177
+ ]);
178
+ return BaseHookResponse2;
179
+ }();
180
+ export {
181
+ createBaseHookContext
182
+ };
@@ -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,214 @@
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
+ return [
92
+ 2,
93
+ void 0
94
+ ];
95
+ }
96
+ if (!routeInfo.isStream)
97
+ return [
98
+ 3,
99
+ 3
100
+ ];
101
+ afterStreamingRenderContext = createAfterStreamingRenderContext(baseHookCtx, routeInfo);
102
+ c.res = transformResponse(c.res, function(chunk) {
103
+ var context = afterStreamingRenderContext(chunk);
104
+ return _this.runner.afterStreamingRender(context, {
105
+ onLast: function(param) {
106
+ var _$chunk = param.chunk;
107
+ return _$chunk;
108
+ }
109
+ });
110
+ });
111
+ return [
112
+ 3,
113
+ 6
114
+ ];
115
+ case 3:
116
+ return [
117
+ 4,
118
+ getAfterRenderCtx(c, baseHookCtx, routeInfo)
119
+ ];
120
+ case 4:
121
+ afterRenderCtx = _state.sent();
122
+ getCost1 = time();
123
+ return [
124
+ 4,
125
+ _this.runner.afterRender(afterRenderCtx, {
126
+ onLast: noop
127
+ })
128
+ ];
129
+ case 5:
130
+ _state.sent();
131
+ cost1 = getCost1();
132
+ cost1 && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost1));
133
+ if (afterRenderCtx.response.private_overrided) {
134
+ return [
135
+ 2,
136
+ void 0
137
+ ];
138
+ }
139
+ newBody = afterRenderCtx.template.get();
140
+ c.res = c.body(newBody);
141
+ _state.label = 6;
142
+ case 6:
143
+ return [
144
+ 2
145
+ ];
146
+ }
147
+ });
148
+ });
149
+ return function(c, next) {
150
+ return _ref.apply(this, arguments);
151
+ };
152
+ }();
153
+ };
154
+ _proto.getServerMiddleware = function getServerMiddleware() {
155
+ var _this = this;
156
+ return function() {
157
+ var _ref = _async_to_generator(function(c, next) {
158
+ var _c_env, serverMiddleware, reporter, locals, customMiddlewareCtx, getCost, cost;
159
+ return _ts_generator(this, function(_state) {
160
+ switch (_state.label) {
161
+ case 0:
162
+ return [
163
+ 4,
164
+ _this.serverMiddlewarePromise
165
+ ];
166
+ case 1:
167
+ serverMiddleware = _state.sent();
168
+ if (!serverMiddleware) {
169
+ return [
170
+ 2,
171
+ next()
172
+ ];
173
+ }
174
+ reporter = c.get("reporter");
175
+ locals = {};
176
+ customMiddlewareCtx = createCustomMiddlewaresCtx(c, locals);
177
+ getCost = time();
178
+ return [
179
+ 4,
180
+ serverMiddleware(customMiddlewareCtx)
181
+ ];
182
+ case 2:
183
+ _state.sent();
184
+ cost = getCost();
185
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_MIDDLEWARE, cost));
186
+ c.set("locals", locals);
187
+ if ((_c_env = c.env) === null || _c_env === void 0 ? void 0 : _c_env.node.res.headersSent) {
188
+ return [
189
+ 2,
190
+ void 0
191
+ ];
192
+ }
193
+ if (!c.finalized) {
194
+ return [
195
+ 2,
196
+ next()
197
+ ];
198
+ }
199
+ return [
200
+ 2
201
+ ];
202
+ }
203
+ });
204
+ });
205
+ return function(c, next) {
206
+ return _ref.apply(this, arguments);
207
+ };
208
+ }();
209
+ };
210
+ return CustomServer2;
211
+ }();
212
+ export {
213
+ CustomServer
214
+ };
@@ -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";
@@ -0,0 +1,75 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import { getPathname } from "../utils";
4
+ var LogPrefix;
5
+ (function(LogPrefix2) {
6
+ LogPrefix2["Outgoing"] = "-->";
7
+ LogPrefix2["Incoming"] = "<--";
8
+ LogPrefix2["Error"] = "xxx";
9
+ })(LogPrefix || (LogPrefix = {}));
10
+ var humanize = function(times) {
11
+ var delimiter = ",", separator = ".";
12
+ var orderTimes = times.map(function(v) {
13
+ return v.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1".concat(delimiter));
14
+ });
15
+ return orderTimes.join(separator);
16
+ };
17
+ var time = function(start) {
18
+ var delta = Date.now() - start;
19
+ return humanize([
20
+ delta < 1e3 ? "".concat(delta, "ms") : "".concat(Math.round(delta / 1e3), "s")
21
+ ]);
22
+ };
23
+ var colorStatus = function(status) {
24
+ var out = {
25
+ 7: "\x1B[35m".concat(status, "\x1B[0m"),
26
+ 5: "\x1B[31m".concat(status, "\x1B[0m"),
27
+ 4: "\x1B[33m".concat(status, "\x1B[0m"),
28
+ 3: "\x1B[36m".concat(status, "\x1B[0m"),
29
+ 2: "\x1B[32m".concat(status, "\x1B[0m"),
30
+ 1: "\x1B[32m".concat(status, "\x1B[0m"),
31
+ 0: "\x1B[33m".concat(status, "\x1B[0m")
32
+ };
33
+ var calculateStatus = Math.floor(status / 100);
34
+ return out[calculateStatus];
35
+ };
36
+ function log(fn, prefix, method, path) {
37
+ var status = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0, elapsed = arguments.length > 5 ? arguments[5] : void 0;
38
+ var out = prefix === "<--" ? " ".concat(prefix, " ").concat(method, " ").concat(path) : " ".concat(prefix, " ").concat(method, " ").concat(path, " ").concat(colorStatus(status), " ").concat(elapsed);
39
+ fn(out);
40
+ }
41
+ function logHandler() {
42
+ return function() {
43
+ var _logger = _async_to_generator(function(c, next) {
44
+ var method, _$logger, path, logFn, start;
45
+ return _ts_generator(this, function(_state) {
46
+ switch (_state.label) {
47
+ case 0:
48
+ method = c.req.method;
49
+ _$logger = c.get("logger");
50
+ path = getPathname(c.req.raw);
51
+ logFn = _$logger.info;
52
+ log(logFn, "<--", method, path);
53
+ start = Date.now();
54
+ return [
55
+ 4,
56
+ next()
57
+ ];
58
+ case 1:
59
+ _state.sent();
60
+ log(logFn, "-->", method, path, c.res.status, time(start));
61
+ return [
62
+ 2
63
+ ];
64
+ }
65
+ });
66
+ });
67
+ function logger(c, next) {
68
+ return _logger.apply(this, arguments);
69
+ }
70
+ return logger;
71
+ }();
72
+ }
73
+ export {
74
+ logHandler
75
+ };