@joker.front/cli
Version:
The Next-Generation Front-End Toolchain: Swift, Efficient, and Adaptive.
50 lines (49 loc) • 1.44 kB
TypeScript
import { ResolvedConfig } from "../config";
import { HttpServer, HttpServerOptions } from "./http";
import { FSWatcher } from "chokidar";
import { SocketServer } from "./websocket";
import { ModuleMap } from "./moduleMap";
import { PluginContainer } from "./pluginContainer";
import { TransformRequester } from "./transformRequest";
export interface ServerOptions extends HttpServerOptions {
/** 热更新 */
hmr?: boolean | {
port?: number;
host?: string;
};
/**
* 配置文件允许范围
*/
fs?: FileSystemServeOptions;
}
export declare function resolveServerOpt(config: Partial<ResolvedConfig>): void;
export interface FileSystemServeOptions {
/**
* 严格限制文件访问超出允许的路径
* 设置为'false',则不做警告限制
* @default true
*/
strict?: boolean;
/**
* 允许访问的目录集合
*
* @default [workspace/root]
*/
allow?: string[];
}
export declare class Server {
config: ResolvedConfig;
httpServer: HttpServer;
watcher: FSWatcher;
socketServer: SocketServer;
moduleMap: ModuleMap;
pluginContainer: PluginContainer;
transformRequester: TransformRequester;
clientId: string;
constructor(config: ResolvedConfig);
private initHandler;
private initMiddleware;
start(): Promise<void>;
addWatchFile(filePath: string | undefined): void;
private dispose;
}