import react from "@vitejs/plugin-react"; import { VitePWA } from "vite-plugin-pwa"; import { visualizer } from "rollup-plugin-visualizer"; import { defineConfig } from "vite"; import { vitePluginVersionMark } from "vite-plugin-version-mark"; import appConfig from "config"; export default defineConfig({ plugins: [ react(), VitePWA({ strategies: "injectManifest", srcDir: "src", filename: "service-worker.ts", devOptions: { enabled: true, type: "module", }, }), visualizer({ open: true, gzipSize: true, filename: "build/stats.html", }), vitePluginVersionMark({ name: "snort", ifGitSHA: true, command: "git describe --always --tags", }), ], assetsInclude: ["**/*.md", "**/*.wasm"], build: { outDir: "build", }, clearScreen: false, publicDir: appConfig.get("publicDir"), resolve: { alias: { "@": "/src", }, }, define: { CONFIG: JSON.stringify(appConfig), global: {}, // needed for custom-event lib SINGLE_RELAY: JSON.stringify(process.env.SINGLE_RELAY), }, test: { globals: true, environment: "jsdom", }, });