restartServer() — vite Function Reference
Architecture documentation for the restartServer() function in index.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD e12a7f9f_5bba_d2ce_ea02_83d281750727["restartServer()"] a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|defined in| a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e 24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"] 24ecf2a1_3c09_d451_76f3_9485b4e993f8 -->|calls| e12a7f9f_5bba_d2ce_ea02_83d281750727 657661b0_3b17_9113_8464_fda5dfafd706["mergeConfig()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 657661b0_3b17_9113_8464_fda5dfafd706 24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 24ecf2a1_3c09_d451_76f3_9485b4e993f8 0edbbec3_6066_80b2_5f47_367d86a7705f["listen()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 0edbbec3_6066_80b2_5f47_367d86a7705f bb1ed403_9d6f_40ac_2626_a66dcdc3a0cb["bindCLIShortcuts()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| bb1ed403_9d6f_40ac_2626_a66dcdc3a0cb 8127cae8_510b_1333_1a76_2d21b503c3a6["error()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 8127cae8_510b_1333_1a76_2d21b503c3a6 7e22b0a1_210d_c2ca_9a20_17eec3acb06f["info()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 7e22b0a1_210d_c2ca_9a20_17eec3acb06f 588e66be_7e6f_859a_bcf2_ecb0b6773d83["close()"] e12a7f9f_5bba_d2ce_ea02_83d281750727 -->|calls| 588e66be_7e6f_859a_bcf2_ecb0b6773d83 style e12a7f9f_5bba_d2ce_ea02_83d281750727 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/server/index.ts lines 1229–1305
async function restartServer(server: ViteDevServer) {
global.__vite_start_time = performance.now()
let inlineConfig = server.config.inlineConfig
if (server._forceOptimizeOnRestart) {
inlineConfig = mergeConfig(inlineConfig, {
forceOptimizeDeps: true,
})
}
// Reinit the server by creating a new instance using the same inlineConfig
// This will trigger a reload of the config file and re-create the plugins and
// middlewares. We then assign all properties of the new server to the existing
// server instance and set the user instance to be used in the new server.
// This allows us to keep the same server instance for the user.
{
let newServer: ViteDevServer | null = null
try {
// delay ws server listen
newServer = await _createServer(inlineConfig, {
listen: false,
previousEnvironments: server.environments,
previousShortcutsState: server._shortcutsState,
})
} catch (err: any) {
server.config.logger.error(err.message, {
timestamp: true,
})
server.config.logger.error('server restart failed', { timestamp: true })
return
}
// Detach readline so close handler skips it. Reused to avoid stdin issues
server._shortcutsState = undefined
await server.close()
// Assign new server props to existing server instance
const middlewares = server.middlewares
newServer._configServerPort = server._configServerPort
newServer._currentServerPort = server._currentServerPort
Object.assign(server, newServer)
// Keep the same connect instance so app.use(vite.middlewares) works
// after a restart in middlewareMode (.route is always '/')
middlewares.stack = newServer.middlewares.stack
server.middlewares = middlewares
// Rebind internal server variable so functions reference the user server
newServer._setInternalServer(server)
}
const {
logger,
server: { port, middlewareMode },
} = server.config
if (!middlewareMode) {
await server.listen(port, true)
} else {
await Promise.all(
Object.values(server.environments).map((e) => e.listen(server)),
)
}
logger.info('server restarted.', { timestamp: true })
if (
(server._shortcutsState as ShortcutsState<ViteDevServer> | undefined)
?.options
) {
bindCLIShortcuts(
server,
{ print: false },
// Skip environment checks since shortcuts were bound before restart
true,
)
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does restartServer() do?
restartServer() is a function in the vite codebase, defined in packages/vite/src/node/server/index.ts.
Where is restartServer() defined?
restartServer() is defined in packages/vite/src/node/server/index.ts at line 1229.
What does restartServer() call?
restartServer() calls 7 function(s): _createServer, bindCLIShortcuts, close, error, info, listen, mergeConfig.
What calls restartServer()?
restartServer() is called by 1 function(s): _createServer.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free