40 lines
1019 B
TypeScript
40 lines
1019 B
TypeScript
import { defineConfig, loadEnv } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import path from "path";
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '');
|
|
const tunnelDomain = env.VITE_APP_DOMAIN;
|
|
const proxyTarget = env.VITE_DEV_API_PROXY_TARGET || "http://127.0.0.1:8000";
|
|
const usePolling = String(env.CHOKIDAR_USEPOLLING || "false").toLowerCase() === "true";
|
|
|
|
return {
|
|
plugins: [react()],
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "./src"),
|
|
},
|
|
},
|
|
server: {
|
|
port: 5174,
|
|
allowedHosts: true,
|
|
watch: usePolling ? {
|
|
usePolling: true,
|
|
interval: 150,
|
|
} : undefined,
|
|
hmr: tunnelDomain ? {
|
|
host: tunnelDomain,
|
|
clientPort: 443,
|
|
protocol: 'wss',
|
|
} : undefined,
|
|
proxy: {
|
|
"/api": {
|
|
target: proxyTarget,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, ""),
|
|
},
|
|
},
|
|
},
|
|
};
|
|
});
|