@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
|
@@ -1,24 +1,29 @@
|
|
|
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 RouteMatchManager;
|
|
15
|
-
},
|
|
16
|
-
RouteMatcher: function() {
|
|
17
|
-
return _matcher.RouteMatcher;
|
|
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 route_exports = {};
|
|
20
|
+
__export(route_exports, {
|
|
21
|
+
RouteMatchManager: () => RouteMatchManager,
|
|
22
|
+
RouteMatcher: () => import_matcher.RouteMatcher
|
|
19
23
|
});
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
module.exports = __toCommonJS(route_exports);
|
|
25
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
|
+
var import_matcher = require("./matcher");
|
|
22
27
|
class RouteMatchManager {
|
|
23
28
|
// get all routes matches pathname
|
|
24
29
|
filter(pathname) {
|
|
@@ -49,7 +54,7 @@ class RouteMatchManager {
|
|
|
49
54
|
reset(specs) {
|
|
50
55
|
this.specs = specs;
|
|
51
56
|
const matchers = specs.reduce((ms, spec) => {
|
|
52
|
-
ms.push(new
|
|
57
|
+
ms.push(new import_matcher.RouteMatcher(spec));
|
|
53
58
|
return ms;
|
|
54
59
|
}, []);
|
|
55
60
|
this.matchers = matchers;
|
|
@@ -68,8 +73,13 @@ class RouteMatchManager {
|
|
|
68
73
|
return bundles;
|
|
69
74
|
}
|
|
70
75
|
constructor() {
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
(0, import_define_property._)(this, "matchers", void 0);
|
|
77
|
+
(0, import_define_property._)(this, "specs", []);
|
|
73
78
|
this.matchers = [];
|
|
74
79
|
}
|
|
75
80
|
}
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
RouteMatchManager,
|
|
84
|
+
RouteMatcher
|
|
85
|
+
});
|
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var matcher_exports = {};
|
|
20
|
+
__export(matcher_exports, {
|
|
21
|
+
RouteMatcher: () => RouteMatcher
|
|
10
22
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
23
|
+
module.exports = __toCommonJS(matcher_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
|
+
var import_path_to_regexp = require("path-to-regexp");
|
|
26
|
+
var import_route = require("./route");
|
|
14
27
|
const removeTailSlash = (s) => s.replace(/\/+$/, "");
|
|
15
28
|
const removeHtmlSuffix = (url) => {
|
|
16
29
|
if (url.endsWith(".html")) {
|
|
@@ -19,7 +32,7 @@ const removeHtmlSuffix = (url) => {
|
|
|
19
32
|
return url;
|
|
20
33
|
};
|
|
21
34
|
const toPath = (reg, params) => {
|
|
22
|
-
const fn = (0,
|
|
35
|
+
const fn = (0, import_path_to_regexp.compile)(reg, {
|
|
23
36
|
encode: encodeURIComponent
|
|
24
37
|
});
|
|
25
38
|
return fn(params);
|
|
@@ -28,7 +41,7 @@ const regCharsDetector = /[^a-zA-Z\-_0-9\/\.]/;
|
|
|
28
41
|
class RouteMatcher {
|
|
29
42
|
// generate modern route object
|
|
30
43
|
generate(url) {
|
|
31
|
-
const route = new
|
|
44
|
+
const route = new import_route.ModernRoute(this.spec);
|
|
32
45
|
if (this.urlPath) {
|
|
33
46
|
const params = this.parseURLParams(url);
|
|
34
47
|
route.urlPath = toPath(route.urlPath, params);
|
|
@@ -49,9 +62,9 @@ class RouteMatcher {
|
|
|
49
62
|
if (!this.urlReg) {
|
|
50
63
|
return this.urlPath.length;
|
|
51
64
|
} else {
|
|
52
|
-
var _result_
|
|
65
|
+
var _result_;
|
|
53
66
|
const result = this.urlReg.exec(pathname);
|
|
54
|
-
return (
|
|
67
|
+
return (result === null || result === void 0 ? void 0 : (_result_ = result[0]) === null || _result_ === void 0 ? void 0 : _result_.length) || null;
|
|
55
68
|
}
|
|
56
69
|
}
|
|
57
70
|
// if match url path
|
|
@@ -80,21 +93,25 @@ class RouteMatcher {
|
|
|
80
93
|
this.urlPath = urlPath === "/" ? urlPath : removeTailSlash(urlPath);
|
|
81
94
|
const useReg = regCharsDetector.test(urlPath);
|
|
82
95
|
if (useReg) {
|
|
83
|
-
this.urlMatcher = (0,
|
|
96
|
+
this.urlMatcher = (0, import_path_to_regexp.match)(urlPath, {
|
|
84
97
|
end: false,
|
|
85
98
|
decode: decodeURIComponent
|
|
86
99
|
});
|
|
87
|
-
this.urlReg = (0,
|
|
100
|
+
this.urlReg = (0, import_path_to_regexp.pathToRegexp)(urlPath, [], {
|
|
88
101
|
end: false
|
|
89
102
|
});
|
|
90
103
|
}
|
|
91
104
|
}
|
|
92
105
|
constructor(spec) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
106
|
+
(0, import_define_property._)(this, "spec", void 0);
|
|
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);
|
|
97
110
|
this.spec = spec;
|
|
98
111
|
this.setupUrlPath();
|
|
99
112
|
}
|
|
100
113
|
}
|
|
114
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
115
|
+
0 && (module.exports = {
|
|
116
|
+
RouteMatcher
|
|
117
|
+
});
|
|
@@ -1,25 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var route_exports = {};
|
|
20
|
+
__export(route_exports, {
|
|
21
|
+
ModernRoute: () => ModernRoute
|
|
10
22
|
});
|
|
11
|
-
|
|
23
|
+
module.exports = __toCommonJS(route_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
12
25
|
class ModernRoute {
|
|
13
26
|
constructor(routeSpec) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
(0, import_define_property._)(this, "entryName", void 0);
|
|
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);
|
|
23
36
|
this.entryName = routeSpec.entryName || "";
|
|
24
37
|
this.urlPath = routeSpec.urlPath;
|
|
25
38
|
this.entryPath = routeSpec.entryPath || "";
|
|
@@ -30,3 +43,7 @@ class ModernRoute {
|
|
|
30
43
|
this.responseHeaders = routeSpec.responseHeaders;
|
|
31
44
|
}
|
|
32
45
|
}
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
ModernRoute
|
|
49
|
+
});
|
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
9
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return faviconFallbackHandler;
|
|
15
|
-
},
|
|
16
|
-
createStaticFileHandler: function() {
|
|
17
|
-
return createStaticFileHandler;
|
|
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 });
|
|
18
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 serveFile_exports = {};
|
|
30
|
+
__export(serveFile_exports, {
|
|
31
|
+
createStaticFileHandler: () => createStaticFileHandler,
|
|
32
|
+
faviconFallbackHandler: () => faviconFallbackHandler
|
|
19
33
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
module.exports = __toCommonJS(serveFile_exports);
|
|
35
|
+
var import_serve_static = __toESM(require("serve-static"));
|
|
36
|
+
var import_utils = require("@modern-js/utils");
|
|
23
37
|
const removedPrefix = (req, prefix) => {
|
|
24
38
|
const useLocalPrefix = !prefix.includes(".");
|
|
25
39
|
if (useLocalPrefix) {
|
|
@@ -45,16 +59,16 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
45
59
|
async (context, next) => {
|
|
46
60
|
const { url: requestUrl, req, res } = context;
|
|
47
61
|
const hitRule = rules.find((item) => {
|
|
48
|
-
if ((0,
|
|
62
|
+
if ((0, import_utils.isString)(item.path) && requestUrl.startsWith(item.path)) {
|
|
49
63
|
return true;
|
|
50
|
-
} else if ((0,
|
|
64
|
+
} else if ((0, import_utils.isRegExp)(item.path) && item.path.test(requestUrl)) {
|
|
51
65
|
return true;
|
|
52
66
|
}
|
|
53
67
|
return false;
|
|
54
68
|
});
|
|
55
69
|
if (hitRule) {
|
|
56
70
|
const resume = removedPrefix(req, assetPrefix);
|
|
57
|
-
(0,
|
|
71
|
+
(0, import_serve_static.default)(hitRule.target)(req, res, () => {
|
|
58
72
|
resume();
|
|
59
73
|
next();
|
|
60
74
|
});
|
|
@@ -63,3 +77,8 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
);
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
createStaticFileHandler,
|
|
83
|
+
faviconFallbackHandler
|
|
84
|
+
});
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var serverTiming_exports = {};
|
|
20
|
+
__export(serverTiming_exports, {
|
|
21
|
+
ServerTiming: () => ServerTiming
|
|
10
22
|
});
|
|
11
|
-
|
|
23
|
+
module.exports = __toCommonJS(serverTiming_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
12
25
|
const SERVER_TIMING = "Server-Timing";
|
|
13
26
|
class ServerTiming {
|
|
14
27
|
addServeTiming(name, dur, desc) {
|
|
@@ -19,9 +32,13 @@ class ServerTiming {
|
|
|
19
32
|
return this;
|
|
20
33
|
}
|
|
21
34
|
constructor(res, meta) {
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
(0, import_define_property._)(this, "meta", void 0);
|
|
36
|
+
(0, import_define_property._)(this, "res", void 0);
|
|
24
37
|
this.meta = meta;
|
|
25
38
|
this.res = res;
|
|
26
39
|
}
|
|
27
40
|
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
ServerTiming
|
|
44
|
+
});
|
package/dist/cjs/renderHtml.js
CHANGED
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const _server = require("./server");
|
|
10
|
-
const _utils = require("./utils");
|
|
11
|
-
class IncomingMessageLike extends _stream.Readable {
|
|
2
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
3
|
+
var import_http = require("http");
|
|
4
|
+
var import_stream = require("stream");
|
|
5
|
+
var import_net = require("net");
|
|
6
|
+
var import_server = require("./server");
|
|
7
|
+
var import_utils = require("./utils");
|
|
8
|
+
class IncomingMessageLike extends import_stream.Readable {
|
|
12
9
|
constructor({ method, url, headers }) {
|
|
13
10
|
super();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.socket = new
|
|
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
|
+
this.socket = new import_net.Socket();
|
|
19
16
|
this.headers = headers || {};
|
|
20
17
|
this.headers.host = "localhost:8080";
|
|
21
18
|
this.method = method || "get";
|
|
22
19
|
this.url = url;
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
class ServerResponseLike extends
|
|
22
|
+
class ServerResponseLike extends import_http.OutgoingMessage {
|
|
26
23
|
end(chunk, _encoding, cb) {
|
|
27
24
|
this.data.push(chunk.toString());
|
|
28
25
|
cb && cb();
|
|
@@ -31,13 +28,13 @@ class ServerResponseLike extends _http.OutgoingMessage {
|
|
|
31
28
|
}
|
|
32
29
|
constructor() {
|
|
33
30
|
super();
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
(0, import_define_property._)(this, "statusCode", void 0);
|
|
32
|
+
(0, import_define_property._)(this, "data", void 0);
|
|
36
33
|
this.statusCode = 200;
|
|
37
34
|
this.data = [];
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
class CustomServer extends
|
|
37
|
+
class CustomServer extends import_server.Server {
|
|
41
38
|
async render(req, res, _url) {
|
|
42
39
|
const handler = this.getRequestHandler();
|
|
43
40
|
handler(req, res);
|
|
@@ -64,7 +61,7 @@ async function renderHtml({ url, method, headers, body, serverOptions }) {
|
|
|
64
61
|
res.addListener("finish", () => {
|
|
65
62
|
resolve({
|
|
66
63
|
headers: res.getHeaders(),
|
|
67
|
-
redirected: (0,
|
|
64
|
+
redirected: (0, import_utils.isRedirect)(res.statusCode),
|
|
68
65
|
status: res.statusCode,
|
|
69
66
|
url,
|
|
70
67
|
body: res.data.join()
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -1,22 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
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 server_exports = {};
|
|
30
|
+
__export(server_exports, {
|
|
31
|
+
Server: () => Server
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
module.exports = __toCommonJS(server_exports);
|
|
34
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
+
var import_path = __toESM(require("path"));
|
|
36
|
+
var import_utils = require("@modern-js/utils");
|
|
37
|
+
var import_server_core = require("@modern-js/server-core");
|
|
38
|
+
var import_metrics = require("../libs/metrics");
|
|
39
|
+
var import_loadConfig = require("../libs/loadConfig");
|
|
40
|
+
var import_utils2 = require("../utils");
|
|
41
|
+
var import_modernServerSplit = require("./modernServerSplit");
|
|
20
42
|
class Server {
|
|
21
43
|
/**
|
|
22
44
|
* 初始化顺序
|
|
@@ -78,9 +100,9 @@ class Server {
|
|
|
78
100
|
}
|
|
79
101
|
initServerConfig(options) {
|
|
80
102
|
const { pwd, serverConfigFile } = options;
|
|
81
|
-
const distDirectory =
|
|
82
|
-
const serverConfigPath = (0,
|
|
83
|
-
const serverConfig = (0,
|
|
103
|
+
const distDirectory = import_path.default.join(pwd, options.config.output.path || "dist");
|
|
104
|
+
const serverConfigPath = (0, import_loadConfig.getServerConfigPath)(distDirectory, serverConfigFile);
|
|
105
|
+
const serverConfig = (0, import_loadConfig.requireConfig)(serverConfigPath);
|
|
84
106
|
this.serverConfig = serverConfig;
|
|
85
107
|
}
|
|
86
108
|
/**
|
|
@@ -91,8 +113,8 @@ class Server {
|
|
|
91
113
|
const { pwd, config } = options;
|
|
92
114
|
const { serverConfig } = this;
|
|
93
115
|
const finalServerConfig = this.runConfigHook(runner, serverConfig);
|
|
94
|
-
const resolvedConfigPath =
|
|
95
|
-
options.config = (0,
|
|
116
|
+
const resolvedConfigPath = (0, import_utils.ensureAbsolutePath)(pwd, import_path.default.join(config.output.path || "dist", import_utils.OUTPUT_CONFIG_FILE));
|
|
117
|
+
options.config = (0, import_loadConfig.loadConfig)({
|
|
96
118
|
cliConfig: config,
|
|
97
119
|
serverConfig: finalServerConfig,
|
|
98
120
|
resolvedConfigPath
|
|
@@ -103,8 +125,7 @@ class Server {
|
|
|
103
125
|
}
|
|
104
126
|
listen(options, listener) {
|
|
105
127
|
const callback = () => {
|
|
106
|
-
|
|
107
|
-
(_listener = listener) === null || _listener === void 0 ? void 0 : _listener();
|
|
128
|
+
listener === null || listener === void 0 ? void 0 : listener();
|
|
108
129
|
};
|
|
109
130
|
if (typeof options === "object") {
|
|
110
131
|
if (process.env.PORT) {
|
|
@@ -127,34 +148,33 @@ class Server {
|
|
|
127
148
|
return this.server.render(req, res, url);
|
|
128
149
|
}
|
|
129
150
|
async createHookRunner() {
|
|
130
|
-
|
|
151
|
+
import_server_core.serverManager.clear();
|
|
131
152
|
const { options } = this;
|
|
132
|
-
const { internalPlugins =
|
|
153
|
+
const { internalPlugins = import_utils.INTERNAL_SERVER_PLUGINS, pwd, plugins = [] } = options;
|
|
133
154
|
const serverPlugins = this.serverConfig.plugins || [];
|
|
134
|
-
const loadedPlugins = (0,
|
|
155
|
+
const loadedPlugins = (0, import_server_core.loadPlugins)(pwd, [
|
|
135
156
|
...serverPlugins,
|
|
136
157
|
...plugins
|
|
137
158
|
], {
|
|
138
159
|
internalPlugins
|
|
139
160
|
});
|
|
140
|
-
(0,
|
|
161
|
+
(0, import_utils2.debug)("plugins", loadedPlugins);
|
|
141
162
|
loadedPlugins.forEach((p) => {
|
|
142
|
-
|
|
163
|
+
import_server_core.serverManager.usePlugin(p);
|
|
143
164
|
});
|
|
144
|
-
const hooksRunner = await
|
|
165
|
+
const hooksRunner = await import_server_core.serverManager.init();
|
|
145
166
|
return hooksRunner;
|
|
146
167
|
}
|
|
147
168
|
async injectContext(runner, options) {
|
|
148
169
|
const appContext = this.initAppContext();
|
|
149
170
|
const { config, pwd } = options;
|
|
150
|
-
|
|
151
|
-
|
|
171
|
+
import_server_core.ConfigContext.set(config);
|
|
172
|
+
import_server_core.AppContext.set({
|
|
152
173
|
...appContext,
|
|
153
|
-
distDirectory:
|
|
174
|
+
distDirectory: import_path.default.join(pwd, config.output.path || "dist")
|
|
154
175
|
});
|
|
155
176
|
}
|
|
156
177
|
initAppContext() {
|
|
157
|
-
var _appContext, _appContext1, _appContext2;
|
|
158
178
|
const { options } = this;
|
|
159
179
|
const { pwd: appDirectory, plugins = [], config, appContext } = options;
|
|
160
180
|
const serverPlugins = plugins.map((p) => ({
|
|
@@ -162,42 +182,46 @@ class Server {
|
|
|
162
182
|
}));
|
|
163
183
|
return {
|
|
164
184
|
appDirectory,
|
|
165
|
-
apiDirectory:
|
|
166
|
-
lambdaDirectory:
|
|
167
|
-
sharedDirectory: (
|
|
168
|
-
distDirectory:
|
|
185
|
+
apiDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory,
|
|
186
|
+
lambdaDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.lambdaDirectory,
|
|
187
|
+
sharedDirectory: (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
|
|
188
|
+
distDirectory: import_path.default.join(appDirectory, config.output.path || "dist"),
|
|
169
189
|
plugins: serverPlugins
|
|
170
190
|
};
|
|
171
191
|
}
|
|
172
192
|
async loadServerEnv(options) {
|
|
173
193
|
const { pwd: appDirectory } = options;
|
|
174
194
|
const serverEnv = process.env.MODERN_ENV;
|
|
175
|
-
const defaultEnvPath =
|
|
176
|
-
const serverEnvPath =
|
|
195
|
+
const defaultEnvPath = import_path.default.resolve(appDirectory, `.env`);
|
|
196
|
+
const serverEnvPath = import_path.default.resolve(appDirectory, `.env.${serverEnv}`);
|
|
177
197
|
for (const envPath of [
|
|
178
198
|
serverEnvPath,
|
|
179
199
|
defaultEnvPath
|
|
180
200
|
]) {
|
|
181
|
-
if (await
|
|
182
|
-
const envConfig =
|
|
201
|
+
if (await import_utils.fs.pathExists(envPath) && !(await import_utils.fs.stat(envPath)).isDirectory()) {
|
|
202
|
+
const envConfig = import_utils.dotenv.config({
|
|
183
203
|
path: envPath
|
|
184
204
|
});
|
|
185
|
-
(0,
|
|
205
|
+
(0, import_utils.dotenvExpand)(envConfig);
|
|
186
206
|
}
|
|
187
207
|
}
|
|
188
208
|
}
|
|
189
209
|
constructor(options) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
options.logger = options.logger ||
|
|
210
|
+
(0, import_define_property._)(this, "options", void 0);
|
|
211
|
+
(0, import_define_property._)(this, "serverImpl", import_modernServerSplit.createProdServer);
|
|
212
|
+
(0, import_define_property._)(this, "server", void 0);
|
|
213
|
+
(0, import_define_property._)(this, "app", void 0);
|
|
214
|
+
(0, import_define_property._)(this, "runner", void 0);
|
|
215
|
+
(0, import_define_property._)(this, "serverConfig", void 0);
|
|
216
|
+
options.logger = options.logger || (0, import_utils.createLogger)({
|
|
197
217
|
level: "warn"
|
|
198
218
|
});
|
|
199
|
-
options.metrics = options.metrics ||
|
|
219
|
+
options.metrics = options.metrics || import_metrics.metrics;
|
|
200
220
|
this.options = options;
|
|
201
221
|
this.serverConfig = {};
|
|
202
222
|
}
|
|
203
223
|
}
|
|
224
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
225
|
+
0 && (module.exports = {
|
|
226
|
+
Server
|
|
227
|
+
});
|