diff --git a/.changeset/calm-preview-owners.md b/.changeset/calm-preview-owners.md new file mode 100644 index 000000000..43c185d7c --- /dev/null +++ b/.changeset/calm-preview-owners.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +Delegate `vite preview` to Nitro when its preview plugin is active, including for static builds that intentionally have no server entry. diff --git a/packages/start/src/config/dev-server.ts b/packages/start/src/config/dev-server.ts index 3a5ac418a..93998f807 100644 --- a/packages/start/src/config/dev-server.ts +++ b/packages/start/src/config/dev-server.ts @@ -15,6 +15,10 @@ export function devServer(serverEntryPath: string): Array { { name: "solid-start-dev-server", configurePreviewServer(server) { + // Nitro's preview hook handles both server and static builds. + // Static builds have no server entry, so detect the active plugin instead. + if (server.config.plugins.some(plugin => plugin.name === "nitro:preview")) return; + const serverEntryUrl = pathToFileURL(resolvePreviewServerEntry(server.config.root)).href; return () => {