Skip to content

Commit b18af15

Browse files
authored
fix: keep process running when fail to load config in restarting server (#2510)
close #2496
1 parent 96ea9f4 commit b18af15

File tree

1 file changed

+14
-2
lines changed
  • packages/vite/src/node/server

1 file changed

+14
-2
lines changed

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

+14-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { ModuleNode } from './moduleGraph'
77
import { Update } from 'types/hmrPayload'
88
import { CLIENT_DIR } from '../constants'
99
import { RollupError } from 'rollup'
10+
import { prepareError } from './middlewares/error'
1011
import match from 'minimatch'
1112

1213
export const debugHmr = createDebugger('vite:hmr')
@@ -410,9 +411,20 @@ async function readModifiedFile(file: string): Promise<string> {
410411
}
411412

412413
async function restartServer(server: ViteDevServer) {
414+
// @ts-ignore
415+
global.__vite_start_time = Date.now()
416+
let newServer = null
417+
try {
418+
newServer = await createServer(server.config.inlineConfig)
419+
} catch (err) {
420+
server.ws.send({
421+
type: 'error',
422+
err: prepareError(err)
423+
})
424+
return
425+
}
426+
413427
await server.close()
414-
;(global as any).__vite_start_time = Date.now()
415-
const newServer = await createServer(server.config.inlineConfig)
416428
for (const key in newServer) {
417429
if (key !== 'app') {
418430
// @ts-ignore

0 commit comments

Comments
 (0)