import adapterNode from "@sveltejs/adapter-node"; import adapterDeno from "@deno/svelte-adapter"; import { sveltekit } from "@sveltejs/kit/vite"; import { defineConfig } from "vite"; import process from "node:process"; // The server/container deployment uses adapter-node (run under Deno via // `deno task start`). The `deno desktop` build sets QUANTUM_TARGET=desktop and // uses the Deno Deploy adapter — the only adapter `deno desktop` actually // consumes (adapter-node's output layout it can't resolve). Its generated // static handler has a Windows bug we replace at build time; see // scripts/build-desktop.ts (add-desktop-local-remote-modes). const adapter = process.env.QUANTUM_TARGET === "desktop" ? adapterDeno() : adapterNode(); export default defineConfig({ plugins: [ sveltekit({ compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. runes: ({ filename }) => filename.split(/[/\\]/).includes("node_modules") ? undefined : true, }, adapter, }), ], });