Skip to content

Commit d9c4efb

Browse files
authored
fix: support setups without an SSR environment
When doing a "SPA" that fetches the RSC payload on boot the plugin currently falls over on production builds due to the lack of a configured rollup input.
1 parent aa004d4 commit d9c4efb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

packages/plugin-rsc/src/plugin.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,18 +226,22 @@ export default function vitePluginRsc(
226226
async buildApp(builder) {
227227
isScanBuild = true
228228
builder.environments.rsc!.config.build.write = false
229-
builder.environments.ssr!.config.build.write = false
230229
await builder.build(builder.environments.rsc!)
231-
await builder.build(builder.environments.ssr!)
230+
if (builder.environments.ssr?.config.build.rollupOptions.input) {
231+
builder.environments.ssr!.config.build.write = false
232+
await builder.build(builder.environments.ssr!)
233+
}
232234
isScanBuild = false
233235
builder.environments.rsc!.config.build.write = true
234-
builder.environments.ssr!.config.build.write = true
235236
await builder.build(builder.environments.rsc!)
236237
// sort for stable build
237238
clientReferenceMetaMap = sortObject(clientReferenceMetaMap)
238239
serverResourcesMetaMap = sortObject(serverResourcesMetaMap)
239240
await builder.build(builder.environments.client!)
240-
await builder.build(builder.environments.ssr!)
241+
if (builder.environments.ssr?.config.build.rollupOptions.input) {
242+
builder.environments.ssr!.config.build.write = true
243+
await builder.build(builder.environments.ssr!)
244+
}
241245
},
242246
},
243247
}

0 commit comments

Comments
 (0)