diff --git a/.changeset/fresh-eyes-bet.md b/.changeset/fresh-eyes-bet.md new file mode 100644 index 000000000..9c43bd2dc --- /dev/null +++ b/.changeset/fresh-eyes-bet.md @@ -0,0 +1,5 @@ +--- +"@solidjs/vite-plugin-nitro-2": minor +--- + +fix edge presets like netlify and cloudflare diff --git a/packages/start-nitro-v2-vite-plugin/src/index.ts b/packages/start-nitro-v2-vite-plugin/src/index.ts index 03d1934bb..55da38221 100644 --- a/packages/start-nitro-v2-vite-plugin/src/index.ts +++ b/packages/start-nitro-v2-vite-plugin/src/index.ts @@ -84,6 +84,13 @@ export function nitroV2Plugin(nitroConfig?: UserNitroConfig): PluginOption { }, ...nitroConfig, dev: false, + routeRules: { + "/_build/assets/**": { + headers: { + "cache-control": "public, immutable, max-age=31536000", + }, + }, + }, publicAssets: [ { dir: client.config.build.outDir, @@ -116,14 +123,19 @@ export function nitroV2Plugin(nitroConfig?: UserNitroConfig): PluginOption { }; }, }, - nitroConfig?.preset === "netlify" && { - name: "solid-start-nitro-netlify-fix", + { + name: "solid-start-nitro-edge-fix", enforce: "post", - config() { + async config() { + await fsp.rm(".solid-start", { recursive: true, force: true }); return { environments: { client: { build: { outDir: ".solid-start/client" } }, - ssr: { build: { outDir: ".solid-start/server" } }, + ssr: { + build: nitroConfig?.preset?.toLowerCase().includes("static") + ? undefined + : { outDir: ".solid-start/server" }, + }, }, }; },