@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.
- package/README.md +20 -16
- package/dist/cjs/{libs/route/route.js → error.js} +16 -17
- package/dist/cjs/index.js +18 -24
- package/dist/cjs/init.js +71 -0
- package/dist/cjs/{type.js → types.js} +2 -2
- package/dist/esm/error.js +15 -0
- package/dist/esm/index.js +53 -19
- package/dist/esm/init.js +73 -0
- package/dist/esm-node/error.js +14 -0
- package/dist/esm-node/index.js +16 -17
- package/dist/esm-node/init.js +47 -0
- package/dist/types/error.d.ts +6 -0
- package/dist/types/index.d.ts +8 -11
- package/dist/types/init.d.ts +4 -0
- package/dist/types/types.d.ts +14 -0
- package/package.json +23 -64
- package/dist/cjs/constants.js +0 -72
- package/dist/cjs/libs/context/context.js +0 -236
- package/dist/cjs/libs/context/index.js +0 -31
- package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
- package/dist/cjs/libs/hook-api/base.js +0 -96
- package/dist/cjs/libs/hook-api/index.js +0 -85
- package/dist/cjs/libs/hook-api/index.worker.js +0 -116
- package/dist/cjs/libs/hook-api/route.js +0 -44
- package/dist/cjs/libs/hook-api/template.js +0 -72
- package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
- package/dist/cjs/libs/loadConfig.js +0 -70
- package/dist/cjs/libs/metrics.js +0 -33
- package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
- package/dist/cjs/libs/preload/index.js +0 -24
- package/dist/cjs/libs/preload/parseLinks.js +0 -124
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
- package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
- package/dist/cjs/libs/proxy.js +0 -99
- package/dist/cjs/libs/render/index.js +0 -109
- package/dist/cjs/libs/render/measure.js +0 -74
- package/dist/cjs/libs/render/ssr.js +0 -130
- package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -51
- package/dist/cjs/libs/render/ssrCache/index.js +0 -90
- package/dist/cjs/libs/render/ssrCache/manager.js +0 -120
- package/dist/cjs/libs/render/static.js +0 -72
- package/dist/cjs/libs/render/type.js +0 -33
- package/dist/cjs/libs/render/utils.js +0 -41
- package/dist/cjs/libs/reporter.js +0 -39
- package/dist/cjs/libs/route/index.js +0 -83
- package/dist/cjs/libs/route/matcher.js +0 -113
- package/dist/cjs/libs/serveFile.js +0 -84
- package/dist/cjs/libs/serverTiming.js +0 -41
- package/dist/cjs/renderHtml.js +0 -65
- package/dist/cjs/server/index.js +0 -223
- package/dist/cjs/server/modernServer.js +0 -522
- package/dist/cjs/server/modernServerSplit.js +0 -67
- package/dist/cjs/utils.js +0 -164
- package/dist/cjs/workerServer.js +0 -260
- package/dist/esm/constants.js +0 -43
- package/dist/esm/libs/context/context.js +0 -260
- package/dist/esm/libs/context/index.js +0 -8
- package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
- package/dist/esm/libs/hook-api/base.js +0 -73
- package/dist/esm/libs/hook-api/index.js +0 -55
- package/dist/esm/libs/hook-api/index.worker.js +0 -99
- package/dist/esm/libs/hook-api/route.js +0 -26
- package/dist/esm/libs/hook-api/template.js +0 -56
- package/dist/esm/libs/hook-api/templateForStream.js +0 -35
- package/dist/esm/libs/loadConfig.js +0 -36
- package/dist/esm/libs/metrics.js +0 -9
- package/dist/esm/libs/preload/flushServerHeader.js +0 -50
- package/dist/esm/libs/preload/index.js +0 -2
- package/dist/esm/libs/preload/parseLinks.js +0 -172
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
- package/dist/esm/libs/preload/transformLinks2String.js +0 -140
- package/dist/esm/libs/proxy.js +0 -160
- package/dist/esm/libs/render/index.js +0 -175
- package/dist/esm/libs/render/measure.js +0 -69
- package/dist/esm/libs/render/ssr.js +0 -133
- package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -25
- package/dist/esm/libs/render/ssrCache/index.js +0 -170
- package/dist/esm/libs/render/ssrCache/manager.js +0 -178
- package/dist/esm/libs/render/static.js +0 -100
- package/dist/esm/libs/render/type.js +0 -9
- package/dist/esm/libs/render/utils.js +0 -16
- package/dist/esm/libs/reporter.js +0 -15
- package/dist/esm/libs/route/index.js +0 -82
- package/dist/esm/libs/route/matcher.js +0 -92
- package/dist/esm/libs/route/route.js +0 -17
- package/dist/esm/libs/serveFile.js +0 -68
- package/dist/esm/libs/serverTiming.js +0 -22
- package/dist/esm/renderHtml.js +0 -133
- package/dist/esm/server/index.js +0 -350
- package/dist/esm/server/modernServer.js +0 -884
- package/dist/esm/server/modernServerSplit.js +0 -113
- package/dist/esm/utils.js +0 -103
- package/dist/esm/workerServer.js +0 -352
- package/dist/esm-node/constants.js +0 -43
- package/dist/esm-node/libs/context/context.js +0 -202
- package/dist/esm-node/libs/context/index.js +0 -6
- package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
- package/dist/esm-node/libs/hook-api/base.js +0 -61
- package/dist/esm-node/libs/hook-api/index.js +0 -57
- package/dist/esm-node/libs/hook-api/index.worker.js +0 -89
- package/dist/esm-node/libs/hook-api/route.js +0 -20
- package/dist/esm-node/libs/hook-api/template.js +0 -47
- package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
- package/dist/esm-node/libs/loadConfig.js +0 -34
- package/dist/esm-node/libs/metrics.js +0 -9
- package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
- package/dist/esm-node/libs/preload/index.js +0 -2
- package/dist/esm-node/libs/preload/parseLinks.js +0 -90
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
- package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
- package/dist/esm-node/libs/proxy.js +0 -74
- package/dist/esm-node/libs/render/index.js +0 -75
- package/dist/esm-node/libs/render/measure.js +0 -49
- package/dist/esm-node/libs/render/ssr.js +0 -96
- package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -17
- package/dist/esm-node/libs/render/ssrCache/index.js +0 -66
- package/dist/esm-node/libs/render/ssrCache/manager.js +0 -96
- package/dist/esm-node/libs/render/static.js +0 -38
- package/dist/esm-node/libs/render/type.js +0 -9
- package/dist/esm-node/libs/render/utils.js +0 -16
- package/dist/esm-node/libs/reporter.js +0 -15
- package/dist/esm-node/libs/route/index.js +0 -58
- package/dist/esm-node/libs/route/matcher.js +0 -89
- package/dist/esm-node/libs/route/route.js +0 -16
- package/dist/esm-node/libs/serveFile.js +0 -49
- package/dist/esm-node/libs/serverTiming.js +0 -17
- package/dist/esm-node/renderHtml.js +0 -73
- package/dist/esm-node/server/index.js +0 -189
- package/dist/esm-node/server/modernServer.js +0 -488
- package/dist/esm-node/server/modernServerSplit.js +0 -43
- package/dist/esm-node/utils.js +0 -132
- package/dist/esm-node/workerServer.js +0 -235
- package/dist/types/constants.d.ts +0 -30
- package/dist/types/libs/context/context.d.ts +0 -62
- package/dist/types/libs/context/index.d.ts +0 -7
- package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
- package/dist/types/libs/hook-api/base.d.ts +0 -53
- package/dist/types/libs/hook-api/index.d.ts +0 -6
- package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
- package/dist/types/libs/hook-api/route.d.ts +0 -9
- package/dist/types/libs/hook-api/template.d.ts +0 -22
- package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
- package/dist/types/libs/loadConfig.d.ts +0 -13
- package/dist/types/libs/metrics.d.ts +0 -3
- package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
- package/dist/types/libs/preload/index.d.ts +0 -2
- package/dist/types/libs/preload/parseLinks.d.ts +0 -13
- package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
- package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
- package/dist/types/libs/proxy.d.ts +0 -13
- package/dist/types/libs/render/index.d.ts +0 -21
- package/dist/types/libs/render/measure.d.ts +0 -10
- package/dist/types/libs/render/ssr.d.ts +0 -12
- package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
- package/dist/types/libs/render/ssrCache/index.d.ts +0 -6
- package/dist/types/libs/render/ssrCache/manager.d.ts +0 -20
- package/dist/types/libs/render/static.d.ts +0 -3
- package/dist/types/libs/render/type.d.ts +0 -36
- package/dist/types/libs/render/utils.d.ts +0 -5
- package/dist/types/libs/reporter.d.ts +0 -2
- package/dist/types/libs/route/index.d.ts +0 -15
- package/dist/types/libs/route/matcher.d.ts +0 -15
- package/dist/types/libs/route/route.d.ts +0 -14
- package/dist/types/libs/serveFile.d.ts +0 -9
- package/dist/types/libs/serverTiming.d.ts +0 -13
- package/dist/types/renderHtml.d.ts +0 -23
- package/dist/types/server/index.d.ts +0 -55
- package/dist/types/server/modernServer.d.ts +0 -71
- package/dist/types/server/modernServerSplit.d.ts +0 -2
- package/dist/types/type.d.ts +0 -78
- package/dist/types/utils.d.ts +0 -24
- package/dist/types/workerServer.d.ts +0 -59
- /package/dist/esm/{type.js → types.js} +0 -0
- /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,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
|
-
};
|