@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,171 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var base_exports = {};
20
+ __export(base_exports, {
21
+ createBaseHookContext: () => createBaseHookContext
22
+ });
23
+ module.exports = __toCommonJS(base_exports);
24
+ var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
25
+ var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
26
+ var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
27
+ var import_cookie = require("hono/cookie");
28
+ var import_utils = require("../../utils");
29
+ function createBaseHookContext(c) {
30
+ const logger = c.get("logger");
31
+ const metrics = c.get("metrics");
32
+ return {
33
+ request: new BaseHookRequest(c),
34
+ response: new BaseHookResponse(c),
35
+ logger,
36
+ metrics
37
+ };
38
+ }
39
+ var _req = /* @__PURE__ */ new WeakMap(), _c = /* @__PURE__ */ new WeakMap(), _headersData = /* @__PURE__ */ new WeakMap(), _headers = /* @__PURE__ */ new WeakMap();
40
+ class BaseHookRequest {
41
+ get url() {
42
+ return (0, import_class_private_field_get._)(this, _req).path;
43
+ }
44
+ // TODO: remove next major version
45
+ set url(_u) {
46
+ }
47
+ get host() {
48
+ return (0, import_utils.getHost)((0, import_class_private_field_get._)(this, _req).raw);
49
+ }
50
+ // TODO: remove next major version
51
+ set host(_h) {
52
+ }
53
+ get pathname() {
54
+ return (0, import_class_private_field_get._)(this, _req).path;
55
+ }
56
+ // TODO: remove next major version
57
+ set pathname(_p) {
58
+ }
59
+ get query() {
60
+ return (0, import_class_private_field_get._)(this, _req).query();
61
+ }
62
+ // TODO: remove next major version
63
+ set query(_q) {
64
+ }
65
+ get headers() {
66
+ return (0, import_class_private_field_get._)(this, _headers);
67
+ }
68
+ // TODO: remove next major version
69
+ set headers(_h) {
70
+ }
71
+ get cookies() {
72
+ return {
73
+ // FIXME: ModernRequest Type Error
74
+ get: (key) => {
75
+ return (0, import_cookie.getCookie)((0, import_class_private_field_get._)(this, _c), key);
76
+ }
77
+ };
78
+ }
79
+ get cookie() {
80
+ return (0, import_class_private_field_get._)(this, _req).header("cookie");
81
+ }
82
+ // TODO: remove next major version
83
+ set cookie(_c2) {
84
+ }
85
+ constructor(c) {
86
+ (0, import_class_private_field_init._)(this, _req, {
87
+ writable: true,
88
+ value: void 0
89
+ });
90
+ (0, import_class_private_field_init._)(this, _c, {
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ (0, import_class_private_field_init._)(this, _headersData, {
95
+ writable: true,
96
+ value: void 0
97
+ });
98
+ (0, import_class_private_field_init._)(this, _headers, {
99
+ writable: true,
100
+ value: void 0
101
+ });
102
+ (0, import_class_private_field_set._)(this, _headersData, {});
103
+ (0, import_class_private_field_set._)(this, _c, c);
104
+ (0, import_class_private_field_set._)(this, _req, c.req);
105
+ const rawHeaders = (0, import_class_private_field_get._)(this, _req).raw.headers;
106
+ rawHeaders.forEach((value, key) => {
107
+ (0, import_class_private_field_get._)(this, _headersData)[key] = value;
108
+ });
109
+ (0, import_class_private_field_set._)(this, _headers, new Proxy((0, import_class_private_field_get._)(this, _headersData), {
110
+ get(target, p) {
111
+ return target[p];
112
+ },
113
+ set(target, p, newValue) {
114
+ target[p] = newValue;
115
+ rawHeaders.set(p, newValue);
116
+ return true;
117
+ }
118
+ }));
119
+ }
120
+ }
121
+ var _c1 = /* @__PURE__ */ new WeakMap();
122
+ class BaseHookResponse {
123
+ get(key) {
124
+ return (0, import_class_private_field_get._)(this, _c1).res.headers.get(key);
125
+ }
126
+ set(key, value) {
127
+ if ([
128
+ "set-cookie",
129
+ "Set-Cookie"
130
+ ].includes(key)) {
131
+ (0, import_class_private_field_get._)(this, _c1).header(key, value.toString(), {
132
+ append: true
133
+ });
134
+ } else {
135
+ (0, import_class_private_field_get._)(this, _c1).header(key, value.toString());
136
+ }
137
+ }
138
+ status(code) {
139
+ (0, import_class_private_field_get._)(this, _c1).status(code);
140
+ }
141
+ get cookies() {
142
+ const setCookie = (key, value) => {
143
+ (0, import_class_private_field_get._)(this, _c1).header("set-cookie", `${key}=${value}`, {
144
+ append: true
145
+ });
146
+ };
147
+ const clearCookie = () => {
148
+ (0, import_class_private_field_get._)(this, _c1).header("set-cookie", void 0);
149
+ };
150
+ return {
151
+ set: setCookie,
152
+ clear: clearCookie
153
+ };
154
+ }
155
+ raw(body, options) {
156
+ (0, import_class_private_field_get._)(this, _c1).res = (0, import_class_private_field_get._)(this, _c1).newResponse(body, options);
157
+ this.private_overrided = true;
158
+ }
159
+ constructor(c) {
160
+ (0, import_class_private_field_init._)(this, _c1, {
161
+ writable: true,
162
+ value: void 0
163
+ });
164
+ this.private_overrided = false;
165
+ (0, import_class_private_field_set._)(this, _c1, c);
166
+ }
167
+ }
168
+ // Annotate the CommonJS export names for ESM import in node:
169
+ 0 && (module.exports = {
170
+ createBaseHookContext
171
+ });
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var context_exports = {};
20
+ __export(context_exports, {
21
+ createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
22
+ createCustomMiddlewaresCtx: () => createCustomMiddlewaresCtx,
23
+ getAfterMatchCtx: () => getAfterMatchCtx,
24
+ getAfterRenderCtx: () => getAfterRenderCtx
25
+ });
26
+ module.exports = __toCommonJS(context_exports);
27
+ var import_routerApi = require("./routerApi");
28
+ var import_template = require("./template");
29
+ var import_base = require("./base");
30
+ function getAfterMatchCtx(entryName, baseHookCtx) {
31
+ const afterMatchCtx = baseHookCtx;
32
+ afterMatchCtx.router = new import_routerApi.RouterAPI(entryName);
33
+ return afterMatchCtx;
34
+ }
35
+ async function getAfterRenderCtx(c, baseHookCtx, route) {
36
+ const afterRenderCtx = baseHookCtx;
37
+ const resBody = await c.res.text();
38
+ afterRenderCtx.template = new import_template.TemplateApi(resBody);
39
+ afterRenderCtx.route = route;
40
+ return afterRenderCtx;
41
+ }
42
+ function createCustomMiddlewaresCtx(c, locals) {
43
+ var _c_env_node, _c_env_node1;
44
+ const baseContext = (0, import_base.createBaseHookContext)(c);
45
+ const reporter = c.get("reporter");
46
+ return {
47
+ ...baseContext,
48
+ reporter,
49
+ response: {
50
+ ...baseContext.response,
51
+ locals
52
+ },
53
+ source: {
54
+ req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
55
+ res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
56
+ }
57
+ };
58
+ }
59
+ function createAfterStreamingRenderContext(baseHookCtx, route) {
60
+ const streamingRenderCtx = baseHookCtx;
61
+ streamingRenderCtx.route = route;
62
+ return (chunk) => {
63
+ streamingRenderCtx.chunk = chunk;
64
+ return streamingRenderCtx;
65
+ };
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ createAfterStreamingRenderContext,
70
+ createCustomMiddlewaresCtx,
71
+ getAfterMatchCtx,
72
+ getAfterRenderCtx
73
+ });
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var customServer_exports = {};
20
+ __export(customServer_exports, {
21
+ CustomServer: () => CustomServer
22
+ });
23
+ module.exports = __toCommonJS(customServer_exports);
24
+ var import_time = require("@modern-js/runtime-utils/time");
25
+ var import_utils = require("../../utils");
26
+ var import_constants = require("../../constants");
27
+ var import_context = require("./context");
28
+ var import_base = require("./base");
29
+ const noop = () => {
30
+ };
31
+ const isHtmlResponse = (response) => {
32
+ const contentType = response.headers.get("content-type");
33
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/html");
34
+ };
35
+ class CustomServer {
36
+ getHookMiddleware(entryName, routes) {
37
+ return async (c, next) => {
38
+ const routeInfo = routes.find((route) => route.entryName === entryName);
39
+ const reporter = c.get("reporter");
40
+ const baseHookCtx = (0, import_base.createBaseHookContext)(c);
41
+ const afterMatchCtx = (0, import_context.getAfterMatchCtx)(entryName, baseHookCtx);
42
+ const getCost = (0, import_time.time)();
43
+ await this.runner.afterMatch(afterMatchCtx, {
44
+ onLast: noop
45
+ });
46
+ const cost = getCost();
47
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost));
48
+ const { url, status } = afterMatchCtx.router;
49
+ if (url) {
50
+ return c.redirect(url, status);
51
+ }
52
+ const { current } = afterMatchCtx.router;
53
+ if (current !== entryName) {
54
+ const rewriteRoute = routes.find((route) => route.entryName === current);
55
+ if (rewriteRoute) {
56
+ return this.serverBase.request(rewriteRoute.urlPath);
57
+ }
58
+ }
59
+ if (c.finalized) {
60
+ return void 0;
61
+ }
62
+ await next();
63
+ if (c.finalized && (!c.res.body || !isHtmlResponse(c.res) || [
64
+ 404,
65
+ 500
66
+ ].includes(c.res.status))) {
67
+ return void 0;
68
+ }
69
+ if (c.res) {
70
+ c.status(c.res.status);
71
+ }
72
+ if (routeInfo.isStream) {
73
+ const afterStreamingRenderContext = (0, import_context.createAfterStreamingRenderContext)(baseHookCtx, routeInfo);
74
+ c.res = (0, import_utils.transformResponse)(c.res, (chunk) => {
75
+ const context = afterStreamingRenderContext(chunk);
76
+ return this.runner.afterStreamingRender(context, {
77
+ onLast: ({ chunk: chunk2 }) => chunk2
78
+ });
79
+ });
80
+ } else {
81
+ const afterRenderCtx = await (0, import_context.getAfterRenderCtx)(c, baseHookCtx, routeInfo);
82
+ const getCost2 = (0, import_time.time)();
83
+ await this.runner.afterRender(afterRenderCtx, {
84
+ onLast: noop
85
+ });
86
+ const cost2 = getCost2();
87
+ cost2 && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost2));
88
+ if (afterRenderCtx.response.private_overrided) {
89
+ return void 0;
90
+ }
91
+ const newBody = afterRenderCtx.template.get();
92
+ c.res = c.body(newBody);
93
+ }
94
+ };
95
+ }
96
+ getServerMiddleware() {
97
+ return async (c, next) => {
98
+ var _c_env;
99
+ const serverMiddleware = await this.serverMiddlewarePromise;
100
+ if (!serverMiddleware) {
101
+ return next();
102
+ }
103
+ const reporter = c.get("reporter");
104
+ const locals = {};
105
+ const customMiddlewareCtx = (0, import_context.createCustomMiddlewaresCtx)(c, locals);
106
+ const getCost = (0, import_time.time)();
107
+ await serverMiddleware(customMiddlewareCtx);
108
+ const cost = getCost();
109
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost));
110
+ c.set("locals", locals);
111
+ if ((_c_env = c.env) === null || _c_env === void 0 ? void 0 : _c_env.node.res.headersSent) {
112
+ return void 0;
113
+ }
114
+ if (!c.finalized) {
115
+ return next();
116
+ }
117
+ };
118
+ }
119
+ constructor(runner, serverBase, pwd) {
120
+ this.runner = runner;
121
+ this.serverBase = serverBase;
122
+ const webExtension = [];
123
+ this.serverMiddlewarePromise = runner.prepareWebServer({
124
+ pwd,
125
+ config: {
126
+ middleware: webExtension
127
+ }
128
+ }, {
129
+ onLast: () => null
130
+ });
131
+ }
132
+ }
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {
135
+ CustomServer
136
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var routerApi_exports = {};
20
+ __export(routerApi_exports, {
21
+ RouterAPI: () => RouterAPI
22
+ });
23
+ module.exports = __toCommonJS(routerApi_exports);
24
+ class RouterAPI {
25
+ redirect(url, status = 302) {
26
+ this.url = url;
27
+ this.status = status;
28
+ }
29
+ rewrite(entryName) {
30
+ this.current = entryName;
31
+ }
32
+ use(entryName) {
33
+ this.rewrite(entryName);
34
+ }
35
+ constructor(entryName) {
36
+ this.current = entryName;
37
+ this.status = 200;
38
+ this.url = "";
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ RouterAPI
44
+ });
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var template_exports = {};
20
+ __export(template_exports, {
21
+ TemplateApi: () => TemplateApi
22
+ });
23
+ module.exports = __toCommonJS(template_exports);
24
+ var import_constants = require("../../constants");
25
+ class TemplateApi {
26
+ set(content) {
27
+ this.body = content;
28
+ }
29
+ get() {
30
+ return this.body;
31
+ }
32
+ prependHead(fragment) {
33
+ const { head } = import_constants.REPLACE_REG.before;
34
+ this.replaceBody(new RegExp(head), (beforeHead) => `${beforeHead}${fragment}`);
35
+ }
36
+ appendHead(fragment) {
37
+ const { head } = import_constants.REPLACE_REG.after;
38
+ this.replaceBody(head, () => `${fragment}${head}`);
39
+ }
40
+ prependBody(fragment) {
41
+ const { body } = import_constants.REPLACE_REG.before;
42
+ this.replaceBody(new RegExp(body), (beforeBody) => `${beforeBody}${fragment}`);
43
+ }
44
+ appendBody(fragment) {
45
+ const { body } = import_constants.REPLACE_REG.after;
46
+ this.replaceBody(body, () => `${fragment}${body}`);
47
+ }
48
+ replaceBody(searchValue, replaceCb) {
49
+ this.body = this.body.replace(searchValue, replaceCb);
50
+ }
51
+ constructor(body) {
52
+ this.body = body;
53
+ }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ TemplateApi
58
+ });
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var faviconFallback_exports = {};
20
+ __export(faviconFallback_exports, {
21
+ favionFallbackMiddleware: () => favionFallbackMiddleware
22
+ });
23
+ module.exports = __toCommonJS(faviconFallback_exports);
24
+ const favionFallbackMiddleware = async (c, next) => {
25
+ if (c.req.path === "/favicon.ico") {
26
+ return c.body(null, 204);
27
+ } else {
28
+ return next();
29
+ }
30
+ };
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ favionFallbackMiddleware
34
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var frameworkHeader_exports = {};
20
+ __export(frameworkHeader_exports, {
21
+ processedBy: () => processedBy
22
+ });
23
+ module.exports = __toCommonJS(frameworkHeader_exports);
24
+ const processedBy = async (ctx, next) => {
25
+ await next();
26
+ ctx.header("X-Processed-By", "Modern.js");
27
+ };
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ processedBy
31
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var middlewares_exports = {};
17
+ module.exports = __toCommonJS(middlewares_exports);
18
+ __reExport(middlewares_exports, require("./faviconFallback"), module.exports);
19
+ __reExport(middlewares_exports, require("./monitor"), module.exports);
20
+ __reExport(middlewares_exports, require("./renderHandler"), module.exports);
21
+ __reExport(middlewares_exports, require("./logger"), module.exports);
22
+ __reExport(middlewares_exports, require("./frameworkHeader"), module.exports);
23
+ // Annotate the CommonJS export names for ESM import in node:
24
+ 0 && (module.exports = {
25
+ ...require("./faviconFallback"),
26
+ ...require("./monitor"),
27
+ ...require("./renderHandler"),
28
+ ...require("./logger"),
29
+ ...require("./frameworkHeader")
30
+ });
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var logger_exports = {};
20
+ __export(logger_exports, {
21
+ logHandler: () => logHandler
22
+ });
23
+ module.exports = __toCommonJS(logger_exports);
24
+ var import_utils = require("../utils");
25
+ var LogPrefix;
26
+ (function(LogPrefix2) {
27
+ LogPrefix2["Outgoing"] = "-->";
28
+ LogPrefix2["Incoming"] = "<--";
29
+ LogPrefix2["Error"] = "xxx";
30
+ })(LogPrefix || (LogPrefix = {}));
31
+ const humanize = (times) => {
32
+ const [delimiter, separator] = [
33
+ ",",
34
+ "."
35
+ ];
36
+ const orderTimes = times.map((v) => v.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, `$1${delimiter}`));
37
+ return orderTimes.join(separator);
38
+ };
39
+ const time = (start) => {
40
+ const delta = Date.now() - start;
41
+ return humanize([
42
+ delta < 1e3 ? `${delta}ms` : `${Math.round(delta / 1e3)}s`
43
+ ]);
44
+ };
45
+ const colorStatus = (status) => {
46
+ const out = {
47
+ 7: `\x1B[35m${status}\x1B[0m`,
48
+ 5: `\x1B[31m${status}\x1B[0m`,
49
+ 4: `\x1B[33m${status}\x1B[0m`,
50
+ 3: `\x1B[36m${status}\x1B[0m`,
51
+ 2: `\x1B[32m${status}\x1B[0m`,
52
+ 1: `\x1B[32m${status}\x1B[0m`,
53
+ 0: `\x1B[33m${status}\x1B[0m`
54
+ };
55
+ const calculateStatus = Math.floor(status / 100);
56
+ return out[calculateStatus];
57
+ };
58
+ function log(fn, prefix, method, path, status = 0, elapsed) {
59
+ const out = prefix === "<--" ? ` ${prefix} ${method} ${path}` : ` ${prefix} ${method} ${path} ${colorStatus(status)} ${elapsed}`;
60
+ fn(out);
61
+ }
62
+ function logHandler() {
63
+ return async function logger(c, next) {
64
+ const { method } = c.req;
65
+ const logger2 = c.get("logger");
66
+ const path = (0, import_utils.getPathname)(c.req.raw);
67
+ const logFn = logger2.debug;
68
+ log(logFn, "<--", method, path);
69
+ const start = Date.now();
70
+ await next();
71
+ log(logFn, "-->", method, path, c.res.status, time(start));
72
+ };
73
+ }
74
+ // Annotate the CommonJS export names for ESM import in node:
75
+ 0 && (module.exports = {
76
+ logHandler
77
+ });