Yaltopia-Ticket-Admin/vite.config.ts
2026-04-15 10:22:09 +03:00

62 lines
1.5 KiB
TypeScript

import { defineConfig, loadEnv } from "vite"
import react from "@vitejs/plugin-react"
import path from "node:path"
// https://vite.dev/config/
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), "")
const useApiProxy = env.VITE_USE_API_PROXY === "true"
const proxyTarget =
env.VITE_PROXY_TARGET ||
env.VITE_BACKEND_API_URL ||
"http://localhost:3001"
return {
plugins: [react()],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
build: {
sourcemap: false,
rollupOptions: {
output: {
manualChunks: {
"react-vendor": ["react", "react-dom", "react-router-dom"],
"ui-vendor": [
"@radix-ui/react-avatar",
"@radix-ui/react-dialog",
"@radix-ui/react-dropdown-menu",
"@radix-ui/react-select",
],
"chart-vendor": ["recharts"],
"query-vendor": ["@tanstack/react-query"],
},
},
},
chunkSizeWarningLimit: 1000,
},
server: {
port: 5173,
strictPort: false,
host: true,
...(useApiProxy && {
proxy: {
"/api": {
target: proxyTarget.replace(/\/$/, ""),
changeOrigin: true,
secure: true,
rewrite: (p) => p.replace(/^\/api/, "") || "/",
},
},
}),
},
preview: {
port: 4173,
strictPort: false,
host: true,
},
}
})