@modern-js/prod-server 2.14.0 → 2.16.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/CHANGELOG.md +21 -0
- package/dist/cjs/constants.js +15 -31
- package/dist/cjs/index.js +35 -37
- package/dist/cjs/libs/context/context.js +53 -66
- package/dist/cjs/libs/context/index.js +15 -28
- package/dist/cjs/libs/hook-api/index.js +59 -54
- package/dist/cjs/libs/hook-api/route.js +28 -30
- package/dist/cjs/libs/hook-api/template.js +30 -34
- package/dist/cjs/libs/loadConfig.js +74 -65
- package/dist/cjs/libs/logger.js +46 -37
- package/dist/cjs/libs/metrics.js +7 -25
- package/dist/cjs/libs/proxy.js +29 -46
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +48 -64
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +53 -37
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +38 -34
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +22 -30
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +86 -46
- package/dist/cjs/libs/render/cache/index.js +17 -37
- package/dist/cjs/libs/render/cache/page-caches/index.js +12 -28
- package/dist/cjs/libs/render/cache/page-caches/lru.js +32 -40
- package/dist/cjs/libs/render/cache/spr.js +104 -111
- package/dist/cjs/libs/render/cache/type.js +4 -15
- package/dist/cjs/libs/render/cache/util.js +29 -53
- package/dist/cjs/libs/render/index.js +75 -73
- package/dist/cjs/libs/render/measure.js +19 -34
- package/dist/cjs/libs/render/reader.js +52 -61
- package/dist/cjs/libs/render/ssr.js +34 -66
- package/dist/cjs/libs/render/static.js +22 -45
- package/dist/cjs/libs/render/type.js +10 -28
- package/dist/cjs/libs/render/utils.js +17 -38
- package/dist/cjs/libs/route/index.js +32 -31
- package/dist/cjs/libs/route/matcher.js +38 -38
- package/dist/cjs/libs/route/route.js +29 -26
- package/dist/cjs/libs/serveFile.js +23 -41
- package/dist/cjs/server/index.js +101 -107
- package/dist/cjs/server/modernServer.js +191 -171
- package/dist/cjs/server/modernServerSplit.js +12 -30
- package/dist/cjs/type.js +4 -15
- package/dist/cjs/utils.js +50 -50
- package/dist/cjs/workerServer.js +26 -36
- package/dist/esm/constants.js +24 -25
- package/dist/esm/index.js +11 -10
- package/dist/esm/libs/context/context.js +271 -264
- package/dist/esm/libs/context/index.js +3 -3
- package/dist/esm/libs/hook-api/index.js +237 -223
- package/dist/esm/libs/hook-api/route.js +62 -60
- package/dist/esm/libs/hook-api/template.js +117 -115
- package/dist/esm/libs/loadConfig.js +68 -69
- package/dist/esm/libs/logger.js +188 -174
- package/dist/esm/libs/metrics.js +6 -3
- package/dist/esm/libs/proxy.js +236 -221
- package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +286 -267
- package/dist/esm/libs/render/cache/__tests__/cache.test.js +765 -745
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +62 -63
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +42 -43
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +134 -135
- package/dist/esm/libs/render/cache/index.js +337 -326
- package/dist/esm/libs/render/cache/page-caches/index.js +147 -141
- package/dist/esm/libs/render/cache/page-caches/lru.js +78 -76
- package/dist/esm/libs/render/cache/spr.js +465 -456
- package/dist/esm/libs/render/cache/type.js +1 -1
- package/dist/esm/libs/render/cache/util.js +266 -246
- package/dist/esm/libs/render/index.js +226 -218
- package/dist/esm/libs/render/measure.js +136 -128
- package/dist/esm/libs/render/reader.js +315 -304
- package/dist/esm/libs/render/ssr.js +214 -209
- package/dist/esm/libs/render/static.js +208 -198
- package/dist/esm/libs/render/type.js +6 -7
- package/dist/esm/libs/render/utils.js +8 -9
- package/dist/esm/libs/route/index.js +134 -123
- package/dist/esm/libs/route/matcher.js +140 -130
- package/dist/esm/libs/route/route.js +36 -37
- package/dist/esm/libs/serveFile.js +177 -168
- package/dist/esm/server/index.js +578 -549
- package/dist/esm/server/modernServer.js +1137 -1074
- package/dist/esm/server/modernServerSplit.js +344 -328
- package/dist/esm/type.js +1 -1
- package/dist/esm/utils.js +133 -124
- package/dist/esm/workerServer.js +226 -220
- package/dist/esm-node/constants.js +7 -14
- package/dist/esm-node/index.js +4 -9
- package/dist/esm-node/libs/context/context.js +32 -25
- package/dist/esm-node/libs/context/index.js +2 -5
- package/dist/esm-node/libs/hook-api/index.js +40 -21
- package/dist/esm-node/libs/hook-api/route.js +21 -8
- package/dist/esm-node/libs/hook-api/template.js +19 -14
- package/dist/esm-node/libs/loadConfig.js +11 -28
- package/dist/esm-node/libs/logger.js +37 -17
- package/dist/esm-node/libs/metrics.js +1 -3
- package/dist/esm-node/libs/proxy.js +14 -22
- package/dist/esm-node/libs/render/cache/__tests__/cache.fun.test.js +25 -36
- package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +23 -11
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +32 -13
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +16 -9
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +80 -25
- package/dist/esm-node/libs/render/cache/index.js +3 -10
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -5
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +20 -8
- package/dist/esm-node/libs/render/cache/spr.js +79 -80
- package/dist/esm-node/libs/render/cache/type.js +1 -0
- package/dist/esm-node/libs/render/cache/util.js +13 -23
- package/dist/esm-node/libs/render/index.js +10 -28
- package/dist/esm-node/libs/render/measure.js +7 -13
- package/dist/esm-node/libs/render/reader.js +31 -26
- package/dist/esm-node/libs/render/ssr.js +5 -21
- package/dist/esm-node/libs/render/static.js +1 -4
- package/dist/esm-node/libs/render/type.js +3 -6
- package/dist/esm-node/libs/render/utils.js +6 -18
- package/dist/esm-node/libs/route/index.js +20 -9
- package/dist/esm-node/libs/route/matcher.js +28 -17
- package/dist/esm-node/libs/route/route.js +23 -5
- package/dist/esm-node/libs/serveFile.js +2 -6
- package/dist/esm-node/server/index.js +72 -75
- package/dist/esm-node/server/modernServer.js +102 -130
- package/dist/esm-node/server/modernServerSplit.js +1 -4
- package/dist/esm-node/type.js +1 -0
- package/dist/esm-node/utils.js +41 -32
- package/dist/esm-node/workerServer.js +9 -10
- package/dist/types/libs/context/context.d.ts +1 -1
- package/dist/types/server/modernServer.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/package.json +12 -8
|
@@ -1,32 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var type_exports = {};
|
|
19
|
-
__export(type_exports, {
|
|
20
|
-
RenderLevel: () => RenderLevel
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
21
4
|
});
|
|
22
|
-
|
|
23
|
-
|
|
5
|
+
Object.defineProperty(exports, "RenderLevel", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => RenderLevel
|
|
8
|
+
});
|
|
9
|
+
var RenderLevel;
|
|
10
|
+
(function(RenderLevel2) {
|
|
24
11
|
RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
|
|
25
12
|
RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
|
|
26
13
|
RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
|
|
27
|
-
|
|
28
|
-
})(RenderLevel || {});
|
|
29
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
-
0 && (module.exports = {
|
|
31
|
-
RenderLevel
|
|
32
|
-
});
|
|
14
|
+
})(RenderLevel || (RenderLevel = {}));
|
|
@@ -1,47 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var utils_exports = {};
|
|
19
|
-
__export(utils_exports, {
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
20
13
|
injectServerData: () => injectServerData,
|
|
21
14
|
injectServerDataStream: () => injectServerDataStream
|
|
22
15
|
});
|
|
23
|
-
|
|
24
|
-
var import_template = require("../hook-api/template");
|
|
16
|
+
const _template = require("../hook-api/template");
|
|
25
17
|
const injectServerData = (content, context) => {
|
|
26
|
-
const template = new
|
|
27
|
-
template.prependHead(
|
|
28
|
-
`<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(
|
|
29
|
-
context.serverData
|
|
30
|
-
)}</script>`
|
|
31
|
-
);
|
|
18
|
+
const template = new _template.TemplateAPI(content);
|
|
19
|
+
template.prependHead(`<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`);
|
|
32
20
|
return template.get();
|
|
33
21
|
};
|
|
34
22
|
const injectServerDataStream = (content, context) => {
|
|
35
|
-
return content.pipe(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
context.serverData
|
|
39
|
-
)}</script>`
|
|
40
|
-
})
|
|
41
|
-
);
|
|
23
|
+
return content.pipe((0, _template.templateInjectableStream)({
|
|
24
|
+
prependHead: `<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`
|
|
25
|
+
}));
|
|
42
26
|
};
|
|
43
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
-
0 && (module.exports = {
|
|
45
|
-
injectServerData,
|
|
46
|
-
injectServerDataStream
|
|
47
|
-
});
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var route_exports = {};
|
|
19
|
-
__export(route_exports, {
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
20
13
|
RouteMatchManager: () => RouteMatchManager,
|
|
21
|
-
RouteMatcher: () =>
|
|
14
|
+
RouteMatcher: () => _matcher.RouteMatcher
|
|
22
15
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
const _matcher = require("./matcher");
|
|
17
|
+
function _define_property(obj, key, value) {
|
|
18
|
+
if (key in obj) {
|
|
19
|
+
Object.defineProperty(obj, key, {
|
|
20
|
+
value,
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true
|
|
24
|
+
});
|
|
25
|
+
} else {
|
|
26
|
+
obj[key] = value;
|
|
29
27
|
}
|
|
28
|
+
return obj;
|
|
29
|
+
}
|
|
30
|
+
class RouteMatchManager {
|
|
30
31
|
// get all routes matches pathname
|
|
31
32
|
filter(pathname) {
|
|
32
33
|
return this.matchers.reduce((matches, matcher) => {
|
|
@@ -56,7 +57,7 @@ class RouteMatchManager {
|
|
|
56
57
|
reset(specs) {
|
|
57
58
|
this.specs = specs;
|
|
58
59
|
const matchers = specs.reduce((ms, spec) => {
|
|
59
|
-
ms.push(new
|
|
60
|
+
ms.push(new _matcher.RouteMatcher(spec));
|
|
60
61
|
return ms;
|
|
61
62
|
}, []);
|
|
62
63
|
this.matchers = matchers;
|
|
@@ -74,9 +75,9 @@ class RouteMatchManager {
|
|
|
74
75
|
const bundles = this.specs.filter((route) => route.isSSR).map((route) => route.bundle);
|
|
75
76
|
return bundles;
|
|
76
77
|
}
|
|
78
|
+
constructor() {
|
|
79
|
+
_define_property(this, "matchers", void 0);
|
|
80
|
+
_define_property(this, "specs", []);
|
|
81
|
+
this.matchers = [];
|
|
82
|
+
}
|
|
77
83
|
}
|
|
78
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
-
0 && (module.exports = {
|
|
80
|
-
RouteMatchManager,
|
|
81
|
-
RouteMatcher
|
|
82
|
-
});
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var matcher_exports = {};
|
|
19
|
-
__export(matcher_exports, {
|
|
20
|
-
RouteMatcher: () => RouteMatcher
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "RouteMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => RouteMatcher
|
|
21
8
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
const _pathtoregexp = require("path-to-regexp");
|
|
10
|
+
const _route = require("./route");
|
|
11
|
+
function _define_property(obj, key, value) {
|
|
12
|
+
if (key in obj) {
|
|
13
|
+
Object.defineProperty(obj, key, {
|
|
14
|
+
value,
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true
|
|
18
|
+
});
|
|
19
|
+
} else {
|
|
20
|
+
obj[key] = value;
|
|
21
|
+
}
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
25
24
|
const removeTailSlash = (s) => s.replace(/\/+$/, "");
|
|
26
25
|
const removeHtmlSuffix = (url) => {
|
|
27
26
|
if (url.endsWith(".html")) {
|
|
@@ -30,19 +29,16 @@ const removeHtmlSuffix = (url) => {
|
|
|
30
29
|
return url;
|
|
31
30
|
};
|
|
32
31
|
const toPath = (reg, params) => {
|
|
33
|
-
const fn = (0,
|
|
32
|
+
const fn = (0, _pathtoregexp.compile)(reg, {
|
|
33
|
+
encode: encodeURIComponent
|
|
34
|
+
});
|
|
34
35
|
return fn(params);
|
|
35
36
|
};
|
|
36
37
|
const regCharsDetector = /[^a-zA-Z\-_0-9\/\.]/;
|
|
37
38
|
class RouteMatcher {
|
|
38
|
-
constructor(spec) {
|
|
39
|
-
this.urlPath = "";
|
|
40
|
-
this.spec = spec;
|
|
41
|
-
this.setupUrlPath();
|
|
42
|
-
}
|
|
43
39
|
// generate modern route object
|
|
44
40
|
generate(url) {
|
|
45
|
-
const route = new
|
|
41
|
+
const route = new _route.ModernRoute(this.spec);
|
|
46
42
|
if (this.urlPath) {
|
|
47
43
|
const params = this.parseURLParams(url);
|
|
48
44
|
route.urlPath = toPath(route.urlPath, params);
|
|
@@ -60,12 +56,12 @@ class RouteMatcher {
|
|
|
60
56
|
}
|
|
61
57
|
// get match url length
|
|
62
58
|
matchLength(pathname) {
|
|
63
|
-
var _a;
|
|
64
59
|
if (!this.urlReg) {
|
|
65
60
|
return this.urlPath.length;
|
|
66
61
|
} else {
|
|
62
|
+
var _result_;
|
|
67
63
|
const result = this.urlReg.exec(pathname);
|
|
68
|
-
return (
|
|
64
|
+
return (result === null || result === void 0 ? void 0 : (_result_ = result[0]) === null || _result_ === void 0 ? void 0 : _result_.length) || null;
|
|
69
65
|
}
|
|
70
66
|
}
|
|
71
67
|
// if match url path
|
|
@@ -94,17 +90,21 @@ class RouteMatcher {
|
|
|
94
90
|
this.urlPath = urlPath === "/" ? urlPath : removeTailSlash(urlPath);
|
|
95
91
|
const useReg = regCharsDetector.test(urlPath);
|
|
96
92
|
if (useReg) {
|
|
97
|
-
this.urlMatcher = (0,
|
|
93
|
+
this.urlMatcher = (0, _pathtoregexp.match)(urlPath, {
|
|
98
94
|
end: false,
|
|
99
95
|
decode: decodeURIComponent
|
|
100
96
|
});
|
|
101
|
-
this.urlReg = (0,
|
|
97
|
+
this.urlReg = (0, _pathtoregexp.pathToRegexp)(urlPath, [], {
|
|
102
98
|
end: false
|
|
103
99
|
});
|
|
104
100
|
}
|
|
105
101
|
}
|
|
102
|
+
constructor(spec) {
|
|
103
|
+
_define_property(this, "spec", void 0);
|
|
104
|
+
_define_property(this, "urlPath", "");
|
|
105
|
+
_define_property(this, "urlMatcher", void 0);
|
|
106
|
+
_define_property(this, "urlReg", void 0);
|
|
107
|
+
this.spec = spec;
|
|
108
|
+
this.setupUrlPath();
|
|
109
|
+
}
|
|
106
110
|
}
|
|
107
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
108
|
-
0 && (module.exports = {
|
|
109
|
-
RouteMatcher
|
|
110
|
-
});
|
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var route_exports = {};
|
|
19
|
-
__export(route_exports, {
|
|
20
|
-
ModernRoute: () => ModernRoute
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "ModernRoute", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => ModernRoute
|
|
21
8
|
});
|
|
22
|
-
|
|
9
|
+
function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
23
22
|
class ModernRoute {
|
|
24
23
|
constructor(routeSpec) {
|
|
25
|
-
this
|
|
24
|
+
_define_property(this, "entryName", void 0);
|
|
25
|
+
_define_property(this, "urlPath", void 0);
|
|
26
|
+
_define_property(this, "entryPath", void 0);
|
|
27
|
+
_define_property(this, "bundle", void 0);
|
|
28
|
+
_define_property(this, "isApi", void 0);
|
|
29
|
+
_define_property(this, "isSSR", void 0);
|
|
30
|
+
_define_property(this, "isSPA", void 0);
|
|
31
|
+
_define_property(this, "params", {});
|
|
32
|
+
_define_property(this, "responseHeaders", void 0);
|
|
26
33
|
this.entryName = routeSpec.entryName || "";
|
|
27
34
|
this.urlPath = routeSpec.urlPath;
|
|
28
35
|
this.entryPath = routeSpec.entryPath || "";
|
|
@@ -33,7 +40,3 @@ class ModernRoute {
|
|
|
33
40
|
this.responseHeaders = routeSpec.responseHeaders;
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
-
0 && (module.exports = {
|
|
38
|
-
ModernRoute
|
|
39
|
-
});
|
|
@@ -1,38 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
8
6
|
for (var name in all)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var serveFile_exports = {};
|
|
29
|
-
__export(serveFile_exports, {
|
|
30
|
-
createStaticFileHandler: () => createStaticFileHandler,
|
|
31
|
-
faviconFallbackHandler: () => faviconFallbackHandler
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
faviconFallbackHandler: () => faviconFallbackHandler,
|
|
14
|
+
createStaticFileHandler: () => createStaticFileHandler
|
|
32
15
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
16
|
+
const _servestatic = /* @__PURE__ */ _interop_require_default(require("serve-static"));
|
|
17
|
+
const _utils = require("@modern-js/utils");
|
|
18
|
+
function _interop_require_default(obj) {
|
|
19
|
+
return obj && obj.__esModule ? obj : {
|
|
20
|
+
default: obj
|
|
21
|
+
};
|
|
22
|
+
}
|
|
36
23
|
const removedPrefix = (req, prefix) => {
|
|
37
24
|
const useLocalPrefix = !prefix.includes(".");
|
|
38
25
|
if (useLocalPrefix) {
|
|
@@ -58,16 +45,16 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
58
45
|
async (context, next) => {
|
|
59
46
|
const { url: requestUrl, req, res } = context;
|
|
60
47
|
const hitRule = rules.find((item) => {
|
|
61
|
-
if ((0,
|
|
48
|
+
if ((0, _utils.isString)(item.path) && requestUrl.startsWith(item.path)) {
|
|
62
49
|
return true;
|
|
63
|
-
} else if ((0,
|
|
50
|
+
} else if ((0, _utils.isRegExp)(item.path) && item.path.test(requestUrl)) {
|
|
64
51
|
return true;
|
|
65
52
|
}
|
|
66
53
|
return false;
|
|
67
54
|
});
|
|
68
55
|
if (hitRule) {
|
|
69
56
|
const resume = removedPrefix(req, assetPrefix);
|
|
70
|
-
(0,
|
|
57
|
+
(0, _servestatic.default)(hitRule.target)(req, res, () => {
|
|
71
58
|
resume();
|
|
72
59
|
next();
|
|
73
60
|
});
|
|
@@ -76,8 +63,3 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
76
63
|
}
|
|
77
64
|
}
|
|
78
65
|
);
|
|
79
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
-
0 && (module.exports = {
|
|
81
|
-
createStaticFileHandler,
|
|
82
|
-
faviconFallbackHandler
|
|
83
|
-
});
|