-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
server.ts
32 lines (29 loc) · 909 Bytes
/
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
import { createServer as createViteServer, type ServerOptions } from 'vite'
import { resolveConfig } from './config'
import { createVitePressPlugin } from './plugin'
export async function createServer(
root: string = process.cwd(),
serverOptions: ServerOptions & { base?: string; configFile?: string } = {},
recreateServer?: () => Promise<void>
) {
const config = await resolveConfig(
root,
'serve',
'development',
serverOptions.configFile
)
delete serverOptions.configFile
if (serverOptions.base) {
config.site.base = serverOptions.base
delete serverOptions.base
}
return createViteServer({
root: config.srcDir,
base: config.site.base,
cacheDir: config.cacheDir,
plugins: await createVitePressPlugin(config, false, {}, {}, recreateServer),
server: serverOptions,
customLogger: config.logger,
configFile: config.vite?.configFile
})
}