import tailwindcss from '@tailwindcss/vite'; import vue from '@vitejs/plugin-vue'; import laravel from 'laravel-vite-plugin'; import viteCompression from 'vite-plugin-compression'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ laravel({ input: ['resources/js/app.ts'], ssr: 'resources/js/ssr.ts', refresh: true, }), tailwindcss(), vue({ template: { transformAssetUrls: { base: null, includeAbsolute: false, }, }, }), viteCompression({ algorithm: 'brotliCompress', ext: '.br' }), viteCompression({ algorithm: 'gzip', ext: '.gz' }), ], server: { warmup: { clientFiles: [ './resources/js/app.ts', './resources/js/layouts/user/userlayout.vue', './resources/js/pages/Dashboard.vue', './resources/js/components/chat/GlobalChat.vue', ], }, }, optimizeDeps: { include: [ 'vue', '@inertiajs/vue3', '@vueuse/core', 'axios', 'chart.js', 'reka-ui', ], }, build: { chunkSizeWarningLimit: 600, rollupOptions: { output: { manualChunks: { 'vendor-vue': ['vue', '@inertiajs/vue3'], 'vendor-ui': ['reka-ui', '@vueuse/core'], 'vendor-charts': ['chart.js'], }, }, }, }, });