File tree 2 files changed +8
-5
lines changed
packages/vite/src/node/server
2 files changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import { CLIENT_DIR } from '../constants'
9
9
import { RollupError } from 'rollup'
10
10
import { prepareError } from './middlewares/error'
11
11
import match from 'minimatch'
12
+ import { Server } from 'http'
12
13
13
14
export const debugHmr = createDebugger ( 'vite:hmr' )
14
15
@@ -21,6 +22,7 @@ export interface HmrOptions {
21
22
path ?: string
22
23
timeout ?: number
23
24
overlay ?: boolean
25
+ server ?: Server
24
26
}
25
27
26
28
export interface HmrContext {
Original file line number Diff line number Diff line change @@ -17,9 +17,12 @@ export function createWebSocketServer(
17
17
) : WebSocketServer {
18
18
let wss : WebSocket . Server
19
19
20
- if ( server ) {
20
+ const hmr = typeof config . server . hmr === 'object' && config . server . hmr
21
+ const wsServer = ( hmr && hmr . server ) || server
22
+
23
+ if ( wsServer ) {
21
24
wss = new WebSocket . Server ( { noServer : true } )
22
- server . on ( 'upgrade' , ( req , socket , head ) => {
25
+ wsServer . on ( 'upgrade' , ( req , socket , head ) => {
23
26
if ( req . headers [ 'sec-websocket-protocol' ] === HMR_HEADER ) {
24
27
wss . handleUpgrade ( req , socket , head , ( ws ) => {
25
28
wss . emit ( 'connection' , ws , req )
@@ -29,9 +32,7 @@ export function createWebSocketServer(
29
32
} else {
30
33
// vite dev server in middleware mode
31
34
wss = new WebSocket . Server ( {
32
- port :
33
- ( typeof config . server . hmr === 'object' && config . server . hmr . port ) ||
34
- 24678
35
+ port : ( hmr && hmr . port ) || 24678
35
36
} )
36
37
}
37
38
You can’t perform that action at this time.
0 commit comments