-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
/
Copy pathvite-server.ts
33 lines (28 loc) · 917 Bytes
/
vite-server.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import type { Server } from 'http';
import { createServer } from 'vite';
import { commonConfig } from './vite-config';
import type { ExtendedOptions } from './types';
import { getOptimizeDeps } from './optimizeDeps';
import { sanitizeEnvVars } from './envs';
export async function createViteServer(options: ExtendedOptions, devServer: Server) {
const { presets } = options;
const commonCfg = await commonConfig(options, 'development');
const config = {
...commonCfg,
// Set up dev server
server: {
middlewareMode: true,
hmr: {
port: options.port,
server: devServer,
},
fs: {
strict: true,
},
},
appType: 'custom' as const,
optimizeDeps: await getOptimizeDeps(commonCfg, options),
};
const finalConfig = await presets.apply('viteFinal', config, options);
return createServer(await sanitizeEnvVars(options, finalConfig));
}