import path from 'node:path'; import react from '@vitejs/plugin-react'; import { defineConfig, loadEnv } from 'vite'; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd()); return { build: { rollupOptions: { output: { manualChunks: { reactIcons: ['react-icons/fi', 'react-icons/fa', 'react-icons/wi'], reactIconsSi: ['react-icons/si'], reactIconsFa6: ['react-icons/fa6'], reactIconsVsc: ['react-icons/vsc'], mantine: ['@mantine/core', '@mantine/form', '@mantine/hooks', '@mantine/notifications'], tanstack: [ '@tanstack/react-query', '@tanstack/react-query-devtools', '@tanstack/react-query-persist-client', ], recharts: ['recharts'], utils: ['@hello-pangea/dnd', 'jotai'], }, }, }, }, plugins: [react()], server: { port: 3000, host: '0.0.0.0', proxy: { '/api': { target: `${env.VITE_DOMAIN_DEV}/${env.VITE_BASE_URL}`, changeOrigin: false, secure: false, }, }, }, preview: { port: 3000, host: '0.0.0.0', proxy: { api: { target: `${env.VITE_DOMAIN_DEV}`, changeOrigin: false, secure: false, }, }, }, resolve: { alias: { components: path.resolve(__dirname, './src/components'), hooks: path.resolve(__dirname, './src/hooks'), pages: path.resolve(__dirname, './src/pages'), styles: path.resolve(__dirname, './src/styles'), types: path.resolve(__dirname, './src/types'), contexts: path.resolve(__dirname, './src/contexts'), }, }, }; });