import { defineConfig } from "vite"; import { serviceWorkerPlugin } from "./scripts/service-worker.mjs"; export default defineConfig(({ mode }) => ({ publicDir: mode === "reference" ? "reference/public" : "public", // Only the native player is installable; the reference stays a dev tool. plugins: mode === "reference" ? [] : [serviceWorkerPlugin()], server: { host: "127.0.0.1", // A user ROM may sit at the repository root. Never serve it or extracted // assets and the private PRET checkout as static files. fs: { deny: [ "**/*.{gb,gbc,rom,sav}", "**/*.crystal-save.json", "**/.reference/**", "**/artifacts/**", ".env", ".env.*", "**/.git/**", ], }, }, build: mode === "reference" ? { outDir: "dist-reference", rollupOptions: { input: "reference.html" }, } : { outDir: "dist" }, }));