import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import path from 'path' import compression from 'vite-plugin-compression' export default defineConfig({ plugins: [ react(), compression({ algorithm: 'gzip', ext: '.gz', }), ], resolve: { alias: { '@': path.resolve(__dirname, './src'), '@components': path.resolve(__dirname, './src/components'), '@assets': path.resolve(__dirname, './src/assets'), }, }, server: { host: '0.0.0.0', port: 5173, open: true, cors: { origin: '*', credentials: true, } }, build: { rollupOptions: { output: { manualChunks: { vendor: [/node_modules/], 'service-page': [ './src/components/ServicePage/components/ServiceButton', './src/components/ServicePage/components/ContentArea', './src/components/ServicePage/components/MobileMenu', './src/components/ServicePage/services-data' ], 'main': [/src\/(?!components\/ServicePage)/] }, }, }, sourcemap: process.env.NODE_ENV === 'development', minify: 'esbuild', modulePreload: { polyfill: true, resolveDependencies: (filename, deps) => { if (filename.includes('ServicePage')) { return [...deps] } return deps } } }, })