From 653a48cda62de6a63f038822c466bdb93d56449b Mon Sep 17 00:00:00 2001 From: Senao <48955231+XiSenao@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:34:31 +0800 Subject: [PATCH] fix: resolvedUrls is null in plugin's configureServer after server restart (#15450) --- packages/vite/src/node/server/index.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 2b065479f0b140..c09864ac0a6f47 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -626,6 +626,17 @@ export async function _createServer( _shortcutsOptions: undefined, } + // maintain consistency with the server instance after restarting. + const reflexServer = new Proxy(server, { + get: (_, property: keyof ViteDevServer) => { + return server[property] + }, + set: (_, property: keyof ViteDevServer, value: never) => { + server[property] = value + return true + }, + }) + if (!middlewareMode) { exitProcess = async () => { try { @@ -717,7 +728,7 @@ export async function _createServer( // apply server configuration hooks from plugins const postHooks: ((() => void) | void)[] = [] for (const hook of config.getSortedPluginHooks('configureServer')) { - postHooks.push(await hook(server)) + postHooks.push(await hook(reflexServer)) } // Internal middlewares ------------------------------------------------------