@modern-js/server 1.4.1 → 1.4.4-beta.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 +22 -0
- package/dist/js/modern/dev-tools/mock/index.js +1 -1
- package/dist/js/modern/dev-tools/socket-server.js +63 -46
- package/dist/js/modern/index.js +1 -1
- package/dist/js/modern/server/{dev-server/dev-server-split.js → dev-server-split.js} +0 -0
- package/dist/js/modern/server/{dev-server/dev-server.js → dev-server.js} +19 -14
- package/dist/js/modern/server/index.js +15 -138
- package/dist/js/modern/{libs/render/cache/type.js → types.js} +0 -0
- package/dist/js/node/dev-tools/mock/index.js +2 -2
- package/dist/js/node/dev-tools/socket-server.js +63 -47
- package/dist/js/node/index.js +2 -2
- package/dist/js/node/server/{dev-server/dev-server-split.js → dev-server-split.js} +0 -0
- package/dist/js/node/server/{dev-server/dev-server.js → dev-server.js} +22 -24
- package/dist/js/node/server/index.js +17 -152
- package/dist/js/node/{libs/render/cache/type.js → types.js} +0 -0
- package/dist/types/dev-tools/babel/register.d.ts +1 -2
- package/dist/types/dev-tools/dev-server-plugin.d.ts +1 -1
- package/dist/types/dev-tools/launch-editor/index.d.ts +1 -2
- package/dist/types/dev-tools/mock/getMockData.d.ts +1 -2
- package/dist/types/dev-tools/mock/index.d.ts +1 -2
- package/dist/types/dev-tools/socket-server.d.ts +5 -1
- package/dist/types/index.d.ts +4 -5
- package/dist/types/server/{dev-server/dev-server-split.d.ts → dev-server-split.d.ts} +6 -5
- package/dist/types/server/{dev-server/dev-server.d.ts → dev-server.d.ts} +4 -3
- package/dist/types/server/index.d.ts +4 -19
- package/dist/types/types.d.ts +28 -0
- package/modern.config.js +5 -1
- package/package.json +13 -42
- package/tests/dev.test.ts +17 -0
- package/tests/server.test.ts +10 -3
- package/dist/js/modern/constants.js +0 -26
- package/dist/js/modern/libs/context/context.js +0 -180
- package/dist/js/modern/libs/context/index.js +0 -3
- package/dist/js/modern/libs/hook-api/route.js +0 -39
- package/dist/js/modern/libs/hook-api/template.js +0 -61
- package/dist/js/modern/libs/metrics.js +0 -12
- package/dist/js/modern/libs/proxy.js +0 -59
- package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +0 -70
- package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +0 -233
- package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +0 -53
- package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +0 -35
- package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +0 -121
- package/dist/js/modern/libs/render/cache/index.js +0 -74
- package/dist/js/modern/libs/render/cache/page-caches/index.js +0 -9
- package/dist/js/modern/libs/render/cache/page-caches/lru.js +0 -35
- package/dist/js/modern/libs/render/cache/spr.js +0 -280
- package/dist/js/modern/libs/render/cache/util.js +0 -79
- package/dist/js/modern/libs/render/index.js +0 -65
- package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
- package/dist/js/modern/libs/render/modern/index.js +0 -42
- package/dist/js/modern/libs/render/reader.js +0 -112
- package/dist/js/modern/libs/render/ssr.js +0 -58
- package/dist/js/modern/libs/render/static.js +0 -46
- package/dist/js/modern/libs/render/type.js +0 -7
- package/dist/js/modern/libs/route/index.js +0 -68
- package/dist/js/modern/libs/route/matcher.js +0 -94
- package/dist/js/modern/libs/route/route.js +0 -24
- package/dist/js/modern/libs/serve-file.js +0 -28
- package/dist/js/modern/server/dev-server/index.js +0 -2
- package/dist/js/modern/server/modern-server-split.js +0 -81
- package/dist/js/modern/server/modern-server.js +0 -584
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +0 -112
- package/dist/js/node/constants.js +0 -36
- package/dist/js/node/libs/context/context.js +0 -194
- package/dist/js/node/libs/context/index.js +0 -18
- package/dist/js/node/libs/hook-api/route.js +0 -48
- package/dist/js/node/libs/hook-api/template.js +0 -69
- package/dist/js/node/libs/metrics.js +0 -18
- package/dist/js/node/libs/proxy.js +0 -69
- package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +0 -77
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +0 -238
- package/dist/js/node/libs/render/cache/__tests__/cacheable.js +0 -60
- package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +0 -42
- package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +0 -128
- package/dist/js/node/libs/render/cache/index.js +0 -86
- package/dist/js/node/libs/render/cache/page-caches/index.js +0 -17
- package/dist/js/node/libs/render/cache/page-caches/lru.js +0 -47
- package/dist/js/node/libs/render/cache/spr.js +0 -298
- package/dist/js/node/libs/render/cache/util.js +0 -105
- package/dist/js/node/libs/render/index.js +0 -91
- package/dist/js/node/libs/render/modern/browser-list.js +0 -14
- package/dist/js/node/libs/render/modern/index.js +0 -58
- package/dist/js/node/libs/render/reader.js +0 -139
- package/dist/js/node/libs/render/ssr.js +0 -76
- package/dist/js/node/libs/render/static.js +0 -62
- package/dist/js/node/libs/render/type.js +0 -14
- package/dist/js/node/libs/route/index.js +0 -83
- package/dist/js/node/libs/route/matcher.js +0 -108
- package/dist/js/node/libs/route/route.js +0 -33
- package/dist/js/node/libs/serve-file.js +0 -41
- package/dist/js/node/server/dev-server/index.js +0 -27
- package/dist/js/node/server/modern-server-split.js +0 -97
- package/dist/js/node/server/modern-server.js +0 -622
- package/dist/js/node/type.js +0 -5
- package/dist/js/node/utils.js +0 -143
- package/dist/types/constants.d.ts +0 -20
- package/dist/types/libs/context/context.d.ts +0 -61
- package/dist/types/libs/context/index.d.ts +0 -4
- package/dist/types/libs/hook-api/route.d.ts +0 -14
- package/dist/types/libs/hook-api/template.d.ts +0 -14
- package/dist/types/libs/metrics.d.ts +0 -3
- package/dist/types/libs/proxy.d.ts +0 -16
- package/dist/types/libs/render/cache/__tests__/cache.fun.test.d.ts +0 -1
- package/dist/types/libs/render/cache/__tests__/cache.test.d.ts +0 -1
- package/dist/types/libs/render/cache/__tests__/cacheable.d.ts +0 -62
- package/dist/types/libs/render/cache/__tests__/error-configuration.d.ts +0 -28
- package/dist/types/libs/render/cache/__tests__/matched-cache.d.ts +0 -124
- package/dist/types/libs/render/cache/index.d.ts +0 -6
- package/dist/types/libs/render/cache/page-caches/index.d.ts +0 -2
- package/dist/types/libs/render/cache/page-caches/lru.d.ts +0 -15
- package/dist/types/libs/render/cache/spr.d.ts +0 -24
- package/dist/types/libs/render/cache/type.d.ts +0 -48
- package/dist/types/libs/render/cache/util.d.ts +0 -17
- package/dist/types/libs/render/index.d.ts +0 -18
- package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
- package/dist/types/libs/render/modern/index.d.ts +0 -3
- package/dist/types/libs/render/reader.d.ts +0 -18
- package/dist/types/libs/render/ssr.d.ts +0 -10
- package/dist/types/libs/render/static.d.ts +0 -3
- package/dist/types/libs/render/type.d.ts +0 -34
- 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/serve-file.d.ts +0 -8
- package/dist/types/server/dev-server/index.d.ts +0 -2
- package/dist/types/server/modern-server-split.d.ts +0 -26
- package/dist/types/server/modern-server.d.ts +0 -72
- package/dist/types/type.d.ts +0 -80
- package/dist/types/utils.d.ts +0 -19
- package/tests/context.test.ts +0 -52
- package/tests/fixtures/hosting-files/static/index.js +0 -1
- package/tests/fixtures/reader/index.ts +0 -3
- package/tests/fixtures/route-spec/dynamic.json +0 -13
- package/tests/fixtures/route-spec/index.json +0 -29
- package/tests/fixtures/ssr/bundle.js +0 -5
- package/tests/fixtures/static-dir/bar.html +0 -11
- package/tests/fixtures/static-dir/baz/index.html +0 -11
- package/tests/fixtures/static-dir/foo/index.html +0 -11
- package/tests/helper.ts +0 -8
- package/tests/hook.test.ts +0 -44
- package/tests/middleware.test.ts +0 -179
- package/tests/render.test.ts +0 -102
- package/tests/route.test.ts +0 -77
- package/tests/utils.test.ts +0 -106
package/dist/js/node/utils.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.toPath = exports.toMessage = exports.prepareFavicons = exports.noop = exports.mergeExtension = exports.getStaticReg = exports.createMiddlewareCollecter = exports.createErrorDocument = void 0;
|
|
7
|
-
|
|
8
|
-
var _pathToRegexp = require("path-to-regexp");
|
|
9
|
-
|
|
10
|
-
const mergeExtension = users => {
|
|
11
|
-
const output = [];
|
|
12
|
-
return {
|
|
13
|
-
middleware: output.concat(users)
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
exports.mergeExtension = mergeExtension;
|
|
18
|
-
|
|
19
|
-
const toMessage = (dig, e) => {
|
|
20
|
-
const message = e instanceof Error ? e.message : e;
|
|
21
|
-
|
|
22
|
-
if (message) {
|
|
23
|
-
return `${dig}: ${message}`;
|
|
24
|
-
} else {
|
|
25
|
-
return dig;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
exports.toMessage = toMessage;
|
|
30
|
-
|
|
31
|
-
const noop = () => {// noop
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
exports.noop = noop;
|
|
35
|
-
|
|
36
|
-
const createErrorDocument = (status, text) => {
|
|
37
|
-
const title = `${status}: ${text}`;
|
|
38
|
-
return `<!DOCTYPE html>
|
|
39
|
-
<html lang="en">
|
|
40
|
-
<head>
|
|
41
|
-
<meta charset="utf-8">
|
|
42
|
-
<meta name="viewport" content="width=device-width">
|
|
43
|
-
<title>${title}</title>
|
|
44
|
-
<style>
|
|
45
|
-
html,body {
|
|
46
|
-
margin: 0;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.page-container {
|
|
50
|
-
color: #000;
|
|
51
|
-
background: #fff;
|
|
52
|
-
height: 100vh;
|
|
53
|
-
text-align: center;
|
|
54
|
-
display: flex;
|
|
55
|
-
flex-direction: column;
|
|
56
|
-
align-items: center;
|
|
57
|
-
justify-content: center;
|
|
58
|
-
}
|
|
59
|
-
</style>
|
|
60
|
-
</head>
|
|
61
|
-
<body>
|
|
62
|
-
<div class="page-container">
|
|
63
|
-
<h1>${status}</h1>
|
|
64
|
-
<div>${text}</div>
|
|
65
|
-
</body>
|
|
66
|
-
</html>
|
|
67
|
-
`;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
exports.createErrorDocument = createErrorDocument;
|
|
71
|
-
|
|
72
|
-
const createMiddlewareCollecter = () => {
|
|
73
|
-
const webMiddlewares = [];
|
|
74
|
-
const apiMiddlewares = [];
|
|
75
|
-
|
|
76
|
-
const addWebMiddleware = input => {
|
|
77
|
-
webMiddlewares.push(input);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const addAPIMiddleware = input => {
|
|
81
|
-
apiMiddlewares.push(input);
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const getMiddlewares = () => ({
|
|
85
|
-
web: webMiddlewares,
|
|
86
|
-
api: apiMiddlewares
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
return {
|
|
90
|
-
getMiddlewares,
|
|
91
|
-
addWebMiddleware,
|
|
92
|
-
addAPIMiddleware
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
exports.createMiddlewareCollecter = createMiddlewareCollecter;
|
|
97
|
-
|
|
98
|
-
const toPath = (reg, params) => {
|
|
99
|
-
const fn = (0, _pathToRegexp.compile)(reg, {
|
|
100
|
-
encode: encodeURIComponent
|
|
101
|
-
});
|
|
102
|
-
return fn(params);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
exports.toPath = toPath;
|
|
106
|
-
|
|
107
|
-
const getStaticReg = (output = {}) => {
|
|
108
|
-
const {
|
|
109
|
-
favicon,
|
|
110
|
-
faviconByEntries,
|
|
111
|
-
cssPath,
|
|
112
|
-
jsPath,
|
|
113
|
-
mediaPath
|
|
114
|
-
} = output;
|
|
115
|
-
const favicons = prepareFavicons(favicon, faviconByEntries);
|
|
116
|
-
const staticFiles = [cssPath, jsPath, mediaPath].filter(v => Boolean(v));
|
|
117
|
-
const staticPathRegExp = new RegExp(`^/(static/|upload/|favicon.ico|icon.png${favicons.length > 0 ? `|${favicons.join('|')}` : ''}|${staticFiles.join('|')})`);
|
|
118
|
-
return staticPathRegExp;
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
exports.getStaticReg = getStaticReg;
|
|
122
|
-
|
|
123
|
-
const prepareFavicons = (favicon, faviconByEntries) => {
|
|
124
|
-
const faviconNames = [];
|
|
125
|
-
|
|
126
|
-
if (favicon) {
|
|
127
|
-
faviconNames.push(favicon.substring(favicon.lastIndexOf('/') + 1));
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
if (faviconByEntries) {
|
|
131
|
-
Object.keys(faviconByEntries).forEach(f => {
|
|
132
|
-
const curFavicon = faviconByEntries[f];
|
|
133
|
-
|
|
134
|
-
if (curFavicon) {
|
|
135
|
-
faviconNames.push(curFavicon.substring(curFavicon.lastIndexOf('/') + 1));
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return faviconNames;
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
exports.prepareFavicons = prepareFavicons;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare const AGGRED_DIR: {
|
|
2
|
-
mock: string;
|
|
3
|
-
server: string;
|
|
4
|
-
api: string;
|
|
5
|
-
shared: string;
|
|
6
|
-
lambda: string;
|
|
7
|
-
};
|
|
8
|
-
export declare enum ApiServerMode {
|
|
9
|
-
func = "function",
|
|
10
|
-
frame = "framework",
|
|
11
|
-
}
|
|
12
|
-
export declare const ERROR_DIGEST: {
|
|
13
|
-
INIT: string;
|
|
14
|
-
ENOTF: string;
|
|
15
|
-
WARMUP: string;
|
|
16
|
-
EINTER: string;
|
|
17
|
-
ERENDER: string;
|
|
18
|
-
EMICROINJ: string;
|
|
19
|
-
};
|
|
20
|
-
export declare const ERROR_PAGE_TEXT: Record<number, string>;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/// <reference path="../../type.d.ts" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node/http" />
|
|
4
|
-
import { IncomingMessage, ServerResponse } from 'http';
|
|
5
|
-
import { URL } from 'url';
|
|
6
|
-
import qs from 'querystring';
|
|
7
|
-
import type { ModernServerContext as ModernServerContextInterface, Metrics, Logger } from '@modern-js/types/server';
|
|
8
|
-
export declare type ContextOptions = {
|
|
9
|
-
logger?: Logger;
|
|
10
|
-
metrics?: Metrics;
|
|
11
|
-
};
|
|
12
|
-
export declare class ModernServerContext implements ModernServerContextInterface {
|
|
13
|
-
/**
|
|
14
|
-
* http request
|
|
15
|
-
*/
|
|
16
|
-
req: IncomingMessage;
|
|
17
|
-
/**
|
|
18
|
-
* http response
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
res: ServerResponse;
|
|
22
|
-
/**
|
|
23
|
-
* url params
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
params: Record<string, string>;
|
|
27
|
-
logger: Logger;
|
|
28
|
-
metrics?: Metrics;
|
|
29
|
-
serverData: Record<string, any>;
|
|
30
|
-
constructor(req: IncomingMessage, res: ServerResponse);
|
|
31
|
-
private bind;
|
|
32
|
-
setParams(params: Record<string, string>): void;
|
|
33
|
-
setServerData(key: string, value: any): void;
|
|
34
|
-
getReqHeader(key: string): string | string[];
|
|
35
|
-
get headers(): import("http").IncomingHttpHeaders;
|
|
36
|
-
get method(): string;
|
|
37
|
-
get url(): string;
|
|
38
|
-
set url(val: string);
|
|
39
|
-
get host(): string;
|
|
40
|
-
get protocol(): string;
|
|
41
|
-
get origin(): string;
|
|
42
|
-
get href(): string;
|
|
43
|
-
get parsedURL(): URL;
|
|
44
|
-
get path(): string;
|
|
45
|
-
set path(p: string);
|
|
46
|
-
get querystring(): string;
|
|
47
|
-
get query(): qs.ParsedUrlQuery;
|
|
48
|
-
get status(): number;
|
|
49
|
-
set status(statusCode: number);
|
|
50
|
-
/**
|
|
51
|
-
* 判断链接是否已经关闭
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
resHasHandled(): boolean;
|
|
55
|
-
logInfo(): {
|
|
56
|
-
headers: import("http").IncomingHttpHeaders;
|
|
57
|
-
href: string;
|
|
58
|
-
url: string;
|
|
59
|
-
};
|
|
60
|
-
error(dig: string, err?: Error | string): void;
|
|
61
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { RouteMatchManager, RouteMatcher } from '../route';
|
|
2
|
-
|
|
3
|
-
declare class RouteAPI {
|
|
4
|
-
private readonly router;
|
|
5
|
-
private current;
|
|
6
|
-
private readonly url;
|
|
7
|
-
constructor(matched: RouteMatcher, router: RouteMatchManager, url: string);
|
|
8
|
-
cur(): import("../route").ModernRoute;
|
|
9
|
-
get(entryName: string): import("../route").ModernRoute | null;
|
|
10
|
-
use(entryName: string): boolean;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export declare const createRouteAPI: (matched: RouteMatcher, router: RouteMatchManager, url: string) => RouteAPI;
|
|
14
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
declare class TemplateAPI {
|
|
2
|
-
private content;
|
|
3
|
-
constructor(content: string);
|
|
4
|
-
get(): string;
|
|
5
|
-
set(content: string): void;
|
|
6
|
-
prependHead(fragment: string): this;
|
|
7
|
-
appendHead(fragment: string): this;
|
|
8
|
-
prependBody(fragment: string): this;
|
|
9
|
-
appendBody(fragment: string): this;
|
|
10
|
-
replace(reg: RegExp | string, text: string): this;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export declare const createTemplateAPI: (content: string) => TemplateAPI;
|
|
14
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
-
import { NextFunction } from '../type';
|
|
4
|
-
import { ModernServerContext } from './context';
|
|
5
|
-
declare type ProxyDetail = {
|
|
6
|
-
target: string;
|
|
7
|
-
pathRewrite?: Record<string, string>;
|
|
8
|
-
secure?: boolean;
|
|
9
|
-
logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
10
|
-
bypass?: (req: IncomingMessage, res: ServerResponse, proxyOptions: ProxyOptions) => string | undefined | null | false;
|
|
11
|
-
context?: string | string[];
|
|
12
|
-
changeOrigin?: boolean;
|
|
13
|
-
};
|
|
14
|
-
export declare type ProxyOptions = Record<string, string> | Record<string, ProxyDetail> | ProxyDetail[] | ProxyDetail;
|
|
15
|
-
export declare const createProxyHandler: (proxyOptions: ProxyOptions) => ((ctx: ModernServerContext, next: NextFunction) => Promise<void>)[] | null;
|
|
16
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export declare const cacheabelAry: ({
|
|
2
|
-
requestOpt: {
|
|
3
|
-
url: string;
|
|
4
|
-
query?: undefined;
|
|
5
|
-
headers?: undefined;
|
|
6
|
-
};
|
|
7
|
-
cacheConfig: {
|
|
8
|
-
level?: undefined;
|
|
9
|
-
includes?: undefined;
|
|
10
|
-
};
|
|
11
|
-
content: string;
|
|
12
|
-
} | {
|
|
13
|
-
requestOpt: {
|
|
14
|
-
url: string;
|
|
15
|
-
query: {
|
|
16
|
-
name: string;
|
|
17
|
-
};
|
|
18
|
-
headers?: undefined;
|
|
19
|
-
};
|
|
20
|
-
cacheConfig: {
|
|
21
|
-
level: number;
|
|
22
|
-
includes: {
|
|
23
|
-
query: string[];
|
|
24
|
-
header?: undefined;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
content: string;
|
|
28
|
-
} | {
|
|
29
|
-
requestOpt: {
|
|
30
|
-
url: string;
|
|
31
|
-
headers: {
|
|
32
|
-
age: string;
|
|
33
|
-
};
|
|
34
|
-
query?: undefined;
|
|
35
|
-
};
|
|
36
|
-
cacheConfig: {
|
|
37
|
-
level: number;
|
|
38
|
-
includes: {
|
|
39
|
-
header: string[];
|
|
40
|
-
query?: undefined;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
content: string;
|
|
44
|
-
} | {
|
|
45
|
-
requestOpt: {
|
|
46
|
-
url: string;
|
|
47
|
-
query: {
|
|
48
|
-
name: string;
|
|
49
|
-
};
|
|
50
|
-
headers: {
|
|
51
|
-
age: string;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
cacheConfig: {
|
|
55
|
-
level: number;
|
|
56
|
-
includes: {
|
|
57
|
-
query: string[];
|
|
58
|
-
header: string[];
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
content: string;
|
|
62
|
-
})[];
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export declare const errorConfiguration: ({
|
|
2
|
-
level: number;
|
|
3
|
-
includes?: undefined;
|
|
4
|
-
} | {
|
|
5
|
-
level: number;
|
|
6
|
-
includes: {
|
|
7
|
-
query?: undefined;
|
|
8
|
-
header?: undefined;
|
|
9
|
-
};
|
|
10
|
-
} | {
|
|
11
|
-
level: number;
|
|
12
|
-
includes: {
|
|
13
|
-
query: never[];
|
|
14
|
-
header?: undefined;
|
|
15
|
-
};
|
|
16
|
-
} | {
|
|
17
|
-
level: number;
|
|
18
|
-
includes: {
|
|
19
|
-
header: never[];
|
|
20
|
-
query?: undefined;
|
|
21
|
-
};
|
|
22
|
-
} | {
|
|
23
|
-
level: number;
|
|
24
|
-
includes: {
|
|
25
|
-
query: never[];
|
|
26
|
-
header: never[];
|
|
27
|
-
};
|
|
28
|
-
})[];
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
export declare const matchedCacheableAry: (({
|
|
2
|
-
requestOpt: {
|
|
3
|
-
url: string;
|
|
4
|
-
headers: {};
|
|
5
|
-
query: {
|
|
6
|
-
name: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
cacheConfig: {
|
|
10
|
-
level: number;
|
|
11
|
-
includes: {
|
|
12
|
-
query: string[];
|
|
13
|
-
};
|
|
14
|
-
matches: {
|
|
15
|
-
query: {
|
|
16
|
-
name: {
|
|
17
|
-
weixin: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
content: string;
|
|
23
|
-
url?: undefined;
|
|
24
|
-
headers?: undefined;
|
|
25
|
-
query?: undefined;
|
|
26
|
-
} | {
|
|
27
|
-
url: string;
|
|
28
|
-
headers: {};
|
|
29
|
-
query: {
|
|
30
|
-
name: string;
|
|
31
|
-
};
|
|
32
|
-
requestOpt?: undefined;
|
|
33
|
-
cacheConfig?: undefined;
|
|
34
|
-
content?: undefined;
|
|
35
|
-
})[] | ({
|
|
36
|
-
requestOpt: {
|
|
37
|
-
url: string;
|
|
38
|
-
query: {};
|
|
39
|
-
headers: {
|
|
40
|
-
age: string;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
cacheConfig: {
|
|
44
|
-
level: number;
|
|
45
|
-
includes: {
|
|
46
|
-
header: string[];
|
|
47
|
-
};
|
|
48
|
-
matches: {
|
|
49
|
-
header: {
|
|
50
|
-
age: {
|
|
51
|
-
one: string;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
content: string;
|
|
57
|
-
url?: undefined;
|
|
58
|
-
query?: undefined;
|
|
59
|
-
headers?: undefined;
|
|
60
|
-
} | {
|
|
61
|
-
url: string;
|
|
62
|
-
query: {};
|
|
63
|
-
headers: {
|
|
64
|
-
age: string;
|
|
65
|
-
};
|
|
66
|
-
requestOpt?: undefined;
|
|
67
|
-
cacheConfig?: undefined;
|
|
68
|
-
content?: undefined;
|
|
69
|
-
})[] | ({
|
|
70
|
-
requestOpt: {
|
|
71
|
-
url: string;
|
|
72
|
-
headers: {
|
|
73
|
-
age: string;
|
|
74
|
-
};
|
|
75
|
-
query: {
|
|
76
|
-
name: string;
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
cacheConfig: {
|
|
80
|
-
level: number;
|
|
81
|
-
includes: {
|
|
82
|
-
query: string[];
|
|
83
|
-
header: string[];
|
|
84
|
-
};
|
|
85
|
-
matches: {
|
|
86
|
-
query: {
|
|
87
|
-
name: {
|
|
88
|
-
weixin: string;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
header: {
|
|
92
|
-
age: {
|
|
93
|
-
one: string;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
content: string;
|
|
99
|
-
url?: undefined;
|
|
100
|
-
query?: undefined;
|
|
101
|
-
headers?: undefined;
|
|
102
|
-
} | {
|
|
103
|
-
url: string;
|
|
104
|
-
query: {
|
|
105
|
-
name: string;
|
|
106
|
-
};
|
|
107
|
-
headers: {
|
|
108
|
-
age: string;
|
|
109
|
-
};
|
|
110
|
-
requestOpt?: undefined;
|
|
111
|
-
cacheConfig?: undefined;
|
|
112
|
-
content?: undefined;
|
|
113
|
-
} | {
|
|
114
|
-
url: string;
|
|
115
|
-
query: {
|
|
116
|
-
name: string;
|
|
117
|
-
};
|
|
118
|
-
headers: {
|
|
119
|
-
age?: undefined;
|
|
120
|
-
};
|
|
121
|
-
requestOpt?: undefined;
|
|
122
|
-
cacheConfig?: undefined;
|
|
123
|
-
content?: undefined;
|
|
124
|
-
})[])[];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import LRU from 'lru-cache';
|
|
2
|
-
import { PageCache, PageCachesInterface } from '../type';
|
|
3
|
-
export declare class LRUCaches implements PageCachesInterface {
|
|
4
|
-
caches: LRU<string, PageCache>;
|
|
5
|
-
private readonly max;
|
|
6
|
-
constructor(options: {
|
|
7
|
-
max: number;
|
|
8
|
-
});
|
|
9
|
-
init(): Promise<void>;
|
|
10
|
-
keys(): string[];
|
|
11
|
-
get(key: string): Promise<PageCache | null>;
|
|
12
|
-
peek(key: string): PageCache | null;
|
|
13
|
-
set(key: string, cache: PageCache): Promise<void>;
|
|
14
|
-
del(key: string): void;
|
|
15
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import LRUCache from 'lru-cache';
|
|
2
|
-
import { CacheContent, CacheManagerOptions, CacheResult, CacheContext, CacheConfig } from './type';
|
|
3
|
-
|
|
4
|
-
declare class CacheManager {
|
|
5
|
-
cache: LRUCache<string, CacheContent>;
|
|
6
|
-
cacheOptions: CacheManagerOptions;
|
|
7
|
-
constructor(cacheOptions: CacheManagerOptions);
|
|
8
|
-
private md5;
|
|
9
|
-
private generateRequestKey;
|
|
10
|
-
private replaceValue;
|
|
11
|
-
private factor;
|
|
12
|
-
private queryFactor;
|
|
13
|
-
private headerFactor;
|
|
14
|
-
private readonly find;
|
|
15
|
-
private best;
|
|
16
|
-
private createCacheContent;
|
|
17
|
-
get(context: CacheContext): Promise<CacheResult | null>;
|
|
18
|
-
set(context: CacheContext, html: string, cacheConfig: CacheConfig, sync?: boolean): Promise<any>;
|
|
19
|
-
del(context: CacheContext, cacheHash: string): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export declare function createCache(): CacheManager;
|
|
23
|
-
export declare function destroyCache(): void;
|
|
24
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingHttpHeaders } from 'http';
|
|
3
|
-
import { RenderResult } from '../../../type';
|
|
4
|
-
export type { CacheConfig } from '../type';
|
|
5
|
-
export declare type CacheContent = {
|
|
6
|
-
level: number;
|
|
7
|
-
includes: {
|
|
8
|
-
header?: string[];
|
|
9
|
-
query?: string[];
|
|
10
|
-
} | null;
|
|
11
|
-
matches?: {
|
|
12
|
-
header?: Record<string, Record<string, string>>;
|
|
13
|
-
query?: Record<string, Record<string, string>>;
|
|
14
|
-
} | null;
|
|
15
|
-
interval: number;
|
|
16
|
-
limit: number | boolean;
|
|
17
|
-
caches: PageCachesInterface;
|
|
18
|
-
};
|
|
19
|
-
export interface PageCachesInterface {
|
|
20
|
-
caches: any;
|
|
21
|
-
init: () => void;
|
|
22
|
-
get: (key: string) => Promise<PageCache | null>;
|
|
23
|
-
peek: (key: string) => PageCache | null;
|
|
24
|
-
set: (key: string, cache: PageCache) => Promise<void>;
|
|
25
|
-
del: (key: string) => void;
|
|
26
|
-
keys: () => string[];
|
|
27
|
-
}
|
|
28
|
-
export declare type PageCache = {
|
|
29
|
-
html: string;
|
|
30
|
-
expireTime: number;
|
|
31
|
-
limitTime: number | null;
|
|
32
|
-
cacheHash: string;
|
|
33
|
-
size: number;
|
|
34
|
-
};
|
|
35
|
-
export declare type CacheManagerOptions = {
|
|
36
|
-
max: number;
|
|
37
|
-
};
|
|
38
|
-
export interface CacheResult extends RenderResult {
|
|
39
|
-
isStale: boolean;
|
|
40
|
-
isGarbage: boolean;
|
|
41
|
-
hash: string;
|
|
42
|
-
}
|
|
43
|
-
export declare type CacheContext = {
|
|
44
|
-
entry: string;
|
|
45
|
-
pathname: string;
|
|
46
|
-
query: Record<string, string>;
|
|
47
|
-
headers: IncomingHttpHeaders;
|
|
48
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingHttpHeaders } from 'http';
|
|
3
|
-
import url from 'url';
|
|
4
|
-
export declare function namespaceHash(namespace: string, hash: string): string;
|
|
5
|
-
export declare function fname(lv: number): string;
|
|
6
|
-
export declare function connectFactor(...args: string[]): string;
|
|
7
|
-
export declare function valueFactory(obj: url.URLSearchParams | IncomingHttpHeaders): ((key: string) => string | null) | ((key: string) => string | undefined);
|
|
8
|
-
export declare function getTime([s, ns]: [number, number]): number;
|
|
9
|
-
export declare function cacheAddition(html: string, hash: string): string;
|
|
10
|
-
declare type CoalescedInvoke<T> = {
|
|
11
|
-
isOrigin: boolean;
|
|
12
|
-
value: T;
|
|
13
|
-
};
|
|
14
|
-
declare type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
|
|
15
|
-
export declare function withCoalescedInvoke<F extends (...args: any[]) => Promise<any>>(func: F): (key: string, args: Parameters<F>) => Promise<CoalescedInvoke<UnwrapPromise<ReturnType<F>>>>;
|
|
16
|
-
export declare function maybeSync(fn: () => Promise<any>): (sync: boolean) => Promise<any>;
|
|
17
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { RenderResult, ServerHookRunner } from '../../type';
|
|
2
|
-
import { ModernRoute } from '../route';
|
|
3
|
-
import { ModernServerContext } from '../context';
|
|
4
|
-
export declare const createRenderHandler: ({
|
|
5
|
-
distDir,
|
|
6
|
-
staticGenerate
|
|
7
|
-
}: {
|
|
8
|
-
distDir: string;
|
|
9
|
-
staticGenerate: boolean;
|
|
10
|
-
}) => ({
|
|
11
|
-
ctx,
|
|
12
|
-
route,
|
|
13
|
-
runner
|
|
14
|
-
}: {
|
|
15
|
-
ctx: ModernServerContext;
|
|
16
|
-
route: ModernRoute;
|
|
17
|
-
runner: ServerHookRunner;
|
|
18
|
-
}) => Promise<RenderResult | null>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const NativeModuleNameMap: Record<string, string>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export declare class LruReader {
|
|
3
|
-
private readonly cache;
|
|
4
|
-
constructor();
|
|
5
|
-
init(): void;
|
|
6
|
-
close(): void;
|
|
7
|
-
read(filepath: string): Promise<{
|
|
8
|
-
content: Buffer;
|
|
9
|
-
mtime: Date;
|
|
10
|
-
} | {
|
|
11
|
-
content: Buffer;
|
|
12
|
-
} | null>;
|
|
13
|
-
update(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare const readFile: (filepath: string) => Promise<Buffer | undefined>;
|
|
16
|
-
export declare const updateFile: () => void;
|
|
17
|
-
export declare const init: () => void;
|
|
18
|
-
export declare const close: () => void;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ModernServerContext } from '../context';
|
|
2
|
-
import { RenderResult, ServerHookRunner } from '../../type';
|
|
3
|
-
export declare const render: (ctx: ModernServerContext, renderOptions: {
|
|
4
|
-
distDir: string;
|
|
5
|
-
bundle: string;
|
|
6
|
-
urlPath: string;
|
|
7
|
-
template: string;
|
|
8
|
-
entryName: string;
|
|
9
|
-
staticGenerate: boolean;
|
|
10
|
-
}, runner: ServerHookRunner) => Promise<RenderResult>;
|