diff --git a/.changeset/brown-mice-train.md b/.changeset/brown-mice-train.md new file mode 100644 index 000000000..ea07ec1ab --- /dev/null +++ b/.changeset/brown-mice-train.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +Fix URL to path conversion in manifest resolver diff --git a/packages/start/src/config/manifest.ts b/packages/start/src/config/manifest.ts index d10d9c503..e8c942fb2 100644 --- a/packages/start/src/config/manifest.ts +++ b/packages/start/src/config/manifest.ts @@ -1,6 +1,7 @@ import fs from "node:fs"; import path from "node:path"; import { type PluginOption, type ViteDevServer, version as viteVersion } from "vite"; +import { fileURLToPath } from "node:url"; import { findStylesInModuleGraph } from "../server/collect-styles.ts"; import { VIRTUAL_MODULES } from "./constants.ts"; @@ -20,12 +21,16 @@ export function manifest(start: SolidStartOptions): PluginOption { return `\0${VIRTUAL_MODULES.clientViteManifest}`; if (id === VIRTUAL_MODULES.getClientManifest) return this.resolve( - new URL("../server/manifest/client-manifest", import.meta.url).pathname, + fileURLToPath(new URL("../server/manifest/client-manifest", import.meta.url)), ); if (id === VIRTUAL_MODULES.getManifest) { return this.environment.config.consumer === "client" - ? this.resolve(new URL("../server/manifest/client-manifest", import.meta.url).pathname) - : this.resolve(new URL("../server/manifest/ssr-manifest", import.meta.url).pathname); + ? this.resolve( + fileURLToPath(new URL("../server/manifest/client-manifest", import.meta.url)), + ) + : this.resolve( + fileURLToPath(new URL("../server/manifest/ssr-manifest", import.meta.url)), + ); } if (id === VIRTUAL_MODULES.middleware) { if (start.middleware) return await this.resolve(start.middleware);