@modern-js/prod-server 2.35.0 → 2.36.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/dist/cjs/constants.js +33 -27
- package/dist/cjs/index.js +41 -33
- package/dist/cjs/libs/context/context.js +86 -36
- package/dist/cjs/libs/context/index.js +27 -17
- package/dist/cjs/libs/hook-api/base.js +49 -30
- package/dist/cjs/libs/hook-api/index.js +36 -28
- package/dist/cjs/libs/hook-api/index.worker.js +39 -31
- package/dist/cjs/libs/hook-api/route.js +28 -11
- package/dist/cjs/libs/hook-api/template.js +27 -17
- package/dist/cjs/libs/hook-api/templateForStream.js +31 -14
- package/dist/cjs/libs/loadConfig.js +46 -29
- package/dist/cjs/libs/metrics.js +24 -7
- package/dist/cjs/libs/preload/flushServerHeader.js +30 -13
- package/dist/cjs/libs/preload/index.js +22 -5
- package/dist/cjs/libs/preload/parseLinks.js +54 -30
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +25 -15
- package/dist/cjs/libs/preload/transformLinks2String.js +27 -11
- package/dist/cjs/libs/proxy.js +29 -19
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +40 -22
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +33 -41
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +24 -7
- package/dist/cjs/libs/render/cache/index.js +30 -18
- package/dist/cjs/libs/render/cache/page-caches/index.js +26 -9
- package/dist/cjs/libs/render/cache/page-caches/lru.js +39 -13
- package/dist/cjs/libs/render/cache/spr.js +62 -44
- package/dist/cjs/libs/render/cache/type.js +15 -3
- package/dist/cjs/libs/render/cache/util.js +49 -36
- package/dist/cjs/libs/render/index.js +56 -30
- package/dist/cjs/libs/render/measure.js +27 -17
- package/dist/cjs/libs/render/reader.js +50 -35
- package/dist/cjs/libs/render/ssr.js +52 -26
- package/dist/cjs/libs/render/static.js +44 -18
- package/dist/cjs/libs/render/type.js +24 -7
- package/dist/cjs/libs/render/utils.js +29 -19
- package/dist/cjs/libs/reporter.js +24 -7
- package/dist/cjs/libs/route/index.js +30 -20
- package/dist/cjs/libs/route/matcher.js +37 -20
- package/dist/cjs/libs/route/route.js +34 -17
- package/dist/cjs/libs/serveFile.js +40 -21
- package/dist/cjs/libs/serverTiming.js +27 -10
- package/dist/cjs/renderHtml.js +17 -20
- package/dist/cjs/server/index.js +74 -50
- package/dist/cjs/server/modernServer.js +136 -113
- package/dist/cjs/server/modernServerSplit.js +29 -12
- package/dist/cjs/type.js +15 -3
- package/dist/cjs/utils.js +41 -38
- package/dist/cjs/workerServer.js +48 -39
- package/dist/esm/constants.js +14 -6
- package/dist/esm/index.js +11 -5
- package/dist/esm/libs/context/context.js +33 -6
- package/dist/esm/libs/context/index.js +5 -2
- package/dist/esm/libs/hook-api/base.js +6 -2
- package/dist/esm/libs/hook-api/index.js +11 -5
- package/dist/esm/libs/hook-api/index.worker.js +16 -10
- package/dist/esm/libs/hook-api/route.js +4 -1
- package/dist/esm/libs/hook-api/template.js +6 -2
- package/dist/esm/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm/libs/loadConfig.js +8 -3
- package/dist/esm/libs/metrics.js +3 -1
- package/dist/esm/libs/preload/flushServerHeader.js +9 -6
- package/dist/esm/libs/preload/parseLinks.js +13 -11
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm/libs/proxy.js +9 -5
- package/dist/esm/libs/render/cache/__tests__/cache.test.js +12 -12
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm/libs/render/cache/index.js +6 -3
- package/dist/esm/libs/render/cache/page-caches/index.js +5 -2
- package/dist/esm/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm/libs/render/cache/spr.js +13 -9
- package/dist/esm/libs/render/cache/type.js +0 -1
- package/dist/esm/libs/render/cache/util.js +18 -8
- package/dist/esm/libs/render/index.js +17 -11
- package/dist/esm/libs/render/measure.js +15 -11
- package/dist/esm/libs/render/reader.js +17 -10
- package/dist/esm/libs/render/ssr.js +11 -8
- package/dist/esm/libs/render/static.js +5 -2
- package/dist/esm/libs/render/type.js +4 -1
- package/dist/esm/libs/render/utils.js +6 -2
- package/dist/esm/libs/reporter.js +4 -1
- package/dist/esm/libs/route/index.js +5 -2
- package/dist/esm/libs/route/matcher.js +6 -3
- package/dist/esm/libs/route/route.js +4 -1
- package/dist/esm/libs/serveFile.js +6 -2
- package/dist/esm/libs/serverTiming.js +4 -1
- package/dist/esm/renderHtml.js +133 -124
- package/dist/esm/server/index.js +14 -13
- package/dist/esm/server/modernServer.js +39 -47
- package/dist/esm/server/modernServerSplit.js +4 -1
- package/dist/esm/type.js +0 -1
- package/dist/esm/utils.js +23 -12
- package/dist/esm/workerServer.js +25 -22
- package/dist/esm-node/constants.js +14 -6
- package/dist/esm-node/index.js +11 -5
- package/dist/esm-node/libs/context/context.js +33 -6
- package/dist/esm-node/libs/context/index.js +5 -2
- package/dist/esm-node/libs/hook-api/base.js +6 -2
- package/dist/esm-node/libs/hook-api/index.js +10 -4
- package/dist/esm-node/libs/hook-api/index.worker.js +10 -4
- package/dist/esm-node/libs/hook-api/route.js +4 -1
- package/dist/esm-node/libs/hook-api/template.js +6 -2
- package/dist/esm-node/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm-node/libs/loadConfig.js +8 -3
- package/dist/esm-node/libs/metrics.js +3 -1
- package/dist/esm-node/libs/preload/flushServerHeader.js +6 -3
- package/dist/esm-node/libs/preload/parseLinks.js +11 -9
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm-node/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm-node/libs/proxy.js +6 -2
- package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +7 -12
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm-node/libs/render/cache/index.js +5 -3
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -1
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm-node/libs/render/cache/spr.js +7 -4
- package/dist/esm-node/libs/render/cache/type.js +0 -1
- package/dist/esm-node/libs/render/cache/util.js +18 -8
- package/dist/esm-node/libs/render/index.js +7 -3
- package/dist/esm-node/libs/render/measure.js +6 -2
- package/dist/esm-node/libs/render/reader.js +13 -7
- package/dist/esm-node/libs/render/ssr.js +4 -1
- package/dist/esm-node/libs/render/static.js +4 -1
- package/dist/esm-node/libs/render/type.js +4 -1
- package/dist/esm-node/libs/render/utils.js +6 -2
- package/dist/esm-node/libs/reporter.js +4 -1
- package/dist/esm-node/libs/route/index.js +5 -2
- package/dist/esm-node/libs/route/matcher.js +6 -3
- package/dist/esm-node/libs/route/route.js +4 -1
- package/dist/esm-node/libs/serveFile.js +6 -2
- package/dist/esm-node/libs/serverTiming.js +4 -1
- package/dist/esm-node/renderHtml.js +72 -63
- package/dist/esm-node/server/index.js +11 -10
- package/dist/esm-node/server/modernServer.js +29 -28
- package/dist/esm-node/server/modernServerSplit.js +4 -1
- package/dist/esm-node/type.js +0 -1
- package/dist/esm-node/utils.js +20 -9
- package/dist/esm-node/workerServer.js +12 -9
- package/dist/types/libs/context/context.d.ts +2 -1
- package/dist/types/type.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -1
- package/package.json +9 -8
- package/dist/cjs/libs/logger.js +0 -123
- package/dist/esm/libs/logger.js +0 -125
- package/dist/esm-node/libs/logger.js +0 -106
- package/dist/types/libs/logger.d.ts +0 -61
package/dist/cjs/workerServer.js
CHANGED
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return ReturnResponse;
|
|
15
|
-
},
|
|
16
|
-
createHandler: function() {
|
|
17
|
-
return createHandler;
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var workerServer_exports = {};
|
|
20
|
+
__export(workerServer_exports, {
|
|
21
|
+
ReturnResponse: () => ReturnResponse,
|
|
22
|
+
createHandler: () => createHandler
|
|
19
23
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
module.exports = __toCommonJS(workerServer_exports);
|
|
25
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
|
+
var import_plugin = require("@modern-js/plugin");
|
|
27
|
+
var import_logger = require("@modern-js/utils/logger");
|
|
28
|
+
var import_hook_api = require("./libs/hook-api/index.worker");
|
|
29
|
+
var import_route = require("./libs/route");
|
|
30
|
+
var import_metrics = require("./libs/metrics");
|
|
31
|
+
var import_reporter = require("./libs/reporter");
|
|
27
32
|
class ReturnResponse {
|
|
28
33
|
/**
|
|
29
34
|
* Iterate a Object
|
|
@@ -56,9 +61,9 @@ class ReturnResponse {
|
|
|
56
61
|
return this;
|
|
57
62
|
}
|
|
58
63
|
constructor(body, status, headers = {}) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
(0, import_define_property._)(this, "body", void 0);
|
|
65
|
+
(0, import_define_property._)(this, "status", void 0);
|
|
66
|
+
(0, import_define_property._)(this, "headers", void 0);
|
|
62
67
|
this.body = body;
|
|
63
68
|
this.status = status;
|
|
64
69
|
this.headers = new Headers(headers);
|
|
@@ -83,13 +88,13 @@ const checkIsSent = (context) => {
|
|
|
83
88
|
}
|
|
84
89
|
return false;
|
|
85
90
|
};
|
|
86
|
-
const middlewarePipeline = (0,
|
|
91
|
+
const middlewarePipeline = (0, import_plugin.createAsyncPipeline)();
|
|
87
92
|
const createHandler = (manifest) => {
|
|
88
|
-
const routeMgr = new
|
|
93
|
+
const routeMgr = new import_route.RouteMatchManager();
|
|
89
94
|
const { pages, routes } = manifest;
|
|
90
95
|
routeMgr.reset(routes);
|
|
91
96
|
return async (options) => {
|
|
92
|
-
var _page_serverHooks_afterMatch, _page_serverHooks
|
|
97
|
+
var _page_serverHooks_afterMatch, _page_serverHooks;
|
|
93
98
|
const { request, loadableStats, routeManifest } = options;
|
|
94
99
|
const url = new URL(request.url);
|
|
95
100
|
const pageMatch = routeMgr.match(url.pathname);
|
|
@@ -98,21 +103,21 @@ const createHandler = (manifest) => {
|
|
|
98
103
|
}
|
|
99
104
|
const entryName = pageMatch.spec.urlPath;
|
|
100
105
|
const page = pages[entryName];
|
|
101
|
-
const logger =
|
|
106
|
+
const logger = (0, import_logger.createLogger)({
|
|
102
107
|
level: "warn"
|
|
103
108
|
});
|
|
104
|
-
const metrics =
|
|
105
|
-
const reporter =
|
|
109
|
+
const metrics = import_metrics.metrics;
|
|
110
|
+
const reporter = import_reporter.defaultReporter;
|
|
106
111
|
const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
|
|
107
|
-
const afterMatchHookContext = (0,
|
|
108
|
-
|
|
112
|
+
const afterMatchHookContext = (0, import_hook_api.createAfterMatchContext)(hookContext, entryName);
|
|
113
|
+
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);
|
|
109
114
|
if (checkIsSent(hookContext)) {
|
|
110
115
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
111
116
|
}
|
|
112
117
|
if (page.serverRender) {
|
|
113
118
|
try {
|
|
114
119
|
var _page_serverHooks1, _page_serverHooks_afterRender, _page_serverHooks2;
|
|
115
|
-
const middlewarsHookContext = (0,
|
|
120
|
+
const middlewarsHookContext = (0, import_hook_api.createMiddlewareContext)(hookContext);
|
|
116
121
|
applyMiddlewares(middlewarsHookContext, (_page_serverHooks1 = page.serverHooks) === null || _page_serverHooks1 === void 0 ? void 0 : _page_serverHooks1.middleware);
|
|
117
122
|
if (checkIsSent(hookContext)) {
|
|
118
123
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
@@ -139,19 +144,18 @@ const createHandler = (manifest) => {
|
|
|
139
144
|
template: page.template,
|
|
140
145
|
entryName: page.entryName,
|
|
141
146
|
logger,
|
|
142
|
-
reporter:
|
|
147
|
+
reporter: import_reporter.defaultReporter,
|
|
143
148
|
metrics,
|
|
144
|
-
// FIXME: pass correctly req & res
|
|
145
149
|
req: request,
|
|
150
|
+
res: responseLike,
|
|
146
151
|
serverTiming: {
|
|
147
152
|
addServeTiming() {
|
|
148
153
|
return this;
|
|
149
154
|
}
|
|
150
|
-
}
|
|
151
|
-
res: responseLike
|
|
155
|
+
}
|
|
152
156
|
};
|
|
153
157
|
const body = await page.serverRender(serverRenderContext);
|
|
154
|
-
const afterRenderHookContext = (0,
|
|
158
|
+
const afterRenderHookContext = (0, import_hook_api.createAfterRenderContext)(hookContext, body);
|
|
155
159
|
(_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);
|
|
156
160
|
if (checkIsSent(hookContext)) {
|
|
157
161
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
@@ -229,3 +233,8 @@ function applyMiddlewares(ctx, middleware) {
|
|
|
229
233
|
});
|
|
230
234
|
}
|
|
231
235
|
}
|
|
236
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
237
|
+
0 && (module.exports = {
|
|
238
|
+
ReturnResponse,
|
|
239
|
+
createHandler
|
|
240
|
+
});
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
var AGGRED_DIR = {
|
|
2
2
|
mock: "config/mock",
|
|
3
3
|
server: "server",
|
|
4
4
|
api: "api",
|
|
5
5
|
shared: "shared",
|
|
6
6
|
lambda: "lambda"
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
var ApiServerMode;
|
|
9
9
|
(function(ApiServerMode2) {
|
|
10
10
|
ApiServerMode2["func"] = "function";
|
|
11
11
|
ApiServerMode2["frame"] = "framework";
|
|
12
12
|
})(ApiServerMode || (ApiServerMode = {}));
|
|
13
|
-
|
|
13
|
+
var ERROR_DIGEST = {
|
|
14
14
|
INIT: "Server init error",
|
|
15
15
|
ENOTF: "Page could not be found",
|
|
16
16
|
WARMUP: "SSR warmup failed",
|
|
@@ -18,18 +18,26 @@ export var ERROR_DIGEST = {
|
|
|
18
18
|
ERENDER: "SSR render failed",
|
|
19
19
|
EMICROINJ: "Get micro-frontend info failed"
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
var ERROR_PAGE_TEXT = {
|
|
22
22
|
404: "This page could not be found.",
|
|
23
23
|
500: "Internal Server Error."
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
var RUN_MODE = {
|
|
26
26
|
FULL: "full",
|
|
27
27
|
TYPE: "type"
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
var ServerReportTimings;
|
|
30
30
|
(function(ServerReportTimings2) {
|
|
31
31
|
ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
|
|
32
32
|
ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
|
|
33
33
|
ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
|
|
34
34
|
ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
|
|
35
35
|
})(ServerReportTimings || (ServerReportTimings = {}));
|
|
36
|
+
export {
|
|
37
|
+
AGGRED_DIR,
|
|
38
|
+
ApiServerMode,
|
|
39
|
+
ERROR_DIGEST,
|
|
40
|
+
ERROR_PAGE_TEXT,
|
|
41
|
+
RUN_MODE,
|
|
42
|
+
ServerReportTimings
|
|
43
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Server } from "./server";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { createProxyHandler } from "./libs/proxy";
|
|
2
|
+
import { ModernServer } from "./server/modernServer";
|
|
3
|
+
import { createProxyHandler } from "./libs/proxy";
|
|
5
4
|
export * from "./type";
|
|
6
5
|
export * from "./constants";
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { createRenderHandler } from "./libs/render";
|
|
7
|
+
function src_default(options) {
|
|
9
8
|
if (options == null) {
|
|
10
9
|
throw new Error("can not start mserver without options");
|
|
11
10
|
}
|
|
@@ -13,3 +12,10 @@ export default function(options) {
|
|
|
13
12
|
return server.init();
|
|
14
13
|
}
|
|
15
14
|
;
|
|
15
|
+
export {
|
|
16
|
+
ModernServer,
|
|
17
|
+
Server,
|
|
18
|
+
createProxyHandler,
|
|
19
|
+
createRenderHandler,
|
|
20
|
+
src_default as default
|
|
21
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
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";
|
|
2
5
|
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
6
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
7
|
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
|
@@ -12,11 +15,11 @@ import { ServerTiming } from "../serverTiming";
|
|
|
12
15
|
import { defaultReporter } from "../reporter";
|
|
13
16
|
import { headersWithoutCookie } from "../../utils";
|
|
14
17
|
var MOCK_URL_BASE = "https://modernjs.dev/";
|
|
15
|
-
|
|
18
|
+
var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
|
|
19
|
+
var ModernServerContext = /* @__PURE__ */ function() {
|
|
16
20
|
"use strict";
|
|
17
21
|
function ModernServerContext2(req, res, options) {
|
|
18
22
|
_class_call_check(this, ModernServerContext2);
|
|
19
|
-
var _options;
|
|
20
23
|
_define_property(this, "req", void 0);
|
|
21
24
|
_define_property(this, "res", void 0);
|
|
22
25
|
_define_property(this, "params", {});
|
|
@@ -24,11 +27,21 @@ export var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
24
27
|
_define_property(this, "serverTiming", void 0);
|
|
25
28
|
_define_property(this, "serverData", {});
|
|
26
29
|
_define_property(this, "options", {});
|
|
30
|
+
_class_private_field_init(this, _urls, {
|
|
31
|
+
writable: true,
|
|
32
|
+
value: void 0
|
|
33
|
+
});
|
|
34
|
+
_class_private_field_init(this, _queries, {
|
|
35
|
+
writable: true,
|
|
36
|
+
value: void 0
|
|
37
|
+
});
|
|
27
38
|
this.req = req;
|
|
28
39
|
this.res = res;
|
|
29
40
|
this.options = options || {};
|
|
30
41
|
this.bind();
|
|
31
|
-
|
|
42
|
+
_class_private_field_set(this, _urls, /* @__PURE__ */ new Map());
|
|
43
|
+
_class_private_field_set(this, _queries, /* @__PURE__ */ new Map());
|
|
44
|
+
this.serverTiming = new ServerTiming(this.res, cutNameByHyphen((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
|
|
32
45
|
}
|
|
33
46
|
_create_class(ModernServerContext2, [
|
|
34
47
|
{
|
|
@@ -47,7 +60,12 @@ export var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
47
60
|
key: "parsedURL",
|
|
48
61
|
get: function get() {
|
|
49
62
|
try {
|
|
50
|
-
|
|
63
|
+
var url = _class_private_field_get(this, _urls).get(this.req.url);
|
|
64
|
+
if (!url) {
|
|
65
|
+
url = new URL(this.req.url, MOCK_URL_BASE);
|
|
66
|
+
_class_private_field_get(this, _urls).set(this.req.url, url);
|
|
67
|
+
}
|
|
68
|
+
return url;
|
|
51
69
|
} catch (e) {
|
|
52
70
|
this.logger.error("Parse URL error", e.stack || e.message);
|
|
53
71
|
return new URL("/_modern_mock_path", MOCK_URL_BASE);
|
|
@@ -173,7 +191,8 @@ export var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
173
191
|
if (!host) {
|
|
174
192
|
host = this.getReqHeader("Host");
|
|
175
193
|
}
|
|
176
|
-
|
|
194
|
+
host = host.split(/\s*,\s*/, 1)[0] || "undefined";
|
|
195
|
+
return host;
|
|
177
196
|
}
|
|
178
197
|
},
|
|
179
198
|
{
|
|
@@ -226,7 +245,12 @@ export var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
226
245
|
key: "query",
|
|
227
246
|
get: function get() {
|
|
228
247
|
var str = this.querystring;
|
|
229
|
-
|
|
248
|
+
var query = _class_private_field_get(this, _queries).get(str);
|
|
249
|
+
if (!query) {
|
|
250
|
+
query = qs.parse(str);
|
|
251
|
+
_class_private_field_get(this, _queries).set(str, query);
|
|
252
|
+
}
|
|
253
|
+
return query;
|
|
230
254
|
}
|
|
231
255
|
},
|
|
232
256
|
{
|
|
@@ -262,3 +286,6 @@ export var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
262
286
|
]);
|
|
263
287
|
return ModernServerContext2;
|
|
264
288
|
}();
|
|
289
|
+
export {
|
|
290
|
+
ModernServerContext
|
|
291
|
+
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ModernServerContext } from "./context";
|
|
2
|
-
|
|
2
|
+
var createContext = function(req, res, options) {
|
|
3
3
|
return new ModernServerContext(req, res, options);
|
|
4
4
|
};
|
|
5
|
-
export {
|
|
5
|
+
export {
|
|
6
|
+
ModernServerContext,
|
|
7
|
+
createContext
|
|
8
|
+
};
|
|
@@ -3,7 +3,7 @@ import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
|
3
3
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
4
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
5
5
|
import cookie from "cookie";
|
|
6
|
-
|
|
6
|
+
var BaseResponse = /* @__PURE__ */ function() {
|
|
7
7
|
"use strict";
|
|
8
8
|
function BaseResponse2(res) {
|
|
9
9
|
_class_call_check(this, BaseResponse2);
|
|
@@ -69,7 +69,7 @@ export var BaseResponse = /* @__PURE__ */ function() {
|
|
|
69
69
|
]);
|
|
70
70
|
return BaseResponse2;
|
|
71
71
|
}();
|
|
72
|
-
|
|
72
|
+
var BaseRequest = /* @__PURE__ */ function() {
|
|
73
73
|
"use strict";
|
|
74
74
|
function BaseRequest2(request) {
|
|
75
75
|
_class_call_check(this, BaseRequest2);
|
|
@@ -102,3 +102,7 @@ export var BaseRequest = /* @__PURE__ */ function() {
|
|
|
102
102
|
]);
|
|
103
103
|
return BaseRequest2;
|
|
104
104
|
}();
|
|
105
|
+
export {
|
|
106
|
+
BaseRequest,
|
|
107
|
+
BaseResponse
|
|
108
|
+
};
|
|
@@ -3,29 +3,29 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
|
3
3
|
import { RouteAPI } from "./route";
|
|
4
4
|
import { TemplateAPI } from "./template";
|
|
5
5
|
import { BaseRequest, BaseResponse } from "./base";
|
|
6
|
-
|
|
6
|
+
var base = function(context) {
|
|
7
7
|
var res = context.res, reporter = context.reporter;
|
|
8
8
|
return {
|
|
9
9
|
response: new BaseResponse(res),
|
|
10
10
|
request: new BaseRequest(context),
|
|
11
|
-
reporter
|
|
11
|
+
reporter,
|
|
12
12
|
logger: context.logger,
|
|
13
13
|
metrics: context.metrics
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
var createAfterMatchContext = function(context, entryName) {
|
|
17
17
|
var baseContext = base(context);
|
|
18
18
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
19
19
|
router: new RouteAPI(entryName)
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
var createAfterRenderContext = function(context, content) {
|
|
23
23
|
var baseContext = base(context);
|
|
24
24
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
25
25
|
template: new TemplateAPI(content)
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
var createMiddlewareContext = function(context) {
|
|
29
29
|
var baseContext = base(context);
|
|
30
30
|
baseContext.response.locals = context.res.locals || {};
|
|
31
31
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
@@ -36,3 +36,9 @@ export var createMiddlewareContext = function(context) {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
|
+
export {
|
|
40
|
+
base,
|
|
41
|
+
createAfterMatchContext,
|
|
42
|
+
createAfterRenderContext,
|
|
43
|
+
createMiddlewareContext
|
|
44
|
+
};
|
|
@@ -54,7 +54,7 @@ var ServerResponse = /* @__PURE__ */ function() {
|
|
|
54
54
|
]);
|
|
55
55
|
return ServerResponse2;
|
|
56
56
|
}();
|
|
57
|
-
|
|
57
|
+
var base = function(context) {
|
|
58
58
|
var req = context.req, res = context.res, logger = context.logger, metrics = context.metrics, reporter = context.reporter;
|
|
59
59
|
var serverResponse = new ServerResponse(res);
|
|
60
60
|
var _ref = new URL(req.url), host = _ref.host, pathname = _ref.pathname, searchParams = _ref.searchParams;
|
|
@@ -64,37 +64,37 @@ export var base = function(context) {
|
|
|
64
64
|
});
|
|
65
65
|
return {
|
|
66
66
|
response: new BaseResponse(serverResponse),
|
|
67
|
-
reporter
|
|
67
|
+
reporter,
|
|
68
68
|
request: new BaseRequest({
|
|
69
69
|
url: req.url,
|
|
70
|
-
host
|
|
70
|
+
host,
|
|
71
71
|
path: pathname,
|
|
72
|
-
headers
|
|
72
|
+
headers,
|
|
73
73
|
// eslint-disable-next-line node/no-unsupported-features/es-builtins
|
|
74
74
|
query: Object.fromEntries(searchParams)
|
|
75
75
|
}),
|
|
76
|
-
logger
|
|
77
|
-
metrics
|
|
76
|
+
logger,
|
|
77
|
+
metrics
|
|
78
78
|
};
|
|
79
79
|
};
|
|
80
|
-
|
|
80
|
+
var createAfterMatchContext = function(context, entryName) {
|
|
81
81
|
var baseContext = base(context);
|
|
82
82
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
83
83
|
router: new RouteAPI(entryName)
|
|
84
84
|
});
|
|
85
85
|
};
|
|
86
|
-
|
|
86
|
+
var createAfterRenderContext = function(context, content) {
|
|
87
87
|
var baseContext = base(context);
|
|
88
88
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
89
89
|
template: new TemplateAPI(content)
|
|
90
90
|
});
|
|
91
91
|
};
|
|
92
|
-
|
|
92
|
+
var createMiddlewareContext = function(context) {
|
|
93
93
|
var baseContext = base(context);
|
|
94
94
|
baseContext.response.locals = context.res.locals;
|
|
95
95
|
var _context_req = context.req, url = _context_req.url, headers = _context_req.headers;
|
|
96
96
|
var rawRequest = new Request(url, {
|
|
97
|
-
headers
|
|
97
|
+
headers
|
|
98
98
|
});
|
|
99
99
|
return _object_spread_props(_object_spread({}, baseContext), {
|
|
100
100
|
response: baseContext.response,
|
|
@@ -104,3 +104,9 @@ export var createMiddlewareContext = function(context) {
|
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
106
|
};
|
|
107
|
+
export {
|
|
108
|
+
base,
|
|
109
|
+
createAfterMatchContext,
|
|
110
|
+
createAfterRenderContext,
|
|
111
|
+
createMiddlewareContext
|
|
112
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
2
|
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
3
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
|
-
|
|
4
|
+
var RouteAPI = /* @__PURE__ */ function() {
|
|
5
5
|
"use strict";
|
|
6
6
|
function RouteAPI2(entryName) {
|
|
7
7
|
_class_call_check(this, RouteAPI2);
|
|
@@ -36,3 +36,6 @@ export var RouteAPI = /* @__PURE__ */ function() {
|
|
|
36
36
|
]);
|
|
37
37
|
return RouteAPI2;
|
|
38
38
|
}();
|
|
39
|
+
export {
|
|
40
|
+
RouteAPI
|
|
41
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
2
|
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
3
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
|
-
|
|
4
|
+
var RegList = {
|
|
5
5
|
before: {
|
|
6
6
|
head: "<head>",
|
|
7
7
|
body: "<body>"
|
|
@@ -11,7 +11,7 @@ export var RegList = {
|
|
|
11
11
|
body: "</body>"
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
var TemplateAPI = /* @__PURE__ */ function() {
|
|
15
15
|
"use strict";
|
|
16
16
|
function TemplateAPI2(content) {
|
|
17
17
|
_class_call_check(this, TemplateAPI2);
|
|
@@ -68,3 +68,7 @@ export var TemplateAPI = /* @__PURE__ */ function() {
|
|
|
68
68
|
]);
|
|
69
69
|
return TemplateAPI2;
|
|
70
70
|
}();
|
|
71
|
+
export {
|
|
72
|
+
RegList,
|
|
73
|
+
TemplateAPI
|
|
74
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Transform } from "stream";
|
|
2
2
|
import { RegList } from "./template";
|
|
3
|
-
|
|
3
|
+
var templateInjectableStream = function(param) {
|
|
4
4
|
var prependHead = param.prependHead, appendHead = param.appendHead, prependBody = param.prependBody, appendBody = param.appendBody;
|
|
5
5
|
return new Transform({
|
|
6
6
|
write: function write(chunk, _, callback) {
|
|
@@ -26,3 +26,6 @@ export var templateInjectableStream = function(param) {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
|
+
export {
|
|
30
|
+
templateInjectableStream
|
|
31
|
+
};
|
|
@@ -3,18 +3,18 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
|
3
3
|
import * as path from "path";
|
|
4
4
|
import { compatRequire, fs, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
|
|
5
5
|
import mergeDeep from "merge-deep";
|
|
6
|
-
|
|
6
|
+
var getServerConfigPath = function(distDirectory) {
|
|
7
7
|
var serverConfigFile = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_SERVER_CONFIG;
|
|
8
8
|
var serverConfigPath = path.join(distDirectory, serverConfigFile);
|
|
9
9
|
return "".concat(serverConfigPath, ".js");
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
var requireConfig = function(serverConfigPath) {
|
|
12
12
|
if (fs.pathExistsSync(serverConfigPath)) {
|
|
13
13
|
return compatRequire(serverConfigPath);
|
|
14
14
|
}
|
|
15
15
|
return {};
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
var loadConfig = function(param) {
|
|
18
18
|
var cliConfig = param.cliConfig, serverConfig = param.serverConfig, resolvedConfigPath = param.resolvedConfigPath;
|
|
19
19
|
var config = null;
|
|
20
20
|
if (process.env.NODE_ENV === "production") {
|
|
@@ -29,3 +29,8 @@ export var loadConfig = function(param) {
|
|
|
29
29
|
}
|
|
30
30
|
return config;
|
|
31
31
|
};
|
|
32
|
+
export {
|
|
33
|
+
getServerConfigPath,
|
|
34
|
+
loadConfig,
|
|
35
|
+
requireConfig
|
|
36
|
+
};
|
package/dist/esm/libs/metrics.js
CHANGED
|
@@ -2,12 +2,12 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import { parseLinks } from "./parseLinks";
|
|
4
4
|
import { transformLinks2String } from "./transformLinks2String";
|
|
5
|
-
|
|
5
|
+
function flushServerHeader(_) {
|
|
6
6
|
return _flushServerHeader.apply(this, arguments);
|
|
7
7
|
}
|
|
8
8
|
function _flushServerHeader() {
|
|
9
9
|
_flushServerHeader = _async_to_generator(function(param) {
|
|
10
|
-
var serverConf, ctx, distDir, template, headers, _ref, ssrConf, res, links, link, key,
|
|
10
|
+
var serverConf, ctx, distDir, template, headers, _ref, ssrConf, res, links, link, key, value;
|
|
11
11
|
return _ts_generator(this, function(_state) {
|
|
12
12
|
switch (_state.label) {
|
|
13
13
|
case 0:
|
|
@@ -22,8 +22,8 @@ function _flushServerHeader() {
|
|
|
22
22
|
return [
|
|
23
23
|
4,
|
|
24
24
|
parseLinks({
|
|
25
|
-
template
|
|
26
|
-
distDir
|
|
25
|
+
template,
|
|
26
|
+
distDir,
|
|
27
27
|
pathname: ctx.path
|
|
28
28
|
})
|
|
29
29
|
];
|
|
@@ -32,11 +32,11 @@ function _flushServerHeader() {
|
|
|
32
32
|
link = transformLinks2String(links, ssrConf.preload);
|
|
33
33
|
res.set("link", link);
|
|
34
34
|
for (var key2 in headers || {}) {
|
|
35
|
-
;
|
|
36
|
-
value = (_headers = headers) === null || _headers === void 0 ? void 0 : _headers[key2];
|
|
35
|
+
value = headers === null || headers === void 0 ? void 0 : headers[key2];
|
|
37
36
|
value && res.set(key2, value);
|
|
38
37
|
}
|
|
39
38
|
res.flushHeaders();
|
|
39
|
+
res.modernFlushedHeaders = true;
|
|
40
40
|
return [
|
|
41
41
|
2
|
|
42
42
|
];
|
|
@@ -45,3 +45,6 @@ function _flushServerHeader() {
|
|
|
45
45
|
});
|
|
46
46
|
return _flushServerHeader.apply(this, arguments);
|
|
47
47
|
}
|
|
48
|
+
export {
|
|
49
|
+
flushServerHeader
|
|
50
|
+
};
|