Skip to content

Commit 1cfb1a7

Browse files
committed
fix(core)!: respect vite https config only for embedded client
1 parent fc6846d commit 1cfb1a7

4 files changed

Lines changed: 25 additions & 8 deletions

File tree

packages/core/src/client/standalone/vite.config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ export default defineConfig({
2424
: viteDevServer.config.server.host || 'localhost'
2525
const { middleware } = await createDevToolsMiddleware({
2626
cwd: viteDevServer.config.root,
27-
hostWebSocket: host,
27+
websocket: {
28+
host,
29+
https: false,
30+
},
2831
context,
2932
})
3033
viteDevServer.middlewares.use(DEVTOOLS_MOUNT_PATH_NO_TRAILING_SLASH, middleware)

packages/core/src/node/cli-commands.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ export async function start(options: StartOptions) {
3333
})
3434
const { h3 } = await createDevToolsMiddleware({
3535
cwd: devtools.config.root,
36-
hostWebSocket: host,
36+
websocket: {
37+
host,
38+
https: false,
39+
},
3740
context: devtools.context,
3841
})
3942

packages/core/src/node/plugins/server.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export function DevToolsServer(): Plugin {
4949

5050
const { middleware } = await createDevToolsMiddleware({
5151
cwd: viteDevServer.config.root,
52-
hostWebSocket: host,
52+
websocket: {
53+
host,
54+
},
5355
context,
5456
})
5557
viteDevServer.middlewares.use(DEVTOOLS_MOUNT_PATH, middleware)

packages/core/src/node/ws.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,28 @@ const debugInvoked = createDebug('vite:devtools:rpc:invoked')
1616

1717
export interface CreateWsServerOptions {
1818
cwd: string
19-
portWebSocket?: number
20-
hostWebSocket: string
19+
websocket: {
20+
port?: number
21+
host: string
22+
https?: DevToolsNodeContext['viteConfig']['server']['https'] | false
23+
}
2124
base?: string
2225
context: DevToolsNodeContext
2326
}
2427

2528
const ANONYMOUS_SCOPE = 'vite:anonymous:'
2629

30+
export function resolveWebSocketHttps(options: CreateWsServerOptions): DevToolsNodeContext['viteConfig']['server']['https'] | undefined {
31+
return options.websocket.https === false
32+
? undefined
33+
: (options.websocket.https ?? options.context.viteConfig.server.https)
34+
}
35+
2736
export async function createWsServer(options: CreateWsServerOptions) {
2837
const rpcHost = options.context.rpc as unknown as RpcFunctionsHost
29-
const host = options.hostWebSocket ?? 'localhost'
30-
const https = options.context.viteConfig.server.https
31-
const port = options.portWebSocket ?? await getPort({ port: 7812, host, random: true })!
38+
const host = options.websocket.host
39+
const https = resolveWebSocketHttps(options)
40+
const port = options.websocket.port ?? await getPort({ port: 7812, host, random: true })!
3241

3342
const wsClients = new Set<WebSocket>()
3443

0 commit comments

Comments
 (0)