This commit is contained in:
xuziqiang
2024-05-15 17:29:42 +08:00
commit d0155dbe3c
7296 changed files with 1832517 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import type { ViteMockOptions } from './types';
import type { Plugin } from 'vite';
import { ResolvedConfig } from 'vite';
import { createMockServer, requestMiddleware } from './createMockServer';
export function viteMockServe(opt: ViteMockOptions = {}): Plugin {
let isDev = false;
let config: ResolvedConfig;
return {
name: 'vite:mock',
enforce: 'pre' as const,
configResolved(resolvedConfig) {
config = resolvedConfig;
isDev = config.command === 'serve';
isDev && createMockServer(opt, config);
},
configureServer: async ({ middlewares }) => {
const { enable = isDev } = opt;
if (!enable) {
return;
}
const middleware = await requestMiddleware(opt);
middlewares.use(middleware);
},
};
}
export * from './types';