59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
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'],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|