transport() — vite Function Reference
Architecture documentation for the transport() function in client.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 7dcdb86c_d822_bbd2_a092_4494c22c6bea["transport()"] 85908ff5_4d12_826d_8235_531f91538758["client.ts"] 7dcdb86c_d822_bbd2_a092_4494c22c6bea -->|defined in| 85908ff5_4d12_826d_8235_531f91538758 0dc29000_7d3b_f918_1785_133ec8e42b03["createWebSocketModuleRunnerTransport()"] 7dcdb86c_d822_bbd2_a092_4494c22c6bea -->|calls| 0dc29000_7d3b_f918_1785_133ec8e42b03 35fc37bd_c261_5995_72bc_7f84d707de44["send()"] 7dcdb86c_d822_bbd2_a092_4494c22c6bea -->|calls| 35fc37bd_c261_5995_72bc_7f84d707de44 style 7dcdb86c_d822_bbd2_a092_4494c22c6bea fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/client/client.ts lines 48–109
(() => {
let wsTransport = createWebSocketModuleRunnerTransport({
createConnection: () =>
new WebSocket(
`${socketProtocol}://${socketHost}?token=${wsToken}`,
'vite-hmr',
),
pingInterval: hmrTimeout,
})
return {
async connect(handlers) {
try {
await wsTransport.connect(handlers)
} catch (e) {
// only use fallback when port is inferred and was not connected before to prevent confusion
if (!hmrPort) {
wsTransport = createWebSocketModuleRunnerTransport({
createConnection: () =>
new WebSocket(
`${socketProtocol}://${directSocketHost}?token=${wsToken}`,
'vite-hmr',
),
pingInterval: hmrTimeout,
})
try {
await wsTransport.connect(handlers)
console.info(
'[vite] Direct websocket connection fallback. Check out https://vite.dev/config/server-options.html#server-hmr to remove the previous connection error.',
)
} catch (e) {
if (
e instanceof Error &&
e.message.includes('WebSocket closed without opened.')
) {
const currentScriptHostURL = new URL(import.meta.url)
const currentScriptHost =
currentScriptHostURL.host +
currentScriptHostURL.pathname.replace(/@vite\/client$/, '')
console.error(
'[vite] failed to connect to websocket.\n' +
'your current setup:\n' +
` (browser) ${currentScriptHost} <--[HTTP]--> ${serverHost} (server)\n` +
` (browser) ${socketHost} <--[WebSocket (failing)]--> ${directSocketHost} (server)\n` +
'Check out your Vite / network configuration and https://vite.dev/config/server-options.html#server-hmr .',
)
}
}
return
}
console.error(`[vite] failed to connect to websocket (${e}). `)
throw e
}
},
async disconnect() {
await wsTransport.disconnect()
},
send(data) {
wsTransport.send(data)
},
}
})(),
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does transport() do?
transport() is a function in the vite codebase, defined in packages/vite/src/client/client.ts.
Where is transport() defined?
transport() is defined in packages/vite/src/client/client.ts at line 48.
What does transport() call?
transport() calls 2 function(s): createWebSocketModuleRunnerTransport, send.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free