From b6ca41b1dd4253ef3c3776d1c467475cf9730e60 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 20 Mar 2024 09:35:23 +0100 Subject: [PATCH] fix(dev): prepend `baseURL` for vite hmr ws upgrade (#370) --- src/utils/dev.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/utils/dev.ts b/src/utils/dev.ts index 3861b9a2..3f5abb70 100644 --- a/src/utils/dev.ts +++ b/src/utils/dev.ts @@ -5,6 +5,7 @@ import chokidar from 'chokidar' import { consola } from 'consola' import { debounce } from 'perfect-debounce' import { toNodeListener } from 'h3' +import { joinURL } from 'ufo' import { HTTPSOptions, ListenURL, @@ -244,14 +245,16 @@ class NuxtDevServer extends EventEmitter { this.listener.server.on( 'upgrade', async (req: any, socket: any, head: any) => { - if ( - req.url.startsWith( - this._currentNuxt?.options.app.buildAssetsDir /* /_nuxt/ */, - ) - ) { + const nuxt = this._currentNuxt + if (!nuxt) return + const viteHmrPath = joinURL( + nuxt.options.app.baseURL, + nuxt.options.app.buildAssetsDir, + ) + if (req.url.startsWith(viteHmrPath)) { return // Skip for Vite HMR } - await this._currentNuxt?.server.upgrade(req, socket, head) + await nuxt.server.upgrade(req, socket, head) }, ) }