@@ -728,18 +728,7 @@ export default function vitePluginRsc(
728728 this . environment . mode === 'dev' &&
729729 rscPluginOptions . loadModuleDevProxy
730730 ) {
731- const origin = server . resolvedUrls ?. local [ 0 ]
732- assert ( origin , '[vite-rsc] no server for loadModueleDevProxy' )
733- const endpoint =
734- origin +
735- '__vite_rsc_load_module_dev_proxy?' +
736- new URLSearchParams ( { environmentName, entryName } )
737- replacement = `__vite_rsc_rpc.createRpcClient(${ JSON . stringify ( {
738- endpoint,
739- } ) } )`
740- s . prepend (
741- `import * as __vite_rsc_rpc from "@vitejs/plugin-rsc/utils/rpc";` ,
742- )
731+ replacement = `import("virtual:vite-rsc/rpc-client").then((module) => module.createRpcClient(${ JSON . stringify ( { environmentName, entryName } ) } ))`
743732 } else if ( this . environment . mode === 'dev' ) {
744733 const environment = server . environments [ environmentName ] !
745734 const source = getEntrySource ( environment . config , entryName )
@@ -851,6 +840,32 @@ export default function vitePluginRsc(
851840 } )
852841 } ,
853842 } ,
843+ {
844+ name : 'rsc:virtual:vite-rsc/rpc-client' ,
845+ resolveId ( source ) {
846+ if ( source === 'virtual:vite-rsc/rpc-client' ) {
847+ return `\0${ source } `
848+ }
849+ } ,
850+ load ( id ) {
851+ if ( id === '\0virtual:vite-rsc/rpc-client' ) {
852+ const { server } = manager
853+ const origin = server . resolvedUrls ?. local [ 0 ]
854+ assert ( origin , '[vite-rsc] no server for loadModuleDevProxy' )
855+
856+ return `\
857+ import * as __vite_rsc_rpc from "@vitejs/plugin-rsc/utils/rpc";
858+ export function createRpcClient(params) {
859+ const endpoint =
860+ "${ origin } " +
861+ "__vite_rsc_load_module_dev_proxy?" +
862+ new URLSearchParams(params);
863+ return __vite_rsc_rpc.createRpcClient({ endpoint });
864+ }
865+ `
866+ }
867+ } ,
868+ } ,
854869 {
855870 name : 'rsc:virtual:vite-rsc/assets-manifest' ,
856871 resolveId ( source ) {
0 commit comments