@modern-js/prod-server 2.48.5 → 2.49.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 (174) hide show
  1. package/README.md +20 -16
  2. package/dist/cjs/{libs/route/route.js → error.js} +16 -17
  3. package/dist/cjs/index.js +18 -24
  4. package/dist/cjs/init.js +71 -0
  5. package/dist/cjs/{type.js → types.js} +2 -2
  6. package/dist/esm/error.js +15 -0
  7. package/dist/esm/index.js +53 -19
  8. package/dist/esm/init.js +73 -0
  9. package/dist/esm-node/error.js +14 -0
  10. package/dist/esm-node/index.js +16 -17
  11. package/dist/esm-node/init.js +47 -0
  12. package/dist/types/error.d.ts +6 -0
  13. package/dist/types/index.d.ts +8 -11
  14. package/dist/types/init.d.ts +4 -0
  15. package/dist/types/types.d.ts +14 -0
  16. package/package.json +23 -64
  17. package/dist/cjs/constants.js +0 -72
  18. package/dist/cjs/libs/context/context.js +0 -236
  19. package/dist/cjs/libs/context/index.js +0 -31
  20. package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
  21. package/dist/cjs/libs/hook-api/base.js +0 -96
  22. package/dist/cjs/libs/hook-api/index.js +0 -85
  23. package/dist/cjs/libs/hook-api/index.worker.js +0 -116
  24. package/dist/cjs/libs/hook-api/route.js +0 -44
  25. package/dist/cjs/libs/hook-api/template.js +0 -72
  26. package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
  27. package/dist/cjs/libs/loadConfig.js +0 -70
  28. package/dist/cjs/libs/metrics.js +0 -33
  29. package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
  30. package/dist/cjs/libs/preload/index.js +0 -24
  31. package/dist/cjs/libs/preload/parseLinks.js +0 -124
  32. package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
  33. package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
  34. package/dist/cjs/libs/proxy.js +0 -99
  35. package/dist/cjs/libs/render/index.js +0 -109
  36. package/dist/cjs/libs/render/measure.js +0 -74
  37. package/dist/cjs/libs/render/ssr.js +0 -130
  38. package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -51
  39. package/dist/cjs/libs/render/ssrCache/index.js +0 -90
  40. package/dist/cjs/libs/render/ssrCache/manager.js +0 -120
  41. package/dist/cjs/libs/render/static.js +0 -72
  42. package/dist/cjs/libs/render/type.js +0 -33
  43. package/dist/cjs/libs/render/utils.js +0 -41
  44. package/dist/cjs/libs/reporter.js +0 -39
  45. package/dist/cjs/libs/route/index.js +0 -83
  46. package/dist/cjs/libs/route/matcher.js +0 -113
  47. package/dist/cjs/libs/serveFile.js +0 -84
  48. package/dist/cjs/libs/serverTiming.js +0 -41
  49. package/dist/cjs/renderHtml.js +0 -65
  50. package/dist/cjs/server/index.js +0 -223
  51. package/dist/cjs/server/modernServer.js +0 -522
  52. package/dist/cjs/server/modernServerSplit.js +0 -67
  53. package/dist/cjs/utils.js +0 -164
  54. package/dist/cjs/workerServer.js +0 -260
  55. package/dist/esm/constants.js +0 -43
  56. package/dist/esm/libs/context/context.js +0 -260
  57. package/dist/esm/libs/context/index.js +0 -8
  58. package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
  59. package/dist/esm/libs/hook-api/base.js +0 -73
  60. package/dist/esm/libs/hook-api/index.js +0 -55
  61. package/dist/esm/libs/hook-api/index.worker.js +0 -99
  62. package/dist/esm/libs/hook-api/route.js +0 -26
  63. package/dist/esm/libs/hook-api/template.js +0 -56
  64. package/dist/esm/libs/hook-api/templateForStream.js +0 -35
  65. package/dist/esm/libs/loadConfig.js +0 -36
  66. package/dist/esm/libs/metrics.js +0 -9
  67. package/dist/esm/libs/preload/flushServerHeader.js +0 -50
  68. package/dist/esm/libs/preload/index.js +0 -2
  69. package/dist/esm/libs/preload/parseLinks.js +0 -172
  70. package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
  71. package/dist/esm/libs/preload/transformLinks2String.js +0 -140
  72. package/dist/esm/libs/proxy.js +0 -160
  73. package/dist/esm/libs/render/index.js +0 -175
  74. package/dist/esm/libs/render/measure.js +0 -69
  75. package/dist/esm/libs/render/ssr.js +0 -133
  76. package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -25
  77. package/dist/esm/libs/render/ssrCache/index.js +0 -170
  78. package/dist/esm/libs/render/ssrCache/manager.js +0 -178
  79. package/dist/esm/libs/render/static.js +0 -100
  80. package/dist/esm/libs/render/type.js +0 -9
  81. package/dist/esm/libs/render/utils.js +0 -16
  82. package/dist/esm/libs/reporter.js +0 -15
  83. package/dist/esm/libs/route/index.js +0 -82
  84. package/dist/esm/libs/route/matcher.js +0 -92
  85. package/dist/esm/libs/route/route.js +0 -17
  86. package/dist/esm/libs/serveFile.js +0 -68
  87. package/dist/esm/libs/serverTiming.js +0 -22
  88. package/dist/esm/renderHtml.js +0 -133
  89. package/dist/esm/server/index.js +0 -350
  90. package/dist/esm/server/modernServer.js +0 -884
  91. package/dist/esm/server/modernServerSplit.js +0 -113
  92. package/dist/esm/utils.js +0 -103
  93. package/dist/esm/workerServer.js +0 -352
  94. package/dist/esm-node/constants.js +0 -43
  95. package/dist/esm-node/libs/context/context.js +0 -202
  96. package/dist/esm-node/libs/context/index.js +0 -6
  97. package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
  98. package/dist/esm-node/libs/hook-api/base.js +0 -61
  99. package/dist/esm-node/libs/hook-api/index.js +0 -57
  100. package/dist/esm-node/libs/hook-api/index.worker.js +0 -89
  101. package/dist/esm-node/libs/hook-api/route.js +0 -20
  102. package/dist/esm-node/libs/hook-api/template.js +0 -47
  103. package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
  104. package/dist/esm-node/libs/loadConfig.js +0 -34
  105. package/dist/esm-node/libs/metrics.js +0 -9
  106. package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
  107. package/dist/esm-node/libs/preload/index.js +0 -2
  108. package/dist/esm-node/libs/preload/parseLinks.js +0 -90
  109. package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
  110. package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
  111. package/dist/esm-node/libs/proxy.js +0 -74
  112. package/dist/esm-node/libs/render/index.js +0 -75
  113. package/dist/esm-node/libs/render/measure.js +0 -49
  114. package/dist/esm-node/libs/render/ssr.js +0 -96
  115. package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -17
  116. package/dist/esm-node/libs/render/ssrCache/index.js +0 -66
  117. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -96
  118. package/dist/esm-node/libs/render/static.js +0 -38
  119. package/dist/esm-node/libs/render/type.js +0 -9
  120. package/dist/esm-node/libs/render/utils.js +0 -16
  121. package/dist/esm-node/libs/reporter.js +0 -15
  122. package/dist/esm-node/libs/route/index.js +0 -58
  123. package/dist/esm-node/libs/route/matcher.js +0 -89
  124. package/dist/esm-node/libs/route/route.js +0 -16
  125. package/dist/esm-node/libs/serveFile.js +0 -49
  126. package/dist/esm-node/libs/serverTiming.js +0 -17
  127. package/dist/esm-node/renderHtml.js +0 -73
  128. package/dist/esm-node/server/index.js +0 -189
  129. package/dist/esm-node/server/modernServer.js +0 -488
  130. package/dist/esm-node/server/modernServerSplit.js +0 -43
  131. package/dist/esm-node/utils.js +0 -132
  132. package/dist/esm-node/workerServer.js +0 -235
  133. package/dist/types/constants.d.ts +0 -30
  134. package/dist/types/libs/context/context.d.ts +0 -62
  135. package/dist/types/libs/context/index.d.ts +0 -7
  136. package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
  137. package/dist/types/libs/hook-api/base.d.ts +0 -53
  138. package/dist/types/libs/hook-api/index.d.ts +0 -6
  139. package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
  140. package/dist/types/libs/hook-api/route.d.ts +0 -9
  141. package/dist/types/libs/hook-api/template.d.ts +0 -22
  142. package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
  143. package/dist/types/libs/loadConfig.d.ts +0 -13
  144. package/dist/types/libs/metrics.d.ts +0 -3
  145. package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
  146. package/dist/types/libs/preload/index.d.ts +0 -2
  147. package/dist/types/libs/preload/parseLinks.d.ts +0 -13
  148. package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
  149. package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
  150. package/dist/types/libs/proxy.d.ts +0 -13
  151. package/dist/types/libs/render/index.d.ts +0 -21
  152. package/dist/types/libs/render/measure.d.ts +0 -10
  153. package/dist/types/libs/render/ssr.d.ts +0 -12
  154. package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
  155. package/dist/types/libs/render/ssrCache/index.d.ts +0 -6
  156. package/dist/types/libs/render/ssrCache/manager.d.ts +0 -20
  157. package/dist/types/libs/render/static.d.ts +0 -3
  158. package/dist/types/libs/render/type.d.ts +0 -36
  159. package/dist/types/libs/render/utils.d.ts +0 -5
  160. package/dist/types/libs/reporter.d.ts +0 -2
  161. package/dist/types/libs/route/index.d.ts +0 -15
  162. package/dist/types/libs/route/matcher.d.ts +0 -15
  163. package/dist/types/libs/route/route.d.ts +0 -14
  164. package/dist/types/libs/serveFile.d.ts +0 -9
  165. package/dist/types/libs/serverTiming.d.ts +0 -13
  166. package/dist/types/renderHtml.d.ts +0 -23
  167. package/dist/types/server/index.d.ts +0 -55
  168. package/dist/types/server/modernServer.d.ts +0 -71
  169. package/dist/types/server/modernServerSplit.d.ts +0 -2
  170. package/dist/types/type.d.ts +0 -78
  171. package/dist/types/utils.d.ts +0 -24
  172. package/dist/types/workerServer.d.ts +0 -59
  173. /package/dist/esm/{type.js → types.js} +0 -0
  174. /package/dist/esm-node/{type.js → types.js} +0 -0
@@ -1,260 +0,0 @@
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 { _ as _instanceof } from "@swc/helpers/_/_instanceof";
7
- import { URL } from "url";
8
- import qs from "querystring";
9
- import { Buffer } from "buffer";
10
- import createEtag from "etag";
11
- import fresh from "fresh";
12
- import { cutNameByHyphen } from "@modern-js/utils";
13
- import { ServerTiming } from "../serverTiming";
14
- import { defaultReporter } from "../reporter";
15
- import { headersWithoutCookie } from "../../utils";
16
- var MOCK_URL_BASE = "https://modernjs.dev/";
17
- var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
18
- var ModernServerContext = /* @__PURE__ */ function() {
19
- "use strict";
20
- function ModernServerContext2(req, res, options) {
21
- _class_call_check(this, ModernServerContext2);
22
- _class_private_field_init(this, _urls, {
23
- writable: true,
24
- value: void 0
25
- });
26
- _class_private_field_init(this, _queries, {
27
- writable: true,
28
- value: void 0
29
- });
30
- this.params = {};
31
- this.reporter = defaultReporter;
32
- this.serverData = {};
33
- this.options = {};
34
- this.req = req;
35
- this.res = res;
36
- this.options = options || {};
37
- this.bind();
38
- _class_private_field_set(this, _urls, /* @__PURE__ */ new Map());
39
- _class_private_field_set(this, _queries, /* @__PURE__ */ new Map());
40
- this.serverTiming = new ServerTiming(this.res, cutNameByHyphen((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
41
- req.reporter && (this.reporter = req.reporter);
42
- }
43
- var _proto = ModernServerContext2.prototype;
44
- _proto.bind = function bind() {
45
- var _this = this;
46
- var _this1 = this, req = _this1.req, res = _this1.res;
47
- req.get = function(key) {
48
- return _this.getReqHeader(key);
49
- };
50
- res.set = function(key, value) {
51
- if (!res.headersSent) {
52
- res.setHeader(key, value);
53
- }
54
- return res;
55
- };
56
- res.send = function(body) {
57
- _this.send(body);
58
- };
59
- };
60
- _proto.send = function send(body) {
61
- try {
62
- var generateETag = !this.res.getHeader("ETag") && this.options.etag;
63
- if (body !== void 0 && generateETag) {
64
- var encoding = typeof body === "string" ? "utf-8" : void 0;
65
- var buf = !Buffer.isBuffer(body) ? Buffer.from(body, encoding) : body;
66
- var etag = createEtag(buf, {
67
- weak: true
68
- });
69
- if (etag) {
70
- this.res.setHeader("ETag", etag);
71
- }
72
- }
73
- if (this.fresh) {
74
- this.status = 304;
75
- }
76
- } catch (e) {
77
- this.logger.error(e.message);
78
- }
79
- this.res.end(body);
80
- };
81
- _proto.setParams = function setParams(params) {
82
- this.params = params;
83
- };
84
- _proto.setServerData = function setServerData(key, value) {
85
- this.serverData[key] = value;
86
- };
87
- _proto.getReqHeader = function getReqHeader(key) {
88
- var req = this.req;
89
- var field = key.toLowerCase();
90
- switch (field) {
91
- case "referer":
92
- case "referrer":
93
- return req.headers.referrer || req.headers.referer || "";
94
- default:
95
- return req.headers[field] || "";
96
- }
97
- };
98
- _proto.resHasHandled = function resHasHandled() {
99
- return this.res.writableEnded;
100
- };
101
- _proto.error = function error(dig) {
102
- var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
103
- this.logger.error("Web Server Error - ".concat(dig, ", error = %s, req.url = %s, req.headers = %o"), _instanceof(e, Error) ? e.stack || e.message : e, this.path, headersWithoutCookie(this.headers));
104
- };
105
- _create_class(ModernServerContext2, [
106
- {
107
- key: "logger",
108
- get: function get() {
109
- return this.req.logger;
110
- }
111
- },
112
- {
113
- key: "metrics",
114
- get: function get() {
115
- return this.req.metrics;
116
- }
117
- },
118
- {
119
- key: "parsedURL",
120
- get: function get() {
121
- try {
122
- var url = _class_private_field_get(this, _urls).get(this.req.url);
123
- if (!url) {
124
- url = new URL(this.req.url, MOCK_URL_BASE);
125
- _class_private_field_get(this, _urls).set(this.req.url, url);
126
- }
127
- return url;
128
- } catch (e) {
129
- this.logger.error("Parse URL error", e.stack || e.message);
130
- return new URL("/_modern_mock_path", MOCK_URL_BASE);
131
- }
132
- }
133
- },
134
- {
135
- key: "fresh",
136
- get: function get() {
137
- var _this = this, status = _this.status, res = _this.res, method = _this.method;
138
- if ("GET" !== method && "HEAD" !== method) {
139
- return false;
140
- }
141
- if (status >= 200 && status < 300 || 304 === status) {
142
- return fresh(this.headers, {
143
- etag: res.getHeader("ETag"),
144
- "last-modified": res.getHeader("Last-Modified")
145
- });
146
- }
147
- return false;
148
- }
149
- },
150
- {
151
- key: "headers",
152
- get: (
153
- /* request property */
154
- function get() {
155
- return this.req.headers;
156
- }
157
- )
158
- },
159
- {
160
- key: "method",
161
- get: function get() {
162
- return this.req.method;
163
- }
164
- },
165
- {
166
- key: "url",
167
- get: function get() {
168
- return this.req.url || "";
169
- },
170
- set: function set(val) {
171
- this.req.url = val;
172
- }
173
- },
174
- {
175
- key: "host",
176
- get: function get() {
177
- var host = this.getReqHeader("X-Forwarded-Host");
178
- if (!host) {
179
- host = this.getReqHeader("Host");
180
- }
181
- host = host.split(/\s*,\s*/, 1)[0] || "undefined";
182
- return host;
183
- }
184
- },
185
- {
186
- key: "protocol",
187
- get: function get() {
188
- if (this.req.socket.encrypted) {
189
- return "https";
190
- }
191
- var proto = this.getReqHeader("X-Forwarded-Proto");
192
- return proto ? proto.split(/\s*,\s*/, 1)[0] : "http";
193
- }
194
- },
195
- {
196
- key: "origin",
197
- get: function get() {
198
- return "".concat(this.protocol, "://").concat(this.host);
199
- }
200
- },
201
- {
202
- key: "href",
203
- get: function get() {
204
- return this.origin + this.url;
205
- }
206
- },
207
- {
208
- key: "path",
209
- get: function get() {
210
- return this.parsedURL.pathname;
211
- },
212
- set: function set(p) {
213
- if (!p) {
214
- return;
215
- }
216
- if (this.path === p) {
217
- return;
218
- }
219
- this.url = p + this.parsedURL.search;
220
- }
221
- },
222
- {
223
- key: "querystring",
224
- get: function get() {
225
- if (!this.req) {
226
- return "";
227
- }
228
- return this.parsedURL.search.replace(/^\?/, "") || "";
229
- }
230
- },
231
- {
232
- key: "query",
233
- get: function get() {
234
- var str = this.querystring;
235
- var query = _class_private_field_get(this, _queries).get(str);
236
- if (!query) {
237
- query = qs.parse(str);
238
- _class_private_field_get(this, _queries).set(str, query);
239
- }
240
- return query;
241
- }
242
- },
243
- {
244
- key: "status",
245
- get: (
246
- /* response property */
247
- function get() {
248
- return this.res.statusCode;
249
- }
250
- ),
251
- set: function set(statusCode) {
252
- this.res.statusCode = statusCode;
253
- }
254
- }
255
- ]);
256
- return ModernServerContext2;
257
- }();
258
- export {
259
- ModernServerContext
260
- };
@@ -1,8 +0,0 @@
1
- import { ModernServerContext } from "./context";
2
- var createContext = function(req, res, options) {
3
- return new ModernServerContext(req, res, options);
4
- };
5
- export {
6
- ModernServerContext,
7
- createContext
8
- };
@@ -1,33 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { Transform } from "stream";
4
- var afterRenderInjectableStream = function(fn) {
5
- return new Transform({
6
- write: function write(chunk, _, callback) {
7
- return _async_to_generator(function() {
8
- var _2, _1;
9
- return _ts_generator(this, function(_state) {
10
- switch (_state.label) {
11
- case 0:
12
- _1 = (_2 = this).push;
13
- return [
14
- 4,
15
- fn(chunk.toString())
16
- ];
17
- case 1:
18
- _1.apply(_2, [
19
- _state.sent()
20
- ]);
21
- callback();
22
- return [
23
- 2
24
- ];
25
- }
26
- });
27
- }).apply(this);
28
- }
29
- });
30
- };
31
- export {
32
- afterRenderInjectableStream
33
- };
@@ -1,73 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
3
- import cookie from "cookie";
4
- var BaseResponse = /* @__PURE__ */ function() {
5
- "use strict";
6
- function BaseResponse2(res) {
7
- _class_call_check(this, BaseResponse2);
8
- this.res = res;
9
- this.cookies = {
10
- set: this.setCookie.bind(this),
11
- clear: this.clearCookie.bind(this)
12
- };
13
- }
14
- var _proto = BaseResponse2.prototype;
15
- _proto.get = function get(key) {
16
- return this.res.getHeader(key);
17
- };
18
- _proto.set = function set(key, value) {
19
- return this.res.setHeader(key, value);
20
- };
21
- _proto.status = function status(code) {
22
- this.res.statusCode = code;
23
- };
24
- _proto.setCookie = function setCookie(key, value, options) {
25
- var cookieValue = this.res.getHeader("set-cookie") || "";
26
- var fmt = Array.isArray(cookieValue) ? cookieValue : [
27
- cookieValue
28
- ].filter(Boolean);
29
- fmt.push(cookie.serialize(key, value, options));
30
- this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
31
- };
32
- _proto.clearCookie = function clearCookie() {
33
- this.res.removeHeader("set-cookie");
34
- };
35
- _proto.raw = function raw(body, options) {
36
- var _this = this;
37
- var _ref = options || {}, status = _ref.status, _ref_headers = _ref.headers, headers = _ref_headers === void 0 ? {} : _ref_headers;
38
- Object.entries(headers).forEach(function(param) {
39
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
40
- _this.res.setHeader(key, value);
41
- });
42
- if (status) {
43
- this.res.statusCode = status;
44
- }
45
- this.res.end(body);
46
- };
47
- return BaseResponse2;
48
- }();
49
- var BaseRequest = /* @__PURE__ */ function() {
50
- "use strict";
51
- function BaseRequest2(request) {
52
- _class_call_check(this, BaseRequest2);
53
- this.url = request.url;
54
- this.host = request.host;
55
- this.pathname = request.path;
56
- this.query = request.query;
57
- this.headers = request.headers;
58
- this.cookie = request.headers.cookie || "";
59
- this._cookie = cookie.parse(this.cookie);
60
- this.cookies = {
61
- get: this.getCookie.bind(this)
62
- };
63
- }
64
- var _proto = BaseRequest2.prototype;
65
- _proto.getCookie = function getCookie(key) {
66
- return this._cookie[key];
67
- };
68
- return BaseRequest2;
69
- }();
70
- export {
71
- BaseRequest,
72
- BaseResponse
73
- };
@@ -1,55 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
- import { RouteAPI } from "./route";
4
- import { TemplateAPI } from "./template";
5
- import { BaseRequest, BaseResponse } from "./base";
6
- var base = function(context) {
7
- var res = context.res;
8
- return {
9
- response: new BaseResponse(res),
10
- request: new BaseRequest(context),
11
- logger: context.logger,
12
- metrics: context.metrics
13
- };
14
- };
15
- var createAfterMatchContext = function(context, entryName) {
16
- var baseContext = base(context);
17
- return _object_spread_props(_object_spread({}, baseContext), {
18
- router: new RouteAPI(entryName)
19
- });
20
- };
21
- var createAfterRenderContext = function(context, route, content) {
22
- var baseContext = base(context);
23
- return _object_spread_props(_object_spread({}, baseContext), {
24
- route,
25
- template: new TemplateAPI(content)
26
- });
27
- };
28
- var createAfterStreamingRenderContext = function(context, route) {
29
- var baseContext = base(context);
30
- return function(chunk) {
31
- return _object_spread_props(_object_spread({}, baseContext), {
32
- route,
33
- chunk
34
- });
35
- };
36
- };
37
- var createMiddlewareContext = function(context) {
38
- var baseContext = base(context);
39
- baseContext.response.locals = context.res.locals || {};
40
- return _object_spread_props(_object_spread({}, baseContext), {
41
- response: baseContext.response,
42
- reporter: context.reporter,
43
- source: {
44
- req: context.req,
45
- res: context.res
46
- }
47
- });
48
- };
49
- export {
50
- base,
51
- createAfterMatchContext,
52
- createAfterRenderContext,
53
- createAfterStreamingRenderContext,
54
- createMiddlewareContext
55
- };
@@ -1,99 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
4
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
5
- import { BaseRequest, BaseResponse } from "./base";
6
- import { RouteAPI } from "./route";
7
- import { TemplateAPI } from "./template";
8
- var ServerResponse = /* @__PURE__ */ function() {
9
- "use strict";
10
- function ServerResponse2(res) {
11
- _class_call_check(this, ServerResponse2);
12
- this.res = res;
13
- this.locals = res.locals;
14
- }
15
- var _proto = ServerResponse2.prototype;
16
- _proto.getHeader = function getHeader(key) {
17
- var _this_res_headers_get;
18
- return (_this_res_headers_get = this.res.headers.get(key)) !== null && _this_res_headers_get !== void 0 ? _this_res_headers_get : void 0;
19
- };
20
- _proto.setHeader = function setHeader(key, value) {
21
- this.res.headers.set(key, value);
22
- };
23
- _proto.removeHeader = function removeHeader(key) {
24
- this.res.headers.delete(key);
25
- };
26
- _proto.end = function end(body) {
27
- this.res.body = body;
28
- this.res.isSent = true;
29
- };
30
- _create_class(ServerResponse2, [
31
- {
32
- key: "statusCode",
33
- get: function get() {
34
- return this.res.status;
35
- },
36
- set: function set(code) {
37
- this.res.status = code;
38
- }
39
- }
40
- ]);
41
- return ServerResponse2;
42
- }();
43
- var base = function(context) {
44
- var req = context.req, res = context.res, logger = context.logger, metrics = context.metrics;
45
- var serverResponse = new ServerResponse(res);
46
- var _ref = new URL(req.url), host = _ref.host, pathname = _ref.pathname, searchParams = _ref.searchParams;
47
- var headers = {};
48
- req.headers.forEach(function(value, key) {
49
- headers[key] = value;
50
- });
51
- return {
52
- response: new BaseResponse(serverResponse),
53
- request: new BaseRequest({
54
- url: req.url,
55
- host,
56
- path: pathname,
57
- headers,
58
- // eslint-disable-next-line node/no-unsupported-features/es-builtins
59
- query: Object.fromEntries(searchParams)
60
- }),
61
- logger,
62
- metrics
63
- };
64
- };
65
- var createAfterMatchContext = function(context, entryName) {
66
- var baseContext = base(context);
67
- return _object_spread_props(_object_spread({}, baseContext), {
68
- router: new RouteAPI(entryName)
69
- });
70
- };
71
- var createAfterRenderContext = function(context, route, content) {
72
- var baseContext = base(context);
73
- return _object_spread_props(_object_spread({}, baseContext), {
74
- route,
75
- template: new TemplateAPI(content)
76
- });
77
- };
78
- var createMiddlewareContext = function(context) {
79
- var baseContext = base(context);
80
- baseContext.response.locals = context.res.locals;
81
- var _context_req = context.req, url = _context_req.url, headers = _context_req.headers;
82
- var rawRequest = new Request(url, {
83
- headers
84
- });
85
- return _object_spread_props(_object_spread({}, baseContext), {
86
- reporter: context.reporter,
87
- response: baseContext.response,
88
- source: {
89
- req: rawRequest,
90
- res: baseContext.response
91
- }
92
- });
93
- };
94
- export {
95
- base,
96
- createAfterMatchContext,
97
- createAfterRenderContext,
98
- createMiddlewareContext
99
- };
@@ -1,26 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- var RouteAPI = /* @__PURE__ */ function() {
3
- "use strict";
4
- function RouteAPI2(entryName) {
5
- _class_call_check(this, RouteAPI2);
6
- this.current = entryName;
7
- this.status = 200;
8
- this.url = "";
9
- }
10
- var _proto = RouteAPI2.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 RouteAPI2;
23
- }();
24
- export {
25
- RouteAPI
26
- };
@@ -1,56 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- var RegList = {
3
- before: {
4
- head: "<head[^>]*>",
5
- body: "<body[^>]*>"
6
- },
7
- after: {
8
- head: "</head>",
9
- body: "</body>"
10
- }
11
- };
12
- var TemplateAPI = /* @__PURE__ */ function() {
13
- "use strict";
14
- function TemplateAPI2(content) {
15
- _class_call_check(this, TemplateAPI2);
16
- this.content = content;
17
- }
18
- var _proto = TemplateAPI2.prototype;
19
- _proto.get = function get() {
20
- return this.content;
21
- };
22
- _proto.set = function set(content) {
23
- this.content = content;
24
- };
25
- _proto.prependHead = function prependHead(fragment) {
26
- var head = RegList.before.head;
27
- return this.replaceByFunction(new RegExp(head), function(beforeHead) {
28
- return "".concat(beforeHead).concat(fragment);
29
- });
30
- };
31
- _proto.appendHead = function appendHead(fragment) {
32
- var head = RegList.after.head;
33
- return this.replace(head, "".concat(fragment).concat(head));
34
- };
35
- _proto.prependBody = function prependBody(fragment) {
36
- var body = RegList.before.body;
37
- return this.replaceByFunction(new RegExp(body), function(beforeBody) {
38
- return "".concat(beforeBody).concat(fragment);
39
- });
40
- };
41
- _proto.appendBody = function appendBody(fragment) {
42
- var body = RegList.after.body;
43
- return this.replace(body, "".concat(fragment).concat(body));
44
- };
45
- _proto.replaceByFunction = function replaceByFunction(reg, replacer) {
46
- this.content = this.content.replace(reg, replacer);
47
- };
48
- _proto.replace = function replace(reg, text) {
49
- this.content = this.content.replace(reg, text);
50
- };
51
- return TemplateAPI2;
52
- }();
53
- export {
54
- RegList,
55
- TemplateAPI
56
- };
@@ -1,35 +0,0 @@
1
- import { Transform } from "stream";
2
- import { RegList } from "./template";
3
- var templateInjectableStream = function(param) {
4
- var prependHead = param.prependHead, appendHead = param.appendHead, prependBody = param.prependBody, appendBody = param.appendBody;
5
- return new Transform({
6
- write: function write(chunk, _, callback) {
7
- var chunk_str = chunk.toString();
8
- if (prependHead) {
9
- var head = RegList.before.head;
10
- chunk_str = chunk_str.replace(new RegExp(head), function(beforeHead) {
11
- return "".concat(beforeHead).concat(prependHead);
12
- });
13
- }
14
- if (appendHead) {
15
- var head1 = RegList.after.head;
16
- chunk_str = chunk_str.replace(head1, "".concat(appendHead).concat(head1));
17
- }
18
- if (prependBody) {
19
- var body = RegList.before.body;
20
- chunk_str = chunk_str.replace(new RegExp(body), function(beforeBody) {
21
- return "".concat(beforeBody).concat(prependBody);
22
- });
23
- }
24
- if (appendBody) {
25
- var body1 = RegList.after.body;
26
- chunk_str = chunk_str.replace(body1, "".concat(appendBody).concat(body1));
27
- }
28
- this.push(chunk_str);
29
- callback();
30
- }
31
- });
32
- };
33
- export {
34
- templateInjectableStream
35
- };
@@ -1,36 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
- import * as path from "path";
4
- import { compatRequire, fs, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
5
- import mergeDeep from "merge-deep";
6
- var getServerConfigPath = function(distDirectory) {
7
- var serverConfigFile = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_SERVER_CONFIG;
8
- var serverConfigPath = path.join(distDirectory, serverConfigFile);
9
- return "".concat(serverConfigPath, ".js");
10
- };
11
- var requireConfig = function(serverConfigPath) {
12
- if (fs.pathExistsSync(serverConfigPath)) {
13
- return compatRequire(serverConfigPath);
14
- }
15
- return {};
16
- };
17
- var loadConfig = function(param) {
18
- var cliConfig = param.cliConfig, serverConfig = param.serverConfig, resolvedConfigPath = param.resolvedConfigPath;
19
- var config = null;
20
- if (process.env.NODE_ENV === "production") {
21
- var resolvedConfig = requireConfig(resolvedConfigPath);
22
- config = mergeDeep(_object_spread_props(_object_spread({}, resolvedConfig), {
23
- plugins: []
24
- }), serverConfig, cliConfig);
25
- } else {
26
- config = mergeDeep(_object_spread_props(_object_spread({}, cliConfig), {
27
- plugins: []
28
- }), serverConfig);
29
- }
30
- return config;
31
- };
32
- export {
33
- getServerConfigPath,
34
- loadConfig,
35
- requireConfig
36
- };
@@ -1,9 +0,0 @@
1
- var metrics = {
2
- emitCounter: function emitCounter() {
3
- },
4
- emitTimer: function emitTimer() {
5
- }
6
- };
7
- export {
8
- metrics
9
- };