import { defineConfig, loadEnv } from 'vite'; import path from 'node:path'; import react from '@vitejs/plugin-react'; import tailwindcss from '@tailwindcss/vite'; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), 'VITE_'); const proxyTarget = env.VITE_DEV_PROXY_TARGET || 'http://127.0.0.1:8000'; return { plugins: [react(), tailwindcss()], resolve: { alias: { '@': path.resolve(__dirname, './src') }, }, build: { rollupOptions: { output: { // کتابخانه‌ها با هر انتشار عوض نمی‌شوند؛ فایلِ جدا یعنی بعد از هر دیپلوی // از کشِ مرورگر می‌آیند و فقط کدِ خودِ اپ دوباره دانلود می‌شود. manualChunks: { react: ['react', 'react-dom'], motion: ['motion/react'], }, }, }, }, server: { // در توسعه /api هم‌دامنه است و به بک‌اند پاس داده می‌شود؛ CORS لازم نیست. proxy: { '/api': { target: proxyTarget, changeOrigin: true, secure: true }, }, }, }; });