Skip to content

Commit c7faa65

Browse files
committed
fix: aovid resolveConfig twice at dev build
1 parent 406c7f6 commit c7faa65

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

packages/vite/src/node/cli.ts

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -187,24 +187,8 @@ cli
187187
filterDuplicateOptions(options)
188188
// output structure is preserved even after bundling so require()
189189
// is ok here
190-
const { createServer } = await import('./server')
190+
const { createServerWithResolvedConfig } = await import('./server')
191191
try {
192-
const server = await createServer({
193-
root,
194-
base: options.base,
195-
mode: options.mode,
196-
configFile: options.config,
197-
configLoader: options.configLoader,
198-
logLevel: options.logLevel,
199-
clearScreen: options.clearScreen,
200-
server: cleanGlobalCLIOptions(options),
201-
forceOptimizeDeps: options.force,
202-
})
203-
204-
if (!server.httpServer) {
205-
throw new Error('HTTP server not available')
206-
}
207-
208192
const { createBuilder } = await import('./build')
209193

210194
const buildOptions: BuildEnvironmentOptions =
@@ -222,6 +206,13 @@ cli
222206
...(options.app ? { builder: {} } : {}),
223207
}
224208
const builder = await createBuilder(inlineConfig, null, 'serve')
209+
210+
const server = await createServerWithResolvedConfig(builder.config)
211+
212+
if (!server.httpServer) {
213+
throw new Error('HTTP server not available')
214+
}
215+
225216
await builder.buildApp(server)
226217

227218
await server.listen()

packages/vite/src/node/server/index.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,21 +411,26 @@ export interface ResolvedServerUrls {
411411
network: string[]
412412
}
413413

414-
export function createServer(
414+
export async function createServer(
415415
inlineConfig: InlineConfig = {},
416416
): Promise<ViteDevServer> {
417-
return _createServer(inlineConfig, { listen: true })
417+
const config = await resolveConfig(inlineConfig, 'serve')
418+
return _createServer(config, { listen: true })
419+
}
420+
421+
export function createServerWithResolvedConfig(
422+
config: ResolvedConfig,
423+
): Promise<ViteDevServer> {
424+
return _createServer(config, { listen: true })
418425
}
419426

420427
export async function _createServer(
421-
inlineConfig: InlineConfig = {},
428+
config: ResolvedConfig,
422429
options: {
423430
listen: boolean
424431
previousEnvironments?: Record<string, DevEnvironment>
425432
},
426433
): Promise<ViteDevServer> {
427-
const config = await resolveConfig(inlineConfig, 'serve')
428-
429434
const initPublicFilesPromise = initPublicFiles(config)
430435

431436
const { root, server: serverConfig } = config
@@ -1190,7 +1195,8 @@ async function restartServer(server: ViteDevServer) {
11901195
let newServer: ViteDevServer | null = null
11911196
try {
11921197
// delay ws server listen
1193-
newServer = await _createServer(inlineConfig, {
1198+
const config = await resolveConfig(inlineConfig, 'serve')
1199+
newServer = await _createServer(config, {
11941200
listen: false,
11951201
previousEnvironments: server.environments,
11961202
})

0 commit comments

Comments
 (0)