vite-plugin-mock-dev-server
Version:
Vite Plugin for API mock dev server.
89 lines (87 loc) • 3.41 kB
text/typescript
import { g as ServerBuildOption, i as LogLevel, m as MockWebsocketItem, p as MockServerPluginOptions, s as MockHttpItem, u as MockOptions } from "./types-C8ZwTU-4.mjs";
import { Matcher } from "picomatch";
import Debug from "debug";
import EventEmitter from "node:events";
import { CorsOptions } from "cors";
import { Server } from "node:http";
import { Alias, Connect } from "vite";
import { Http2SecureServer } from "node:http2";
//#region src/compiler/types.d.ts
type MockRawData = MockOptions | MockHttpItem | MockWebsocketItem | Record<string, MockOptions | MockHttpItem | MockWebsocketItem>;
//#endregion
//#region src/compiler/processData.d.ts
declare function processRawData(raw: MockRawData, __filepath__: string): MockOptions | MockHttpItem | MockWebsocketItem;
declare function processMockData(mockList: Map<string, MockHttpItem | MockWebsocketItem | MockOptions> | (MockHttpItem | MockWebsocketItem | MockOptions)[]): Record<string, MockOptions>;
declare function sortByValidator(mocks: MockOptions): (MockHttpItem | MockWebsocketItem)[];
//#endregion
//#region src/utils/logger.d.ts
interface Logger {
debug: (msg: string, level?: boolean | LogLevel) => void;
info: (msg: string, level?: boolean | LogLevel) => void;
warn: (msg: string, level?: boolean | LogLevel) => void;
error: (msg: string, level?: boolean | LogLevel) => void;
}
declare const logLevels: Record<LogLevel, number>;
declare function createLogger(prefix: string, defaultLevel?: LogLevel): Logger;
//#endregion
//#region src/options.d.ts
type ResolvedMockServerPluginOptions = Required<Omit<MockServerPluginOptions, "build" | "cors" | "wsPrefix" | "prefix">> & {
context: string;
logger: Logger;
alias: Alias[];
define: Record<string, any>;
proxies: string[];
wsProxies: string[];
build: false | ServerBuildOption;
cors: false | CorsOptions;
};
//#endregion
//#region src/compiler/compiler.d.ts
/**
* Mock 文件加载编译,并转换为 Mock 数据
*/
declare class Compiler extends EventEmitter {
private moduleCache;
private moduleDeps;
cwd: string;
private mockWatcher;
private depsWatcher;
private isESM;
private _mockData;
options: ResolvedMockServerPluginOptions;
constructor(options: ResolvedMockServerPluginOptions);
get mockData(): Record<string, MockOptions>;
run(watch?: boolean): void;
close(): void;
private load;
private updateMockData;
private updateModuleDeps;
watchMockEntry(isMatch: Matcher): void;
watchDeps(): void;
}
//#endregion
//#region src/core/mockMiddleware.d.ts
interface CreateMockMiddlewareOptions extends Pick<MockServerPluginOptions, "formidableOptions" | "cookiesOptions" | "bodyParserOptions" | "priority"> {
proxies: string[];
logger: Logger;
}
declare function createMockMiddleware(compiler: Compiler, {
formidableOptions,
bodyParserOptions,
proxies,
cookiesOptions,
logger,
priority
}: CreateMockMiddlewareOptions): Connect.NextHandleFunction;
//#endregion
//#region src/core/ws.d.ts
/**
* mock websocket
*/
declare function mockWebSocket(compiler: Compiler, server: Server | Http2SecureServer | null, {
wsProxies: proxies,
cookiesOptions,
logger
}: ResolvedMockServerPluginOptions): void;
//#endregion
export { createLogger as a, processRawData as c, Logger as i, sortByValidator as l, CreateMockMiddlewareOptions as n, logLevels as o, createMockMiddleware as r, processMockData as s, mockWebSocket as t };