@modern-js/prod-server 2.47.1 → 2.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/libs/context/context.js +4 -8
- package/dist/cjs/libs/hook-api/base.js +0 -11
- package/dist/cjs/libs/hook-api/index.worker.js +0 -3
- package/dist/cjs/libs/hook-api/route.js +0 -4
- package/dist/cjs/libs/hook-api/template.js +0 -2
- package/dist/cjs/libs/render/ssr.js +7 -3
- package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -5
- package/dist/cjs/libs/render/ssrCache/index.js +10 -3
- package/dist/cjs/libs/render/ssrCache/manager.js +25 -11
- package/dist/cjs/libs/route/index.js +1 -3
- package/dist/cjs/libs/route/matcher.js +1 -5
- package/dist/cjs/libs/route/route.js +1 -10
- package/dist/cjs/libs/serverTiming.js +0 -3
- package/dist/cjs/renderHtml.js +0 -7
- package/dist/cjs/server/index.js +1 -7
- package/dist/cjs/server/modernServer.js +11 -21
- package/dist/cjs/workerServer.js +4 -8
- package/dist/esm/libs/context/context.js +66 -98
- package/dist/esm/libs/hook-api/base.js +36 -71
- package/dist/esm/libs/hook-api/index.worker.js +15 -29
- package/dist/esm/libs/hook-api/route.js +12 -27
- package/dist/esm/libs/hook-api/template.js +33 -61
- package/dist/esm/libs/render/ssr.js +8 -4
- package/dist/esm/libs/render/ssrCache/cacheMod.js +10 -18
- package/dist/esm/libs/render/ssrCache/index.js +40 -21
- package/dist/esm/libs/render/ssrCache/manager.js +149 -141
- package/dist/esm/libs/route/index.js +62 -96
- package/dist/esm/libs/route/matcher.js +58 -94
- package/dist/esm/libs/route/route.js +1 -10
- package/dist/esm/libs/serverTiming.js +8 -16
- package/dist/esm/renderHtml.js +22 -39
- package/dist/esm/server/index.js +307 -383
- package/dist/esm/server/modernServer.js +802 -936
- package/dist/esm/server/modernServerSplit.js +61 -86
- package/dist/esm/workerServer.js +87 -82
- package/dist/esm-node/libs/context/context.js +4 -8
- package/dist/esm-node/libs/hook-api/base.js +0 -11
- package/dist/esm-node/libs/hook-api/index.worker.js +0 -3
- package/dist/esm-node/libs/hook-api/route.js +0 -4
- package/dist/esm-node/libs/hook-api/template.js +0 -2
- package/dist/esm-node/libs/render/ssr.js +7 -3
- package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -5
- package/dist/esm-node/libs/render/ssrCache/index.js +10 -3
- package/dist/esm-node/libs/render/ssrCache/manager.js +25 -11
- package/dist/esm-node/libs/route/index.js +1 -3
- package/dist/esm-node/libs/route/matcher.js +1 -5
- package/dist/esm-node/libs/route/route.js +1 -10
- package/dist/esm-node/libs/serverTiming.js +0 -3
- package/dist/esm-node/renderHtml.js +0 -7
- package/dist/esm-node/server/index.js +1 -7
- package/dist/esm-node/server/modernServer.js +11 -21
- package/dist/esm-node/workerServer.js +4 -8
- package/dist/types/libs/render/ssrCache/index.d.ts +2 -3
- package/dist/types/libs/render/ssrCache/manager.d.ts +7 -1
- package/dist/types/type.d.ts +1 -0
- package/package.json +8 -8
|
@@ -34,7 +34,6 @@ module.exports = __toCommonJS(context_exports);
|
|
|
34
34
|
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
35
35
|
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
36
36
|
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
37
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
38
37
|
var import_url = require("url");
|
|
39
38
|
var import_querystring = __toESM(require("querystring"));
|
|
40
39
|
var import_buffer = require("buffer");
|
|
@@ -209,13 +208,6 @@ class ModernServerContext {
|
|
|
209
208
|
this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, (0, import_utils2.headersWithoutCookie)(this.headers));
|
|
210
209
|
}
|
|
211
210
|
constructor(req, res, options) {
|
|
212
|
-
(0, import_define_property._)(this, "req", void 0);
|
|
213
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
214
|
-
(0, import_define_property._)(this, "params", {});
|
|
215
|
-
(0, import_define_property._)(this, "reporter", import_reporter.defaultReporter);
|
|
216
|
-
(0, import_define_property._)(this, "serverTiming", void 0);
|
|
217
|
-
(0, import_define_property._)(this, "serverData", {});
|
|
218
|
-
(0, import_define_property._)(this, "options", {});
|
|
219
211
|
(0, import_class_private_field_init._)(this, _urls, {
|
|
220
212
|
writable: true,
|
|
221
213
|
value: void 0
|
|
@@ -224,6 +216,10 @@ class ModernServerContext {
|
|
|
224
216
|
writable: true,
|
|
225
217
|
value: void 0
|
|
226
218
|
});
|
|
219
|
+
this.params = {};
|
|
220
|
+
this.reporter = import_reporter.defaultReporter;
|
|
221
|
+
this.serverData = {};
|
|
222
|
+
this.options = {};
|
|
227
223
|
this.req = req;
|
|
228
224
|
this.res = res;
|
|
229
225
|
this.options = options || {};
|
|
@@ -32,7 +32,6 @@ __export(base_exports, {
|
|
|
32
32
|
BaseResponse: () => BaseResponse
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(base_exports);
|
|
35
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
36
35
|
var import_cookie = __toESM(require("cookie"));
|
|
37
36
|
class BaseResponse {
|
|
38
37
|
get(key) {
|
|
@@ -66,8 +65,6 @@ class BaseResponse {
|
|
|
66
65
|
this.res.end(body);
|
|
67
66
|
}
|
|
68
67
|
constructor(res) {
|
|
69
|
-
(0, import_define_property._)(this, "cookies", void 0);
|
|
70
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
71
68
|
this.res = res;
|
|
72
69
|
this.cookies = {
|
|
73
70
|
set: this.setCookie.bind(this),
|
|
@@ -80,14 +77,6 @@ class BaseRequest {
|
|
|
80
77
|
return this._cookie[key];
|
|
81
78
|
}
|
|
82
79
|
constructor(request) {
|
|
83
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
84
|
-
(0, import_define_property._)(this, "host", void 0);
|
|
85
|
-
(0, import_define_property._)(this, "pathname", void 0);
|
|
86
|
-
(0, import_define_property._)(this, "query", void 0);
|
|
87
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
88
|
-
(0, import_define_property._)(this, "cookie", void 0);
|
|
89
|
-
(0, import_define_property._)(this, "cookies", void 0);
|
|
90
|
-
(0, import_define_property._)(this, "_cookie", void 0);
|
|
91
80
|
this.url = request.url;
|
|
92
81
|
this.host = request.host;
|
|
93
82
|
this.pathname = request.path;
|
|
@@ -24,7 +24,6 @@ __export(index_worker_exports, {
|
|
|
24
24
|
createMiddlewareContext: () => createMiddlewareContext
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(index_worker_exports);
|
|
27
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
28
27
|
var import_base = require("./base");
|
|
29
28
|
var import_route = require("./route");
|
|
30
29
|
var import_template = require("./template");
|
|
@@ -50,8 +49,6 @@ class ServerResponse {
|
|
|
50
49
|
this.res.isSent = true;
|
|
51
50
|
}
|
|
52
51
|
constructor(res) {
|
|
53
|
-
(0, import_define_property._)(this, "locals", void 0);
|
|
54
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
55
52
|
this.res = res;
|
|
56
53
|
this.locals = res.locals;
|
|
57
54
|
}
|
|
@@ -21,7 +21,6 @@ __export(route_exports, {
|
|
|
21
21
|
RouteAPI: () => RouteAPI
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(route_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
class RouteAPI {
|
|
26
25
|
redirect(url, status = 302) {
|
|
27
26
|
this.url = url;
|
|
@@ -34,9 +33,6 @@ class RouteAPI {
|
|
|
34
33
|
this.rewrite(entryName);
|
|
35
34
|
}
|
|
36
35
|
constructor(entryName) {
|
|
37
|
-
(0, import_define_property._)(this, "current", void 0);
|
|
38
|
-
(0, import_define_property._)(this, "status", void 0);
|
|
39
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
40
36
|
this.current = entryName;
|
|
41
37
|
this.status = 200;
|
|
42
38
|
this.url = "";
|
|
@@ -22,7 +22,6 @@ __export(template_exports, {
|
|
|
22
22
|
TemplateAPI: () => TemplateAPI
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(template_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
const RegList = {
|
|
27
26
|
before: {
|
|
28
27
|
head: "<head[^>]*>",
|
|
@@ -63,7 +62,6 @@ class TemplateAPI {
|
|
|
63
62
|
this.content = this.content.replace(reg, text);
|
|
64
63
|
}
|
|
65
64
|
constructor(content) {
|
|
66
|
-
(0, import_define_property._)(this, "content", void 0);
|
|
67
65
|
this.content = content;
|
|
68
66
|
}
|
|
69
67
|
}
|
|
@@ -89,7 +89,7 @@ const render = async (ctx, renderOptions, runner) => {
|
|
|
89
89
|
runner.extendSSRContext(context);
|
|
90
90
|
const bundleJSContent = await Promise.resolve(require(bundleJS));
|
|
91
91
|
const serverRender = bundleJSContent[import_utils.SERVER_RENDER_FUNCTION_NAME];
|
|
92
|
-
const content = await (0, import_ssrCache.ssrCache)(ctx.req, serverRender, context);
|
|
92
|
+
const { data: content, status: cacheStatus } = await (0, import_ssrCache.ssrCache)(ctx.req, serverRender, context);
|
|
93
93
|
const { url, status = 302 } = context.redirection;
|
|
94
94
|
if (url) {
|
|
95
95
|
return {
|
|
@@ -99,10 +99,13 @@ const render = async (ctx, renderOptions, runner) => {
|
|
|
99
99
|
redirect: true
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
+
const headers = {};
|
|
103
|
+
cacheStatus && (headers["x-render-cache"] = cacheStatus);
|
|
102
104
|
if (typeof content === "string") {
|
|
103
105
|
return {
|
|
104
106
|
content: (0, import_utils2.injectServerData)(content, ctx),
|
|
105
|
-
contentType: import_utils.mime.contentType("html")
|
|
107
|
+
contentType: import_utils.mime.contentType("html"),
|
|
108
|
+
headers
|
|
106
109
|
};
|
|
107
110
|
} else {
|
|
108
111
|
let contentStream = (0, import_utils2.injectServerDataStream)(content, ctx);
|
|
@@ -116,7 +119,8 @@ const render = async (ctx, renderOptions, runner) => {
|
|
|
116
119
|
return {
|
|
117
120
|
content: "",
|
|
118
121
|
contentStream,
|
|
119
|
-
contentType: import_utils.mime.contentType("html")
|
|
122
|
+
contentType: import_utils.mime.contentType("html"),
|
|
123
|
+
headers
|
|
120
124
|
};
|
|
121
125
|
}
|
|
122
126
|
};
|
|
@@ -31,7 +31,6 @@ __export(cacheMod_exports, {
|
|
|
31
31
|
cacheMod: () => cacheMod
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(cacheMod_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_path = __toESM(require("path"));
|
|
36
35
|
var import_utils = require("@modern-js/utils");
|
|
37
36
|
const CACHE_FILENAME = "cache";
|
|
@@ -44,10 +43,6 @@ class ServerCacheMod {
|
|
|
44
43
|
this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
|
|
45
44
|
this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
|
|
46
45
|
}
|
|
47
|
-
constructor() {
|
|
48
|
-
(0, import_define_property._)(this, "customContainer", void 0);
|
|
49
|
-
(0, import_define_property._)(this, "cacheOption", void 0);
|
|
50
|
-
}
|
|
51
46
|
}
|
|
52
47
|
const cacheMod = new ServerCacheMod();
|
|
53
48
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -35,9 +35,13 @@ async function ssrCache(req, render, ssrContext) {
|
|
|
35
35
|
} else {
|
|
36
36
|
const renderResult = await render(ssrContext);
|
|
37
37
|
if (!renderResult) {
|
|
38
|
-
return
|
|
38
|
+
return {
|
|
39
|
+
data: ""
|
|
40
|
+
};
|
|
39
41
|
} else if (typeof renderResult === "string") {
|
|
40
|
-
return
|
|
42
|
+
return {
|
|
43
|
+
data: renderResult
|
|
44
|
+
};
|
|
41
45
|
} else {
|
|
42
46
|
const stream = new import_stream.Transform({
|
|
43
47
|
write(chunk, _, callback) {
|
|
@@ -45,7 +49,10 @@ async function ssrCache(req, render, ssrContext) {
|
|
|
45
49
|
callback();
|
|
46
50
|
}
|
|
47
51
|
});
|
|
48
|
-
|
|
52
|
+
const data = await renderResult(stream);
|
|
53
|
+
return {
|
|
54
|
+
data
|
|
55
|
+
};
|
|
49
56
|
}
|
|
50
57
|
}
|
|
51
58
|
}
|
|
@@ -21,8 +21,8 @@ __export(manager_exports, {
|
|
|
21
21
|
CacheManager: () => CacheManager
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(manager_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
var import_stream = require("stream");
|
|
25
|
+
var import_url = require("@modern-js/runtime-utils/url");
|
|
26
26
|
class CacheManager {
|
|
27
27
|
async getCacheResult(req, cacheControl, render, ssrContext) {
|
|
28
28
|
const key = this.computedKey(req, cacheControl);
|
|
@@ -33,21 +33,29 @@ class CacheManager {
|
|
|
33
33
|
const cache = JSON.parse(value);
|
|
34
34
|
const interval = Date.now() - cache.cursor;
|
|
35
35
|
if (interval <= maxAge) {
|
|
36
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
data: cache.val,
|
|
38
|
+
status: "hit"
|
|
39
|
+
};
|
|
37
40
|
} else if (interval <= staleWhileRevalidate + maxAge) {
|
|
38
41
|
this.processCache(key, render, ssrContext, ttl);
|
|
39
|
-
return
|
|
42
|
+
return {
|
|
43
|
+
data: cache.val,
|
|
44
|
+
status: "stale"
|
|
45
|
+
};
|
|
40
46
|
} else {
|
|
41
|
-
return this.processCache(key, render, ssrContext, ttl);
|
|
47
|
+
return this.processCache(key, render, ssrContext, ttl, "expired");
|
|
42
48
|
}
|
|
43
49
|
} else {
|
|
44
|
-
return this.processCache(key, render, ssrContext, ttl);
|
|
50
|
+
return this.processCache(key, render, ssrContext, ttl, "miss");
|
|
45
51
|
}
|
|
46
52
|
}
|
|
47
|
-
async processCache(key, render, ssrContext, ttl) {
|
|
53
|
+
async processCache(key, render, ssrContext, ttl, status) {
|
|
48
54
|
const renderResult = await render(ssrContext);
|
|
49
55
|
if (!renderResult) {
|
|
50
|
-
return
|
|
56
|
+
return {
|
|
57
|
+
data: ""
|
|
58
|
+
};
|
|
51
59
|
} else if (typeof renderResult === "string") {
|
|
52
60
|
const current = Date.now();
|
|
53
61
|
const cache = {
|
|
@@ -57,7 +65,10 @@ class CacheManager {
|
|
|
57
65
|
await this.container.set(key, JSON.stringify(cache), {
|
|
58
66
|
ttl
|
|
59
67
|
});
|
|
60
|
-
return
|
|
68
|
+
return {
|
|
69
|
+
data: renderResult,
|
|
70
|
+
status
|
|
71
|
+
};
|
|
61
72
|
} else {
|
|
62
73
|
let html = "";
|
|
63
74
|
const stream = new import_stream.Transform({
|
|
@@ -77,14 +88,18 @@ class CacheManager {
|
|
|
77
88
|
ttl
|
|
78
89
|
});
|
|
79
90
|
});
|
|
80
|
-
|
|
91
|
+
const readable = await renderResult(stream);
|
|
92
|
+
return {
|
|
93
|
+
data: readable,
|
|
94
|
+
status
|
|
95
|
+
};
|
|
81
96
|
}
|
|
82
97
|
}
|
|
83
98
|
computedKey(req, cacheControl) {
|
|
84
99
|
const { url } = req;
|
|
85
100
|
const [pathname] = url.split("?");
|
|
86
101
|
const { customKey } = cacheControl;
|
|
87
|
-
const defaultKey =
|
|
102
|
+
const defaultKey = (0, import_url.normalizePathname)(pathname);
|
|
88
103
|
if (customKey) {
|
|
89
104
|
if (typeof customKey === "string") {
|
|
90
105
|
return customKey;
|
|
@@ -96,7 +111,6 @@ class CacheManager {
|
|
|
96
111
|
}
|
|
97
112
|
}
|
|
98
113
|
constructor(container) {
|
|
99
|
-
(0, import_define_property._)(this, "container", void 0);
|
|
100
114
|
this.container = container;
|
|
101
115
|
}
|
|
102
116
|
}
|
|
@@ -22,7 +22,6 @@ __export(route_exports, {
|
|
|
22
22
|
RouteMatcher: () => import_matcher.RouteMatcher
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(route_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
var import_matcher = require("./matcher");
|
|
27
26
|
class RouteMatchManager {
|
|
28
27
|
// get all routes matches pathname
|
|
@@ -73,8 +72,7 @@ class RouteMatchManager {
|
|
|
73
72
|
return bundles;
|
|
74
73
|
}
|
|
75
74
|
constructor() {
|
|
76
|
-
|
|
77
|
-
(0, import_define_property._)(this, "specs", []);
|
|
75
|
+
this.specs = [];
|
|
78
76
|
this.matchers = [];
|
|
79
77
|
}
|
|
80
78
|
}
|
|
@@ -21,7 +21,6 @@ __export(matcher_exports, {
|
|
|
21
21
|
RouteMatcher: () => RouteMatcher
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(matcher_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
var import_path_to_regexp = require("path-to-regexp");
|
|
26
25
|
var import_route = require("./route");
|
|
27
26
|
const removeTailSlash = (s) => s.replace(/\/+$/, "");
|
|
@@ -103,10 +102,7 @@ class RouteMatcher {
|
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
104
|
constructor(spec) {
|
|
106
|
-
|
|
107
|
-
(0, import_define_property._)(this, "urlPath", "");
|
|
108
|
-
(0, import_define_property._)(this, "urlMatcher", void 0);
|
|
109
|
-
(0, import_define_property._)(this, "urlReg", void 0);
|
|
105
|
+
this.urlPath = "";
|
|
110
106
|
this.spec = spec;
|
|
111
107
|
this.setupUrlPath();
|
|
112
108
|
}
|
|
@@ -21,18 +21,9 @@ __export(route_exports, {
|
|
|
21
21
|
ModernRoute: () => ModernRoute
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(route_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
class ModernRoute {
|
|
26
25
|
constructor(routeSpec) {
|
|
27
|
-
|
|
28
|
-
(0, import_define_property._)(this, "urlPath", void 0);
|
|
29
|
-
(0, import_define_property._)(this, "entryPath", void 0);
|
|
30
|
-
(0, import_define_property._)(this, "bundle", void 0);
|
|
31
|
-
(0, import_define_property._)(this, "isApi", void 0);
|
|
32
|
-
(0, import_define_property._)(this, "isSSR", void 0);
|
|
33
|
-
(0, import_define_property._)(this, "isSPA", void 0);
|
|
34
|
-
(0, import_define_property._)(this, "params", {});
|
|
35
|
-
(0, import_define_property._)(this, "responseHeaders", void 0);
|
|
26
|
+
this.params = {};
|
|
36
27
|
this.entryName = routeSpec.entryName || "";
|
|
37
28
|
this.urlPath = routeSpec.urlPath;
|
|
38
29
|
this.entryPath = routeSpec.entryPath || "";
|
|
@@ -21,7 +21,6 @@ __export(serverTiming_exports, {
|
|
|
21
21
|
ServerTiming: () => ServerTiming
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(serverTiming_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
const SERVER_TIMING = "Server-Timing";
|
|
26
25
|
class ServerTiming {
|
|
27
26
|
addServeTiming(name, dur, desc) {
|
|
@@ -32,8 +31,6 @@ class ServerTiming {
|
|
|
32
31
|
return this;
|
|
33
32
|
}
|
|
34
33
|
constructor(res, meta) {
|
|
35
|
-
(0, import_define_property._)(this, "meta", void 0);
|
|
36
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
37
34
|
this.meta = meta;
|
|
38
35
|
this.res = res;
|
|
39
36
|
}
|
package/dist/cjs/renderHtml.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
3
2
|
var import_http = require("http");
|
|
4
3
|
var import_stream = require("stream");
|
|
5
4
|
var import_net = require("net");
|
|
@@ -8,10 +7,6 @@ var import_utils = require("./utils");
|
|
|
8
7
|
class IncomingMessageLike extends import_stream.Readable {
|
|
9
8
|
constructor({ method, url, headers }) {
|
|
10
9
|
super();
|
|
11
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
12
|
-
(0, import_define_property._)(this, "method", void 0);
|
|
13
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
14
|
-
(0, import_define_property._)(this, "socket", void 0);
|
|
15
10
|
this.socket = new import_net.Socket();
|
|
16
11
|
this.headers = headers || {};
|
|
17
12
|
this.headers.host = "localhost:8080";
|
|
@@ -28,8 +23,6 @@ class ServerResponseLike extends import_http.OutgoingMessage {
|
|
|
28
23
|
}
|
|
29
24
|
constructor() {
|
|
30
25
|
super();
|
|
31
|
-
(0, import_define_property._)(this, "statusCode", void 0);
|
|
32
|
-
(0, import_define_property._)(this, "data", void 0);
|
|
33
26
|
this.statusCode = 200;
|
|
34
27
|
this.data = [];
|
|
35
28
|
}
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -31,7 +31,6 @@ __export(server_exports, {
|
|
|
31
31
|
Server: () => Server
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(server_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_path = __toESM(require("path"));
|
|
36
35
|
var import_utils = require("@modern-js/utils");
|
|
37
36
|
var import_server_core = require("@modern-js/server-core");
|
|
@@ -209,12 +208,7 @@ class Server {
|
|
|
209
208
|
}
|
|
210
209
|
}
|
|
211
210
|
constructor(options) {
|
|
212
|
-
|
|
213
|
-
(0, import_define_property._)(this, "serverImpl", import_modernServerSplit.createProdServer);
|
|
214
|
-
(0, import_define_property._)(this, "server", void 0);
|
|
215
|
-
(0, import_define_property._)(this, "app", void 0);
|
|
216
|
-
(0, import_define_property._)(this, "runner", void 0);
|
|
217
|
-
(0, import_define_property._)(this, "serverConfig", void 0);
|
|
211
|
+
this.serverImpl = import_modernServerSplit.createProdServer;
|
|
218
212
|
options.logger = options.logger || (0, import_utils.createLogger)({
|
|
219
213
|
level: "warn"
|
|
220
214
|
});
|
|
@@ -31,7 +31,6 @@ __export(modernServer_exports, {
|
|
|
31
31
|
ModernServer: () => ModernServer
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(modernServer_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_http = require("http");
|
|
36
35
|
var import_path = __toESM(require("path"));
|
|
37
36
|
var import_utils = require("@modern-js/utils");
|
|
@@ -360,7 +359,13 @@ class ModernServer {
|
|
|
360
359
|
if (!renderResult) {
|
|
361
360
|
return;
|
|
362
361
|
}
|
|
363
|
-
const { contentStream: responseStream } = renderResult;
|
|
362
|
+
const { contentStream: responseStream, headers } = renderResult;
|
|
363
|
+
if (headers) {
|
|
364
|
+
for (const name in headers) {
|
|
365
|
+
const value = headers[name];
|
|
366
|
+
res.setHeader(name, value);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
364
369
|
let { content: response } = renderResult;
|
|
365
370
|
if (route.entryName && responseStream) {
|
|
366
371
|
responseStream.pipe(res);
|
|
@@ -491,25 +496,10 @@ class ModernServer {
|
|
|
491
496
|
context.res.end((0, import_utils2.createErrorDocument)(status, text));
|
|
492
497
|
}
|
|
493
498
|
constructor({ pwd, config, routes, staticGenerate, logger, metrics, runMode, proxyTarget, appContext }) {
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
(0, import_define_property._)(this, "conf", void 0);
|
|
499
|
-
(0, import_define_property._)(this, "handlers", []);
|
|
500
|
-
(0, import_define_property._)(this, "presetRoutes", void 0);
|
|
501
|
-
(0, import_define_property._)(this, "runner", void 0);
|
|
502
|
-
(0, import_define_property._)(this, "logger", void 0);
|
|
503
|
-
(0, import_define_property._)(this, "metrics", void 0);
|
|
504
|
-
(0, import_define_property._)(this, "runMode", void 0);
|
|
505
|
-
(0, import_define_property._)(this, "proxyTarget", void 0);
|
|
506
|
-
(0, import_define_property._)(this, "routeRenderHandler", void 0);
|
|
507
|
-
(0, import_define_property._)(this, "staticGenerate", void 0);
|
|
508
|
-
(0, import_define_property._)(this, "metaName", void 0);
|
|
509
|
-
(0, import_define_property._)(this, "loaderHandler", null);
|
|
510
|
-
(0, import_define_property._)(this, "frameWebHandler", null);
|
|
511
|
-
(0, import_define_property._)(this, "frameAPIHandler", null);
|
|
512
|
-
(0, import_define_property._)(this, "_handler", void 0);
|
|
499
|
+
this.handlers = [];
|
|
500
|
+
this.loaderHandler = null;
|
|
501
|
+
this.frameWebHandler = null;
|
|
502
|
+
this.frameAPIHandler = null;
|
|
513
503
|
require("ignore-styles");
|
|
514
504
|
this.pwd = pwd;
|
|
515
505
|
this.distDir = import_path.default.resolve(pwd, config.output.path || "dist");
|
package/dist/cjs/workerServer.js
CHANGED
|
@@ -22,7 +22,6 @@ __export(workerServer_exports, {
|
|
|
22
22
|
createHandler: () => createHandler
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(workerServer_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
var import_plugin = require("@modern-js/plugin");
|
|
27
26
|
var import_hook_api = require("./libs/hook-api/index.worker");
|
|
28
27
|
var import_route = require("./libs/route");
|
|
@@ -75,9 +74,6 @@ class ReturnResponse {
|
|
|
75
74
|
return this;
|
|
76
75
|
}
|
|
77
76
|
constructor(body, status, headers = {}) {
|
|
78
|
-
(0, import_define_property._)(this, "body", void 0);
|
|
79
|
-
(0, import_define_property._)(this, "status", void 0);
|
|
80
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
81
77
|
this.body = body;
|
|
82
78
|
this.status = status;
|
|
83
79
|
this.headers = new Headers(headers);
|
|
@@ -127,7 +123,7 @@ const createHandler = (manifest) => {
|
|
|
127
123
|
const route = pageMatch.generate(url.pathname);
|
|
128
124
|
const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
|
|
129
125
|
const afterMatchHookContext = (0, import_hook_api.createAfterMatchContext)(hookContext, entryName);
|
|
130
|
-
page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0);
|
|
126
|
+
await (page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0));
|
|
131
127
|
if (checkIsSent(hookContext)) {
|
|
132
128
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
133
129
|
}
|
|
@@ -176,7 +172,7 @@ const createHandler = (manifest) => {
|
|
|
176
172
|
};
|
|
177
173
|
const body = await page.serverRender(serverRenderContext);
|
|
178
174
|
const afterRenderHookContext = (0, import_hook_api.createAfterRenderContext)(hookContext, route, body);
|
|
179
|
-
(_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0);
|
|
175
|
+
await ((_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0));
|
|
180
176
|
if (checkIsSent(hookContext)) {
|
|
181
177
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
182
178
|
}
|
|
@@ -235,7 +231,7 @@ function createWorkerHookContext(url, logger, metrics, reporter) {
|
|
|
235
231
|
};
|
|
236
232
|
}
|
|
237
233
|
let appliedMiddlewares = false;
|
|
238
|
-
function applyMiddlewares(ctx, middleware) {
|
|
234
|
+
async function applyMiddlewares(ctx, middleware) {
|
|
239
235
|
if (middleware) {
|
|
240
236
|
const middlewares = (() => {
|
|
241
237
|
if (Array.isArray(middleware)) {
|
|
@@ -252,7 +248,7 @@ function applyMiddlewares(ctx, middleware) {
|
|
|
252
248
|
});
|
|
253
249
|
appliedMiddlewares = true;
|
|
254
250
|
}
|
|
255
|
-
middlewarePipeline.run(ctx, {
|
|
251
|
+
await middlewarePipeline.run(ctx, {
|
|
256
252
|
onLast: () => void 0
|
|
257
253
|
});
|
|
258
254
|
}
|