From 8bbda66a61494b572661e48fa63f89b079672a62 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 25 Nov 2025 11:03:21 +0900 Subject: [PATCH] feat(rsc): specify url for `loadModuleDevProxy` --- packages/plugin-rsc/src/plugin.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/plugin-rsc/src/plugin.ts b/packages/plugin-rsc/src/plugin.ts index 4851bbab..fce36951 100644 --- a/packages/plugin-rsc/src/plugin.ts +++ b/packages/plugin-rsc/src/plugin.ts @@ -134,7 +134,11 @@ export type RscPluginOptions = { | false /** @default false */ - loadModuleDevProxy?: boolean + loadModuleDevProxy?: + | boolean + | { + url: string + } rscCssTransform?: false | { filter?: (id: string) => boolean } @@ -728,10 +732,16 @@ export default function vitePluginRsc( this.environment.mode === 'dev' && rscPluginOptions.loadModuleDevProxy ) { - const origin = server.resolvedUrls?.local[0] - assert(origin, '[vite-rsc] no server for loadModueleDevProxy') + let baseUrl: string + if (typeof rscPluginOptions.loadModuleDevProxy === 'object') { + baseUrl = rscPluginOptions.loadModuleDevProxy.url + } else { + const origin = server.resolvedUrls?.local[0] + assert(origin, '[vite-rsc] no server for loadModueleDevProxy') + baseUrl = origin + } const endpoint = - origin + + baseUrl + '__vite_rsc_load_module_dev_proxy?' + new URLSearchParams({ environmentName, entryName }) replacement = `__vite_rsc_rpc.createRpcClient(${JSON.stringify({