import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import path from "path"; import { readFileSync } from "fs"; import runtimeErrorOverlay from "@replit/vite-plugin-runtime-error-modal"; import { fileURLToPath } from "url"; import { VitePWA } from 'vite-plugin-pwa'; // Read package.json to get the version const packageJson = JSON.parse(readFileSync(path.resolve(process.cwd(), "package.json"), "utf-8")); export default defineConfig({ define: { __APP_VERSION__: JSON.stringify(packageJson.version), }, plugins: [ react(), // VitePWA({...}), runtimeErrorOverlay(), ...(process.env.NODE_ENV !== "production" && process.env.REPL_ID !== undefined ? [ await import("@replit/vite-plugin-cartographer").then((m) => m.cartographer(), ), ] : []), ], resolve: { alias: { "@": path.resolve(process.cwd(), "client", "src"), "@shared": path.resolve(process.cwd(), "shared"), "@assets": path.resolve(process.cwd(), "attached_assets"), }, }, root: path.resolve(process.cwd(), "client"), base: process.env.VITE_BASE_PATH || "/", build: { outDir: path.resolve(process.cwd(), "dist/public"), emptyOutDir: true, }, server: { host: "0.0.0.0", hmr: process.env.HMR_PORT ? { clientPort: parseInt(process.env.HMR_PORT) } : undefined, fs: { strict: true, deny: ["**/.*"], }, }, });