@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
package/package.json
CHANGED
|
@@ -15,94 +15,53 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.49.0",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
22
|
-
"module": "./dist/
|
|
22
|
+
"module": "./dist/es/index.js",
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
"import": "./dist/esm-node/index.js",
|
|
29
|
-
"require": "./dist/cjs/index.js"
|
|
30
|
-
},
|
|
31
|
-
"default": "./dist/esm/index.js"
|
|
32
|
-
},
|
|
33
|
-
"./worker": {
|
|
34
|
-
"types": "./dist/types/workerServer.d.ts",
|
|
35
|
-
"node": {
|
|
36
|
-
"jsnext:source": "./src/workerServer.ts",
|
|
37
|
-
"import": "./dist/esm-node/workerServer.js",
|
|
38
|
-
"require": "./dist/cjs/workerServer.js"
|
|
39
|
-
},
|
|
40
|
-
"default": "./dist/esm/workerServer.js"
|
|
41
|
-
},
|
|
42
|
-
"./renderHtml": {
|
|
43
|
-
"types": "./dist/types/renderHtml.d.ts",
|
|
44
|
-
"node": {
|
|
45
|
-
"jsnext:source": "./src/renderHtml.ts",
|
|
46
|
-
"import": "./dist/esm-node/renderHtml.js",
|
|
47
|
-
"require": "./dist/cjs/renderHtml.js"
|
|
48
|
-
},
|
|
49
|
-
"default": "./dist/esm/renderHtml.js"
|
|
26
|
+
"jsnext:source": "./src/index.ts",
|
|
27
|
+
"default": "./dist/cjs/index.js"
|
|
50
28
|
}
|
|
51
29
|
},
|
|
52
30
|
"typesVersions": {
|
|
53
31
|
"*": {
|
|
54
32
|
".": [
|
|
55
33
|
"./dist/types/index.d.ts"
|
|
56
|
-
],
|
|
57
|
-
"worker": [
|
|
58
|
-
"./dist/types/workerServer.d.ts"
|
|
59
|
-
],
|
|
60
|
-
"renderHtml": [
|
|
61
|
-
"./dist/types/renderHtml.d.ts"
|
|
62
34
|
]
|
|
63
35
|
}
|
|
64
36
|
},
|
|
65
37
|
"dependencies": {
|
|
66
|
-
"isbot": "^3.8.0",
|
|
67
38
|
"@swc/helpers": "0.5.3",
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"fresh": "^0.5.2",
|
|
71
|
-
"http-proxy-middleware": "^2.0.4",
|
|
72
|
-
"ignore-styles": "^5.0.1",
|
|
73
|
-
"merge-deep": "^3.0.3",
|
|
74
|
-
"node-html-parser": "^6.1.5",
|
|
75
|
-
"path-to-regexp": "^6.2.0",
|
|
76
|
-
"serve-static": "^1.14.1",
|
|
77
|
-
"@modern-js/plugin": "2.48.5",
|
|
78
|
-
"@modern-js/server-core": "2.48.5",
|
|
79
|
-
"@modern-js/runtime-utils": "2.48.5",
|
|
80
|
-
"@modern-js/utils": "2.48.5"
|
|
39
|
+
"@modern-js/server-core": "2.49.0",
|
|
40
|
+
"@modern-js/runtime-utils": "2.49.0"
|
|
81
41
|
},
|
|
82
42
|
"devDependencies": {
|
|
83
|
-
"@types/cookie": "0.5.1",
|
|
84
|
-
"@types/etag": "^1.8.1",
|
|
85
|
-
"@types/fresh": "^0.5.0",
|
|
86
|
-
"@types/jest": "^29",
|
|
87
43
|
"@types/merge-deep": "^3.0.0",
|
|
88
|
-
"@types/node": "
|
|
89
|
-
"
|
|
90
|
-
"@types/ws": "^8.5.5",
|
|
91
|
-
"axios": "^1.6.0",
|
|
44
|
+
"@types/node": "~16.11.7",
|
|
45
|
+
"husky": "^8.0.0",
|
|
92
46
|
"jest": "^29",
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"@
|
|
100
|
-
"@scripts/build": "2.
|
|
47
|
+
"lint-staged": "~13.1.0",
|
|
48
|
+
"prettier": "^2.8.1",
|
|
49
|
+
"rimraf": "^3.0.2",
|
|
50
|
+
"tsx": "^3.12.7",
|
|
51
|
+
"@types/jest": "^29",
|
|
52
|
+
"typescript": "~5.0.4",
|
|
53
|
+
"@modern-js/eslint-config": "2.49.0",
|
|
54
|
+
"@scripts/build": "2.49.0",
|
|
55
|
+
"@modern-js/types": "2.49.0",
|
|
56
|
+
"@modern-js/utils": "2.49.0",
|
|
57
|
+
"@scripts/jest-config": "2.49.0"
|
|
58
|
+
},
|
|
59
|
+
"sideEffects": [],
|
|
60
|
+
"engines": {
|
|
61
|
+
"node": ">=16.2.0"
|
|
101
62
|
},
|
|
102
|
-
"sideEffects": false,
|
|
103
63
|
"publishConfig": {
|
|
104
64
|
"access": "public",
|
|
105
|
-
"provenance": true,
|
|
106
65
|
"registry": "https://registry.npmjs.org/"
|
|
107
66
|
},
|
|
108
67
|
"scripts": {
|
package/dist/cjs/constants.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var constants_exports = {};
|
|
20
|
-
__export(constants_exports, {
|
|
21
|
-
AGGRED_DIR: () => AGGRED_DIR,
|
|
22
|
-
ApiServerMode: () => ApiServerMode,
|
|
23
|
-
ERROR_DIGEST: () => ERROR_DIGEST,
|
|
24
|
-
ERROR_PAGE_TEXT: () => ERROR_PAGE_TEXT,
|
|
25
|
-
RUN_MODE: () => RUN_MODE,
|
|
26
|
-
ServerReportTimings: () => ServerReportTimings
|
|
27
|
-
});
|
|
28
|
-
module.exports = __toCommonJS(constants_exports);
|
|
29
|
-
const AGGRED_DIR = {
|
|
30
|
-
mock: "config/mock",
|
|
31
|
-
server: "server",
|
|
32
|
-
api: "api",
|
|
33
|
-
shared: "shared",
|
|
34
|
-
lambda: "lambda"
|
|
35
|
-
};
|
|
36
|
-
var ApiServerMode;
|
|
37
|
-
(function(ApiServerMode2) {
|
|
38
|
-
ApiServerMode2["func"] = "function";
|
|
39
|
-
ApiServerMode2["frame"] = "framework";
|
|
40
|
-
})(ApiServerMode || (ApiServerMode = {}));
|
|
41
|
-
const ERROR_DIGEST = {
|
|
42
|
-
INIT: "Server init error",
|
|
43
|
-
ENOTF: "Page could not be found",
|
|
44
|
-
WARMUP: "SSR warmup failed",
|
|
45
|
-
EINTER: "Internal server error",
|
|
46
|
-
ERENDER: "SSR render failed",
|
|
47
|
-
EMICROINJ: "Get micro-frontend info failed"
|
|
48
|
-
};
|
|
49
|
-
const ERROR_PAGE_TEXT = {
|
|
50
|
-
404: "This page could not be found.",
|
|
51
|
-
500: "Internal Server Error."
|
|
52
|
-
};
|
|
53
|
-
const RUN_MODE = {
|
|
54
|
-
FULL: "full",
|
|
55
|
-
TYPE: "type"
|
|
56
|
-
};
|
|
57
|
-
var ServerReportTimings;
|
|
58
|
-
(function(ServerReportTimings2) {
|
|
59
|
-
ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
|
|
60
|
-
ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
|
|
61
|
-
ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
|
|
62
|
-
ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
|
|
63
|
-
})(ServerReportTimings || (ServerReportTimings = {}));
|
|
64
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
-
0 && (module.exports = {
|
|
66
|
-
AGGRED_DIR,
|
|
67
|
-
ApiServerMode,
|
|
68
|
-
ERROR_DIGEST,
|
|
69
|
-
ERROR_PAGE_TEXT,
|
|
70
|
-
RUN_MODE,
|
|
71
|
-
ServerReportTimings
|
|
72
|
-
});
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var context_exports = {};
|
|
30
|
-
__export(context_exports, {
|
|
31
|
-
ModernServerContext: () => ModernServerContext
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(context_exports);
|
|
34
|
-
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
35
|
-
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
36
|
-
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
37
|
-
var import_url = require("url");
|
|
38
|
-
var import_querystring = __toESM(require("querystring"));
|
|
39
|
-
var import_buffer = require("buffer");
|
|
40
|
-
var import_etag = __toESM(require("etag"));
|
|
41
|
-
var import_fresh = __toESM(require("fresh"));
|
|
42
|
-
var import_utils = require("@modern-js/utils");
|
|
43
|
-
var import_serverTiming = require("../serverTiming");
|
|
44
|
-
var import_reporter = require("../reporter");
|
|
45
|
-
var import_utils2 = require("../../utils");
|
|
46
|
-
const MOCK_URL_BASE = "https://modernjs.dev/";
|
|
47
|
-
var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
|
|
48
|
-
class ModernServerContext {
|
|
49
|
-
get logger() {
|
|
50
|
-
return this.req.logger;
|
|
51
|
-
}
|
|
52
|
-
get metrics() {
|
|
53
|
-
return this.req.metrics;
|
|
54
|
-
}
|
|
55
|
-
get parsedURL() {
|
|
56
|
-
try {
|
|
57
|
-
let url = (0, import_class_private_field_get._)(this, _urls).get(this.req.url);
|
|
58
|
-
if (!url) {
|
|
59
|
-
url = new import_url.URL(this.req.url, MOCK_URL_BASE);
|
|
60
|
-
(0, import_class_private_field_get._)(this, _urls).set(this.req.url, url);
|
|
61
|
-
}
|
|
62
|
-
return url;
|
|
63
|
-
} catch (e) {
|
|
64
|
-
this.logger.error("Parse URL error", e.stack || e.message);
|
|
65
|
-
return new import_url.URL("/_modern_mock_path", MOCK_URL_BASE);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
bind() {
|
|
69
|
-
const { req, res } = this;
|
|
70
|
-
req.get = (key) => this.getReqHeader(key);
|
|
71
|
-
res.set = (key, value) => {
|
|
72
|
-
if (!res.headersSent) {
|
|
73
|
-
res.setHeader(key, value);
|
|
74
|
-
}
|
|
75
|
-
return res;
|
|
76
|
-
};
|
|
77
|
-
res.send = (body) => {
|
|
78
|
-
this.send(body);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
// compat express res.send, only support etag now
|
|
82
|
-
send(body) {
|
|
83
|
-
try {
|
|
84
|
-
const generateETag = !this.res.getHeader("ETag") && this.options.etag;
|
|
85
|
-
if (body !== void 0 && generateETag) {
|
|
86
|
-
const encoding = typeof body === "string" ? "utf-8" : void 0;
|
|
87
|
-
const buf = !import_buffer.Buffer.isBuffer(body) ? import_buffer.Buffer.from(body, encoding) : body;
|
|
88
|
-
const etag = (0, import_etag.default)(buf, {
|
|
89
|
-
weak: true
|
|
90
|
-
});
|
|
91
|
-
if (etag) {
|
|
92
|
-
this.res.setHeader("ETag", etag);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (this.fresh) {
|
|
96
|
-
this.status = 304;
|
|
97
|
-
}
|
|
98
|
-
} catch (e) {
|
|
99
|
-
this.logger.error(e.message);
|
|
100
|
-
}
|
|
101
|
-
this.res.end(body);
|
|
102
|
-
}
|
|
103
|
-
setParams(params) {
|
|
104
|
-
this.params = params;
|
|
105
|
-
}
|
|
106
|
-
setServerData(key, value) {
|
|
107
|
-
this.serverData[key] = value;
|
|
108
|
-
}
|
|
109
|
-
getReqHeader(key) {
|
|
110
|
-
const { req } = this;
|
|
111
|
-
const field = key.toLowerCase();
|
|
112
|
-
switch (field) {
|
|
113
|
-
case "referer":
|
|
114
|
-
case "referrer":
|
|
115
|
-
return req.headers.referrer || req.headers.referer || "";
|
|
116
|
-
default:
|
|
117
|
-
return req.headers[field] || "";
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
get fresh() {
|
|
121
|
-
const { status, res, method } = this;
|
|
122
|
-
if ("GET" !== method && "HEAD" !== method) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
if (status >= 200 && status < 300 || 304 === status) {
|
|
126
|
-
return (0, import_fresh.default)(this.headers, {
|
|
127
|
-
etag: res.getHeader("ETag"),
|
|
128
|
-
"last-modified": res.getHeader("Last-Modified")
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
/* request property */
|
|
134
|
-
get headers() {
|
|
135
|
-
return this.req.headers;
|
|
136
|
-
}
|
|
137
|
-
get method() {
|
|
138
|
-
return this.req.method;
|
|
139
|
-
}
|
|
140
|
-
get url() {
|
|
141
|
-
return this.req.url || "";
|
|
142
|
-
}
|
|
143
|
-
set url(val) {
|
|
144
|
-
this.req.url = val;
|
|
145
|
-
}
|
|
146
|
-
get host() {
|
|
147
|
-
let host = this.getReqHeader("X-Forwarded-Host");
|
|
148
|
-
if (!host) {
|
|
149
|
-
host = this.getReqHeader("Host");
|
|
150
|
-
}
|
|
151
|
-
host = host.split(/\s*,\s*/, 1)[0] || "undefined";
|
|
152
|
-
return host;
|
|
153
|
-
}
|
|
154
|
-
get protocol() {
|
|
155
|
-
if (this.req.socket.encrypted) {
|
|
156
|
-
return "https";
|
|
157
|
-
}
|
|
158
|
-
const proto = this.getReqHeader("X-Forwarded-Proto");
|
|
159
|
-
return proto ? proto.split(/\s*,\s*/, 1)[0] : "http";
|
|
160
|
-
}
|
|
161
|
-
get origin() {
|
|
162
|
-
return `${this.protocol}://${this.host}`;
|
|
163
|
-
}
|
|
164
|
-
get href() {
|
|
165
|
-
return this.origin + this.url;
|
|
166
|
-
}
|
|
167
|
-
get path() {
|
|
168
|
-
return this.parsedURL.pathname;
|
|
169
|
-
}
|
|
170
|
-
set path(p) {
|
|
171
|
-
if (!p) {
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
if (this.path === p) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
this.url = p + this.parsedURL.search;
|
|
178
|
-
}
|
|
179
|
-
get querystring() {
|
|
180
|
-
if (!this.req) {
|
|
181
|
-
return "";
|
|
182
|
-
}
|
|
183
|
-
return this.parsedURL.search.replace(/^\?/, "") || "";
|
|
184
|
-
}
|
|
185
|
-
get query() {
|
|
186
|
-
const str = this.querystring;
|
|
187
|
-
let query = (0, import_class_private_field_get._)(this, _queries).get(str);
|
|
188
|
-
if (!query) {
|
|
189
|
-
query = import_querystring.default.parse(str);
|
|
190
|
-
(0, import_class_private_field_get._)(this, _queries).set(str, query);
|
|
191
|
-
}
|
|
192
|
-
return query;
|
|
193
|
-
}
|
|
194
|
-
/* response property */
|
|
195
|
-
get status() {
|
|
196
|
-
return this.res.statusCode;
|
|
197
|
-
}
|
|
198
|
-
set status(statusCode) {
|
|
199
|
-
this.res.statusCode = statusCode;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* 判断链接是否已经关闭
|
|
203
|
-
*/
|
|
204
|
-
resHasHandled() {
|
|
205
|
-
return this.res.writableEnded;
|
|
206
|
-
}
|
|
207
|
-
error(dig, e = "") {
|
|
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));
|
|
209
|
-
}
|
|
210
|
-
constructor(req, res, options) {
|
|
211
|
-
(0, import_class_private_field_init._)(this, _urls, {
|
|
212
|
-
writable: true,
|
|
213
|
-
value: void 0
|
|
214
|
-
});
|
|
215
|
-
(0, import_class_private_field_init._)(this, _queries, {
|
|
216
|
-
writable: true,
|
|
217
|
-
value: void 0
|
|
218
|
-
});
|
|
219
|
-
this.params = {};
|
|
220
|
-
this.reporter = import_reporter.defaultReporter;
|
|
221
|
-
this.serverData = {};
|
|
222
|
-
this.options = {};
|
|
223
|
-
this.req = req;
|
|
224
|
-
this.res = res;
|
|
225
|
-
this.options = options || {};
|
|
226
|
-
this.bind();
|
|
227
|
-
(0, import_class_private_field_set._)(this, _urls, /* @__PURE__ */ new Map());
|
|
228
|
-
(0, import_class_private_field_set._)(this, _queries, /* @__PURE__ */ new Map());
|
|
229
|
-
this.serverTiming = new import_serverTiming.ServerTiming(this.res, (0, import_utils.cutNameByHyphen)((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
|
|
230
|
-
req.reporter && (this.reporter = req.reporter);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
234
|
-
0 && (module.exports = {
|
|
235
|
-
ModernServerContext
|
|
236
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var context_exports = {};
|
|
20
|
-
__export(context_exports, {
|
|
21
|
-
ModernServerContext: () => import_context.ModernServerContext,
|
|
22
|
-
createContext: () => createContext
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(context_exports);
|
|
25
|
-
var import_context = require("./context");
|
|
26
|
-
const createContext = (req, res, options) => new import_context.ModernServerContext(req, res, options);
|
|
27
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
-
0 && (module.exports = {
|
|
29
|
-
ModernServerContext,
|
|
30
|
-
createContext
|
|
31
|
-
});
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var afterRenderForStream_exports = {};
|
|
20
|
-
__export(afterRenderForStream_exports, {
|
|
21
|
-
afterRenderInjectableStream: () => afterRenderInjectableStream
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(afterRenderForStream_exports);
|
|
24
|
-
var import_stream = require("stream");
|
|
25
|
-
const afterRenderInjectableStream = (fn) => new import_stream.Transform({
|
|
26
|
-
async write(chunk, _, callback) {
|
|
27
|
-
this.push(await fn(chunk.toString()));
|
|
28
|
-
callback();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
-
0 && (module.exports = {
|
|
33
|
-
afterRenderInjectableStream
|
|
34
|
-
});
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var base_exports = {};
|
|
30
|
-
__export(base_exports, {
|
|
31
|
-
BaseRequest: () => BaseRequest,
|
|
32
|
-
BaseResponse: () => BaseResponse
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(base_exports);
|
|
35
|
-
var import_cookie = __toESM(require("cookie"));
|
|
36
|
-
class BaseResponse {
|
|
37
|
-
get(key) {
|
|
38
|
-
return this.res.getHeader(key);
|
|
39
|
-
}
|
|
40
|
-
set(key, value) {
|
|
41
|
-
return this.res.setHeader(key, value);
|
|
42
|
-
}
|
|
43
|
-
status(code) {
|
|
44
|
-
this.res.statusCode = code;
|
|
45
|
-
}
|
|
46
|
-
setCookie(key, value, options) {
|
|
47
|
-
const cookieValue = this.res.getHeader("set-cookie") || "";
|
|
48
|
-
const fmt = Array.isArray(cookieValue) ? cookieValue : [
|
|
49
|
-
cookieValue
|
|
50
|
-
].filter(Boolean);
|
|
51
|
-
fmt.push(import_cookie.default.serialize(key, value, options));
|
|
52
|
-
this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
|
|
53
|
-
}
|
|
54
|
-
clearCookie() {
|
|
55
|
-
this.res.removeHeader("set-cookie");
|
|
56
|
-
}
|
|
57
|
-
raw(body, options) {
|
|
58
|
-
const { status, headers = {} } = options || {};
|
|
59
|
-
Object.entries(headers).forEach(([key, value]) => {
|
|
60
|
-
this.res.setHeader(key, value);
|
|
61
|
-
});
|
|
62
|
-
if (status) {
|
|
63
|
-
this.res.statusCode = status;
|
|
64
|
-
}
|
|
65
|
-
this.res.end(body);
|
|
66
|
-
}
|
|
67
|
-
constructor(res) {
|
|
68
|
-
this.res = res;
|
|
69
|
-
this.cookies = {
|
|
70
|
-
set: this.setCookie.bind(this),
|
|
71
|
-
clear: this.clearCookie.bind(this)
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
class BaseRequest {
|
|
76
|
-
getCookie(key) {
|
|
77
|
-
return this._cookie[key];
|
|
78
|
-
}
|
|
79
|
-
constructor(request) {
|
|
80
|
-
this.url = request.url;
|
|
81
|
-
this.host = request.host;
|
|
82
|
-
this.pathname = request.path;
|
|
83
|
-
this.query = request.query;
|
|
84
|
-
this.headers = request.headers;
|
|
85
|
-
this.cookie = request.headers.cookie || "";
|
|
86
|
-
this._cookie = import_cookie.default.parse(this.cookie);
|
|
87
|
-
this.cookies = {
|
|
88
|
-
get: this.getCookie.bind(this)
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
93
|
-
0 && (module.exports = {
|
|
94
|
-
BaseRequest,
|
|
95
|
-
BaseResponse
|
|
96
|
-
});
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var hook_api_exports = {};
|
|
20
|
-
__export(hook_api_exports, {
|
|
21
|
-
base: () => base,
|
|
22
|
-
createAfterMatchContext: () => createAfterMatchContext,
|
|
23
|
-
createAfterRenderContext: () => createAfterRenderContext,
|
|
24
|
-
createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
|
|
25
|
-
createMiddlewareContext: () => createMiddlewareContext
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(hook_api_exports);
|
|
28
|
-
var import_route = require("./route");
|
|
29
|
-
var import_template = require("./template");
|
|
30
|
-
var import_base = require("./base");
|
|
31
|
-
const base = (context) => {
|
|
32
|
-
const { res } = context;
|
|
33
|
-
return {
|
|
34
|
-
response: new import_base.BaseResponse(res),
|
|
35
|
-
request: new import_base.BaseRequest(context),
|
|
36
|
-
logger: context.logger,
|
|
37
|
-
metrics: context.metrics
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
const createAfterMatchContext = (context, entryName) => {
|
|
41
|
-
const baseContext = base(context);
|
|
42
|
-
return {
|
|
43
|
-
...baseContext,
|
|
44
|
-
router: new import_route.RouteAPI(entryName)
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
const createAfterRenderContext = (context, route, content) => {
|
|
48
|
-
const baseContext = base(context);
|
|
49
|
-
return {
|
|
50
|
-
...baseContext,
|
|
51
|
-
route,
|
|
52
|
-
template: new import_template.TemplateAPI(content)
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
const createAfterStreamingRenderContext = (context, route) => {
|
|
56
|
-
const baseContext = base(context);
|
|
57
|
-
return (chunk) => {
|
|
58
|
-
return {
|
|
59
|
-
...baseContext,
|
|
60
|
-
route,
|
|
61
|
-
chunk
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
const createMiddlewareContext = (context) => {
|
|
66
|
-
const baseContext = base(context);
|
|
67
|
-
baseContext.response.locals = context.res.locals || {};
|
|
68
|
-
return {
|
|
69
|
-
...baseContext,
|
|
70
|
-
response: baseContext.response,
|
|
71
|
-
reporter: context.reporter,
|
|
72
|
-
source: {
|
|
73
|
-
req: context.req,
|
|
74
|
-
res: context.res
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
-
0 && (module.exports = {
|
|
80
|
-
base,
|
|
81
|
-
createAfterMatchContext,
|
|
82
|
-
createAfterRenderContext,
|
|
83
|
-
createAfterStreamingRenderContext,
|
|
84
|
-
createMiddlewareContext
|
|
85
|
-
});
|