import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; import { VitePWA } from "vite-plugin-pwa"; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), "") const apiPort = Number(env.VITE_API_PORT) || 3300 return { plugins: [ vue(), VitePWA({ strategies: "injectManifest", srcDir: "./src/lib", filename: "sw.ts", injectRegister: "inline", manifest: false, injectManifest: { globPatterns: ["**/*.{js,css,html,ico,png,svg}"], }, devOptions: { enabled: true, type: "module", }, }), ], server: { hmr: { clientPort: 5173, protocol: "ws", }, proxy: { "/api": { target: `http://localhost:${apiPort}`, changeOrigin: true, }, "/manifest.json": { target: `http://localhost:${apiPort}`, changeOrigin: true, }, }, }, resolve: { alias: { "@": path.resolve(__dirname, "src"), }, }, } })