Skip to content

Commit a4d9c98

Browse files
committed
feat(rsc): support non global dev runner
1 parent 4b2768f commit a4d9c98

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

packages/plugin-rsc/src/plugin.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ export type RscPluginOptions = {
135135
/** @default false */
136136
loadModuleDevProxy?: boolean
137137

138+
/** @default false */
139+
loadModuleDevRunner?: string
140+
138141
rscCssTransform?: false | { filter?: (id: string) => boolean }
139142

140143
/**
@@ -729,10 +732,10 @@ export default function vitePluginRsc(
729732
const source = getEntrySource(environment.config, entryName)
730733
const resolved = await environment.pluginContainer.resolveId(source)
731734
assert(resolved, `[vite-rsc] failed to resolve entry '${source}'`)
732-
replacement =
733-
`globalThis.__viteRscDevServer.environments[${JSON.stringify(
734-
environmentName,
735-
)}]` + `.runner.import(${JSON.stringify(resolved.id)})`
735+
let runnerCode =
736+
rscPluginOptions.loadModuleDevRunner ??
737+
`globalThis.__viteRscDevServer.environments.${environmentName}.runner`
738+
replacement = runnerCode + `.import(${JSON.stringify(resolved.id)})`
736739
} else {
737740
replacement = JSON.stringify(
738741
`__vite_rsc_load_module:${this.environment.name}:${environmentName}:${entryName}`,

0 commit comments

Comments
 (0)