import { defineConfig, loadEnv } from 'vite' import react from '@vitejs/plugin-react' import tailwindcss from '@tailwindcss/vite' import path from 'path' // https://vite.dev/config/ export default defineConfig(({ mode }) => { const env = loadEnv(mode, __dirname, '') const appwriteDevOrigin = (env.APPWRITE_DEV_ORIGIN || '').replace(/\/$/, '') // 127.0.0.1 avoids Windows localhost → IPv6 (::1) vs backend listening on IPv4-only const apiDevTarget = (env.VITE_DEV_API_ORIGIN || 'http://127.0.0.1:3000').replace( /\/$/, '' ) const proxy: Record< string, { target: string; changeOrigin: boolean; secure?: boolean } > = { '/api': { target: apiDevTarget, changeOrigin: true, }, '/stripe': { target: apiDevTarget, changeOrigin: true, }, } // Dev: Browser → localhost:5173/v1/* → Appwrite (umgeht CORS, wenn die Console nur z. B. webklar.com erlaubt) if (mode === 'development' && appwriteDevOrigin) { proxy['/v1'] = { target: appwriteDevOrigin, changeOrigin: true, secure: true, } } return { plugins: [react(), tailwindcss()], resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, server: { port: 5173, // Wenn 5173 schon belegt ist, nicht still auf einen anderen Port wechseln — sonst öffnet man oft noch die alte URL und bekommt für /api 404. strictPort: true, proxy, }, } })