import { defineConfig } from 'vite' import path from 'path' import tailwindcss from '@tailwindcss/vite' import react from '@vitejs/plugin-react' function figmaAssetResolver() { return { name: 'figma-asset-resolver', resolveId(id) { if (id.startsWith('figma:asset/')) { const filename = id.replace('figma:asset/', '') return path.resolve(__dirname, 'src/assets', filename) } }, } } export default defineConfig({ plugins: [ figmaAssetResolver(), // The React and Tailwind plugins are both required for Make, even if // Tailwind is not being actively used – do not remove them react(), tailwindcss(), ], resolve: { alias: { // Alias @ to the src directory '@': path.resolve(__dirname, './src'), }, }, // در حالتِ توسعه، هر درخواستِ /api به بک‌اند فرستاده می‌شود. // // چرا لازم است: کدِ اپ مسیرهای نسبی صدا می‌زند (مثلاً /api/auth/login). بدونِ // این پروکسی، آن درخواست به خودِ سرورِ vite می‌رود و چون مسیرِ ناشناخته است // index.html برمی‌گردد — یعنی پاسخِ ۲۰۰ ولی HTML، و کد موقعِ res.json() با // «Unexpected token '<'» می‌شکند. خطایی که علتش از پیامش معلوم نیست. // // مقصد را با VITE_API_PROXY_TARGET عوض کنید (پیش‌فرض: بک‌اندِ مشترک). server: { proxy: { '/api': { target: process.env.VITE_API_PROXY_TARGET || 'https://api.math.tadrisino2.ir', changeOrigin: true, secure: true, }, }, }, // File types to support raw imports. Never add .css, .tsx, or .ts files to this. assetsInclude: ['**/*.svg', '**/*.csv'], })