@modern-js/prod-server 2.48.6 → 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
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import { Writable, Readable } from 'stream';
|
|
4
|
-
import { BaseSSRServerContext } from '@modern-js/types';
|
|
5
|
-
type MetaKeyMap = {
|
|
6
|
-
header?: string[];
|
|
7
|
-
query?: string[];
|
|
8
|
-
};
|
|
9
|
-
type MetaKeyMatch = {
|
|
10
|
-
header?: MatchMap;
|
|
11
|
-
query?: MatchMap;
|
|
12
|
-
};
|
|
13
|
-
type MatchMap = Record<string, Record<string, string>>;
|
|
14
|
-
export type CacheConfig = {
|
|
15
|
-
interval: number;
|
|
16
|
-
staleLimit: number | boolean;
|
|
17
|
-
level: number;
|
|
18
|
-
includes?: MetaKeyMap | null;
|
|
19
|
-
excludes?: MetaKeyMap | null;
|
|
20
|
-
matches?: MetaKeyMatch | null;
|
|
21
|
-
};
|
|
22
|
-
export declare enum RenderLevel {
|
|
23
|
-
CLIENT_RENDER = 0,
|
|
24
|
-
SERVER_PREFETCH = 1,
|
|
25
|
-
SERVER_RENDER = 2
|
|
26
|
-
}
|
|
27
|
-
export type SSRServerContext = BaseSSRServerContext & {
|
|
28
|
-
cacheConfig?: CacheConfig;
|
|
29
|
-
staticGenerate?: boolean;
|
|
30
|
-
};
|
|
31
|
-
export type ModernSSRReactComponent = React.ComponentType<any> & {
|
|
32
|
-
init: (context: SSRServerContext) => Promise<void>;
|
|
33
|
-
prefetch: (context: SSRServerContext) => Promise<Record<string, any>>;
|
|
34
|
-
};
|
|
35
|
-
export type RenderFunction = (context: SSRServerContext) => Promise<string | ((writable: Writable) => Promise<Readable>) | undefined>;
|
|
36
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Readable } from 'stream';
|
|
3
|
-
import type { ModernServerContext } from '@modern-js/types';
|
|
4
|
-
export declare const injectServerData: (content: string, context: ModernServerContext) => string;
|
|
5
|
-
export declare const injectServerDataStream: (content: Readable, context: ModernServerContext) => import("stream").Transform;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RouteMatcher } from './matcher';
|
|
2
|
-
import { ModernRoute, ModernRouteInterface } from './route';
|
|
3
|
-
export declare class RouteMatchManager {
|
|
4
|
-
matchers: RouteMatcher[];
|
|
5
|
-
private specs;
|
|
6
|
-
constructor();
|
|
7
|
-
private filter;
|
|
8
|
-
private best;
|
|
9
|
-
reset(specs: ModernRouteInterface[]): void;
|
|
10
|
-
match(pathname: string): RouteMatcher | undefined;
|
|
11
|
-
matchEntry(entryname: string): RouteMatcher | undefined;
|
|
12
|
-
getBundles(): (string | undefined)[];
|
|
13
|
-
}
|
|
14
|
-
export type { ModernRouteInterface, ModernRoute };
|
|
15
|
-
export { RouteMatcher };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { MatchFunction } from 'path-to-regexp';
|
|
2
|
-
import { ModernRoute, ModernRouteInterface } from './route';
|
|
3
|
-
export declare class RouteMatcher {
|
|
4
|
-
spec: ModernRouteInterface;
|
|
5
|
-
urlPath: string;
|
|
6
|
-
urlMatcher?: MatchFunction;
|
|
7
|
-
urlReg?: RegExp;
|
|
8
|
-
constructor(spec: ModernRouteInterface);
|
|
9
|
-
generate(url: string): ModernRoute;
|
|
10
|
-
parseURLParams(pathname: string): Record<string, string>;
|
|
11
|
-
matchLength(pathname: string): number | null;
|
|
12
|
-
matchUrlPath(requestUrl: string): boolean;
|
|
13
|
-
matchEntry(entryName: string): boolean;
|
|
14
|
-
private setupUrlPath;
|
|
15
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ServerRoute as ModernRouteInterface } from '@modern-js/types';
|
|
2
|
-
export type { ModernRouteInterface };
|
|
3
|
-
export declare class ModernRoute implements ModernRouteInterface {
|
|
4
|
-
entryName: string;
|
|
5
|
-
urlPath: string;
|
|
6
|
-
entryPath: string;
|
|
7
|
-
bundle: string;
|
|
8
|
-
isApi: boolean;
|
|
9
|
-
isSSR: boolean;
|
|
10
|
-
isSPA: boolean;
|
|
11
|
-
params: Record<string, any>;
|
|
12
|
-
responseHeaders?: Record<string, any>;
|
|
13
|
-
constructor(routeSpec: ModernRouteInterface);
|
|
14
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ModernServerContext } from '@modern-js/types';
|
|
2
|
-
import { NextFunction, ModernServerHandler } from '../type';
|
|
3
|
-
type Rule = {
|
|
4
|
-
path: string | RegExp;
|
|
5
|
-
target: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const faviconFallbackHandler: ModernServerHandler;
|
|
8
|
-
export declare const createStaticFileHandler: (rules: Rule[], assetPrefix?: string) => (context: ModernServerContext, next: NextFunction) => Promise<void>;
|
|
9
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ServerTiming as IServerTiming } from '@modern-js/types';
|
|
2
|
-
interface Res {
|
|
3
|
-
getHeader: (name: string) => number | string | string[] | undefined;
|
|
4
|
-
setHeader: (name: string, value: string) => void;
|
|
5
|
-
set: (name: string, value: any) => this;
|
|
6
|
-
}
|
|
7
|
-
export declare class ServerTiming implements IServerTiming {
|
|
8
|
-
meta: string;
|
|
9
|
-
res: Res;
|
|
10
|
-
constructor(res: Res, meta: string);
|
|
11
|
-
addServeTiming(name: string, dur: number, desc?: string): this;
|
|
12
|
-
}
|
|
13
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/// <reference path="type.d.ts" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node/http" />
|
|
4
|
-
import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
|
|
5
|
-
import { ModernServerOptions } from './type';
|
|
6
|
-
export interface RenderHtmlOptions {
|
|
7
|
-
/** request url */
|
|
8
|
-
url: string;
|
|
9
|
-
/** request method */
|
|
10
|
-
method?: string;
|
|
11
|
-
/** request headers */
|
|
12
|
-
headers?: IncomingHttpHeaders;
|
|
13
|
-
/** request body */
|
|
14
|
-
body?: string;
|
|
15
|
-
serverOptions: ModernServerOptions;
|
|
16
|
-
}
|
|
17
|
-
export interface ReturnResponse {
|
|
18
|
-
headers: OutgoingHttpHeaders;
|
|
19
|
-
redirected: boolean;
|
|
20
|
-
status: number;
|
|
21
|
-
url: string;
|
|
22
|
-
body: string;
|
|
23
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/// <reference path="../type.d.ts" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
/// <reference types="node/http" />
|
|
6
|
-
import { IncomingMessage, ServerResponse } from 'http';
|
|
7
|
-
import type { ListenOptions } from 'net';
|
|
8
|
-
import { ModernServerOptions, ServerConstructor } from '../type';
|
|
9
|
-
export declare class Server {
|
|
10
|
-
options: ModernServerOptions;
|
|
11
|
-
protected serverImpl: ServerConstructor;
|
|
12
|
-
private server;
|
|
13
|
-
private app;
|
|
14
|
-
private runner;
|
|
15
|
-
private serverConfig;
|
|
16
|
-
constructor(options: ModernServerOptions);
|
|
17
|
-
/**
|
|
18
|
-
* 初始化顺序
|
|
19
|
-
* - 读取 .env.{process.env.MODERN_ENV} 文件,加载环境变量
|
|
20
|
-
* - 获取 server runtime config
|
|
21
|
-
* - 设置 context
|
|
22
|
-
* - 创建 hooksRunner
|
|
23
|
-
* - 合并插件,内置插件和 serverConfig 中配置的插件
|
|
24
|
-
* - 执行 config hook
|
|
25
|
-
* - 获取最终的配置
|
|
26
|
-
* - 设置配置到 context
|
|
27
|
-
* - 初始化 server
|
|
28
|
-
* - 执行 prepare hook
|
|
29
|
-
* - 执行 server init
|
|
30
|
-
*/
|
|
31
|
-
init({ disableHttpServer }?: {
|
|
32
|
-
disableHttpServer: boolean;
|
|
33
|
-
}): Promise<this>;
|
|
34
|
-
/**
|
|
35
|
-
* Execute config hooks
|
|
36
|
-
* @param runner
|
|
37
|
-
* @param options
|
|
38
|
-
*/
|
|
39
|
-
private runConfigHook;
|
|
40
|
-
private runPrepareHook;
|
|
41
|
-
private initServerConfig;
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
* merge cliConfig and serverConfig
|
|
45
|
-
*/
|
|
46
|
-
private initConfig;
|
|
47
|
-
close(): Promise<void>;
|
|
48
|
-
listen<T extends number | ListenOptions | undefined>(options: T, listener: any): void;
|
|
49
|
-
getRequestHandler(): (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
|
|
50
|
-
render(req: IncomingMessage, res: ServerResponse, url?: string): Promise<string | import("stream").Readable | null>;
|
|
51
|
-
private createHookRunner;
|
|
52
|
-
private injectContext;
|
|
53
|
-
private initAppContext;
|
|
54
|
-
private loadServerEnv;
|
|
55
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/// <reference path="../type.d.ts" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node/http" />
|
|
5
|
-
import { IncomingMessage, ServerResponse, Server } from 'http';
|
|
6
|
-
import { Adapter, WebAdapter, APIServerStartInput, ServerOptions } from '@modern-js/server-core';
|
|
7
|
-
import { type ModernServerContext, type ServerRoute } from '@modern-js/types';
|
|
8
|
-
import { Logger } from '@modern-js/utils/logger';
|
|
9
|
-
import type { ContextOptions } from '../libs/context';
|
|
10
|
-
import { ModernServerOptions, NextFunction, ServerHookRunner, Metrics, ModernServerInterface, BuildOptions, ModernServerHandler } from '../type';
|
|
11
|
-
import { RouteMatchManager, ModernRouteInterface, ModernRoute } from '../libs/route';
|
|
12
|
-
import { RenderHandler } from '../libs/render';
|
|
13
|
-
import { mergeExtension } from '../utils';
|
|
14
|
-
type ModernServerAsyncHandler = (context: ModernServerContext, next: NextFunction) => Promise<void>;
|
|
15
|
-
export declare class ModernServer implements ModernServerInterface {
|
|
16
|
-
pwd: string;
|
|
17
|
-
distDir: string;
|
|
18
|
-
protected workDir: string;
|
|
19
|
-
protected router: RouteMatchManager;
|
|
20
|
-
protected conf: ServerOptions;
|
|
21
|
-
protected handlers: ModernServerAsyncHandler[];
|
|
22
|
-
protected presetRoutes?: ModernRouteInterface[];
|
|
23
|
-
protected runner: ServerHookRunner;
|
|
24
|
-
protected readonly logger: Logger;
|
|
25
|
-
protected readonly metrics: Metrics;
|
|
26
|
-
protected readonly runMode: string;
|
|
27
|
-
protected readonly proxyTarget: ModernServerOptions['proxyTarget'];
|
|
28
|
-
protected routeRenderHandler: RenderHandler;
|
|
29
|
-
protected readonly staticGenerate: boolean;
|
|
30
|
-
protected readonly metaName?: string;
|
|
31
|
-
private loaderHandler;
|
|
32
|
-
private frameWebHandler;
|
|
33
|
-
private frameAPIHandler;
|
|
34
|
-
private _handler;
|
|
35
|
-
constructor({ pwd, config, routes, staticGenerate, logger, metrics, runMode, proxyTarget, appContext, }: ModernServerOptions);
|
|
36
|
-
onInit(runner: ServerHookRunner, app: Server): Promise<void>;
|
|
37
|
-
getRenderHandler(): RenderHandler;
|
|
38
|
-
onRepack(_: BuildOptions): void;
|
|
39
|
-
getRequestHandler(): (req: IncomingMessage, res: ServerResponse, next?: () => void) => void | ServerResponse;
|
|
40
|
-
render(req: IncomingMessage, res: ServerResponse, url?: string): Promise<string | import("stream").Readable | null>;
|
|
41
|
-
createHTTPServer(handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>;
|
|
42
|
-
protected onServerChange({ filepath }: {
|
|
43
|
-
filepath: string;
|
|
44
|
-
}): Promise<void>;
|
|
45
|
-
protected getRoutes(): ServerRoute[];
|
|
46
|
-
protected addHandler(handler: ModernServerHandler): void;
|
|
47
|
-
protected render404(context: ModernServerContext): void;
|
|
48
|
-
protected prepareLoaderHandler(specs: ServerRoute[], distDir: string): Promise<void>;
|
|
49
|
-
protected prepareFrameHandler(options?: {
|
|
50
|
-
onlyApi: boolean;
|
|
51
|
-
onlyWeb: boolean;
|
|
52
|
-
}): Promise<void>;
|
|
53
|
-
protected prepareWebHandler(extension: ReturnType<typeof mergeExtension>): Promise<WebAdapter>;
|
|
54
|
-
protected prepareAPIHandler(extension: APIServerStartInput['config']): Promise<Adapter>;
|
|
55
|
-
protected filterRoutes(routes: ModernRouteInterface[]): ServerRoute[];
|
|
56
|
-
protected setupBeforeProdMiddleware(): Promise<void>;
|
|
57
|
-
protected setupStaticMiddleware(prefix?: string): (context: ModernServerContext, next: NextFunction) => Promise<void>;
|
|
58
|
-
protected handleAPI(context: ModernServerContext): Promise<void>;
|
|
59
|
-
protected handleWeb(context: ModernServerContext, route: ModernRoute): Promise<import("../type").RenderResult | null>;
|
|
60
|
-
protected proxy(): Promise<any>;
|
|
61
|
-
protected warmupSSRBundle(): void;
|
|
62
|
-
protected createContext(req: IncomingMessage, res: ServerResponse, options?: ContextOptions): import("../libs/context").ModernServerContext;
|
|
63
|
-
private routeHandler;
|
|
64
|
-
private isSend;
|
|
65
|
-
private compose;
|
|
66
|
-
private requestHandler;
|
|
67
|
-
private redirect;
|
|
68
|
-
private onError;
|
|
69
|
-
private renderErrorPage;
|
|
70
|
-
}
|
|
71
|
-
export {};
|
package/dist/types/type.d.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node/http" />
|
|
5
|
-
import { IncomingMessage, Server, ServerResponse } from 'http';
|
|
6
|
-
import { Readable } from 'stream';
|
|
7
|
-
import { serverManager, ServerOptions } from '@modern-js/server-core';
|
|
8
|
-
import type { ServerPlugin } from '@modern-js/server-core';
|
|
9
|
-
import type { Metrics, Logger, NextFunction, ModernServerContext, InternalPlugins, Reporter } from '@modern-js/types';
|
|
10
|
-
import { Logger as LocalLogger } from '@modern-js/utils/logger';
|
|
11
|
-
import type { ModernRouteInterface } from './libs/route';
|
|
12
|
-
declare module 'http' {
|
|
13
|
-
interface IncomingMessage {
|
|
14
|
-
logger: Logger;
|
|
15
|
-
metrics: Metrics;
|
|
16
|
-
reporter?: Reporter;
|
|
17
|
-
body?: any;
|
|
18
|
-
}
|
|
19
|
-
interface OutgoingMessage {
|
|
20
|
-
set: (key: string, value: any) => this;
|
|
21
|
-
modernFlushedHeaders?: boolean;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export type ModernServerOptions = {
|
|
25
|
-
pwd: string;
|
|
26
|
-
config: ServerOptions;
|
|
27
|
-
plugins?: ServerPlugin[];
|
|
28
|
-
internalPlugins?: InternalPlugins;
|
|
29
|
-
routes?: ModernRouteInterface[];
|
|
30
|
-
staticGenerate?: boolean;
|
|
31
|
-
logger?: LocalLogger;
|
|
32
|
-
metrics?: Metrics;
|
|
33
|
-
apiOnly?: boolean;
|
|
34
|
-
ssrOnly?: boolean;
|
|
35
|
-
webOnly?: boolean;
|
|
36
|
-
runMode?: string;
|
|
37
|
-
appContext?: {
|
|
38
|
-
appDirectory?: string;
|
|
39
|
-
sharedDirectory: string;
|
|
40
|
-
apiDirectory: string;
|
|
41
|
-
lambdaDirectory: string;
|
|
42
|
-
metaName: string;
|
|
43
|
-
};
|
|
44
|
-
serverConfigFile?: string;
|
|
45
|
-
proxyTarget?: any;
|
|
46
|
-
};
|
|
47
|
-
export type RenderResult = {
|
|
48
|
-
content: string | Buffer;
|
|
49
|
-
contentType: string;
|
|
50
|
-
contentStream?: Readable;
|
|
51
|
-
statusCode?: number;
|
|
52
|
-
headers?: Record<string, string>;
|
|
53
|
-
redirect?: boolean;
|
|
54
|
-
};
|
|
55
|
-
export type ConfWithBFF = {
|
|
56
|
-
bff?: {
|
|
57
|
-
prefix: string;
|
|
58
|
-
} & ServerOptions['bff'];
|
|
59
|
-
};
|
|
60
|
-
export type Then<T> = T extends PromiseLike<infer U> ? U : T;
|
|
61
|
-
export type ServerHookRunner = Then<ReturnType<typeof serverManager.init>>;
|
|
62
|
-
export type BuildOptions = {
|
|
63
|
-
routes?: ModernRouteInterface[];
|
|
64
|
-
};
|
|
65
|
-
export type { Metrics, Logger, NextFunction };
|
|
66
|
-
export type HookNames = 'afterMatch' | 'afterRender';
|
|
67
|
-
export interface ModernServerInterface {
|
|
68
|
-
pwd: string;
|
|
69
|
-
distDir: string;
|
|
70
|
-
onInit: (runner: ServerHookRunner, app: Server) => Promise<void>;
|
|
71
|
-
onRepack: (options: BuildOptions) => void;
|
|
72
|
-
getRequestHandler: () => (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
|
|
73
|
-
createHTTPServer: (handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void) => Promise<Server>;
|
|
74
|
-
render: (req: IncomingMessage, res: ServerResponse, url?: string) => Promise<string | Readable | null>;
|
|
75
|
-
close?: () => Promise<void>;
|
|
76
|
-
}
|
|
77
|
-
export type ServerConstructor = (options: ModernServerOptions) => ModernServerInterface;
|
|
78
|
-
export type ModernServerHandler = (context: ModernServerContext, next: NextFunction) => Promise<void> | void;
|
package/dist/types/utils.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/// <reference path="type.d.ts" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node/http" />
|
|
4
|
-
import { IncomingMessage } from 'http';
|
|
5
|
-
import type { OutputNormalizedConfig, HtmlNormalizedConfig } from '@modern-js/server-core';
|
|
6
|
-
export declare const debug: any;
|
|
7
|
-
export declare const mergeExtension: (users: any[]) => {
|
|
8
|
-
middleware: any[];
|
|
9
|
-
};
|
|
10
|
-
export declare const noop: () => void;
|
|
11
|
-
export declare const createErrorDocument: (status: number, text: string) => string;
|
|
12
|
-
export type CollectMiddlewaresResult = {
|
|
13
|
-
web: any[];
|
|
14
|
-
api: any[];
|
|
15
|
-
};
|
|
16
|
-
export declare const createMiddlewareCollecter: () => {
|
|
17
|
-
getMiddlewares: () => CollectMiddlewaresResult;
|
|
18
|
-
addWebMiddleware: (input: any) => void;
|
|
19
|
-
addAPIMiddleware: (input: any) => void;
|
|
20
|
-
};
|
|
21
|
-
export declare const getStaticReg: (output?: OutputNormalizedConfig, html?: HtmlNormalizedConfig, prefix?: string) => RegExp;
|
|
22
|
-
export declare const prepareFavicons: (favicon: string | undefined, faviconByEntries?: Record<string, string | undefined>) => string[];
|
|
23
|
-
export declare const headersWithoutCookie: (headers: IncomingMessage['headers']) => import("http").IncomingHttpHeaders;
|
|
24
|
-
export declare const isRedirect: (code: number) => boolean;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { AfterMatchContext, AfterRenderContext, MiddlewareContext, NextFunction } from '@modern-js/types';
|
|
2
|
-
import { ModernRouteInterface } from './libs/route';
|
|
3
|
-
export type Context = Record<string, any>;
|
|
4
|
-
export interface HandlerOptions {
|
|
5
|
-
request: Request;
|
|
6
|
-
loadableStats: Record<string, any>;
|
|
7
|
-
routeManifest: Record<string, any>;
|
|
8
|
-
}
|
|
9
|
-
export declare class ReturnResponse {
|
|
10
|
-
body: string;
|
|
11
|
-
status: number;
|
|
12
|
-
headers: Headers;
|
|
13
|
-
constructor(body: string, status: number, headers?: Record<string, any>);
|
|
14
|
-
/**
|
|
15
|
-
* Iterate a Object
|
|
16
|
-
* 1. adds the value if the key does not already exist.
|
|
17
|
-
* 2. append the value if the key does already exist.
|
|
18
|
-
*
|
|
19
|
-
* more detail follow: https://developer.mozilla.org/en-US/docs/Web/API/Headers/append
|
|
20
|
-
* @param headers
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
appendHeaders(headers: Record<string, any>): this;
|
|
24
|
-
/**
|
|
25
|
-
* Iterate a Object
|
|
26
|
-
* 1. adds the value if the key does not already exist.
|
|
27
|
-
* 2. modify the value if the key does already exist.
|
|
28
|
-
*
|
|
29
|
-
* more detail follow: https://developer.mozilla.org/en-US/docs/Web/API/Headers/set
|
|
30
|
-
* @param headers
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
setHeaders(headers: Record<string, any>): this;
|
|
34
|
-
}
|
|
35
|
-
type Middleware = (context: MiddlewareContext<'worker'>, next: NextFunction) => Promise<void> | void;
|
|
36
|
-
type ServerHooks = {
|
|
37
|
-
middleware?: Middleware | Middleware[];
|
|
38
|
-
afterRender?: (ctx: AfterRenderContext, next: unknown) => Promise<void> | void;
|
|
39
|
-
afterMatch?: (ctx: AfterMatchContext, next: unknown) => Promise<void> | void;
|
|
40
|
-
};
|
|
41
|
-
type Page = {
|
|
42
|
-
entryName: string;
|
|
43
|
-
template: string;
|
|
44
|
-
serverHooks?: ServerHooks;
|
|
45
|
-
serverRender?: (ctx: Record<string, any>) => Promise<string>;
|
|
46
|
-
};
|
|
47
|
-
export type Manifest = {
|
|
48
|
-
/**
|
|
49
|
-
* @param key - path
|
|
50
|
-
*/
|
|
51
|
-
pages: Record<string, Page>;
|
|
52
|
-
routes: ModernRouteInterface[];
|
|
53
|
-
options?: {
|
|
54
|
-
forceCSR?: boolean;
|
|
55
|
-
metaName?: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
export declare const createHandler: (manifest: Manifest) => (options: HandlerOptions) => Promise<ReturnResponse>;
|
|
59
|
-
export {};
|
|
File without changes
|
|
File without changes
|