From 7c7056536ece8d5548362ac35aab817bcd131928 Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Sat, 18 Apr 2026 13:46:30 +0000 Subject: [PATCH] feat: enable chunk splitting --- frontend/vite.config.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/frontend/vite.config.js b/frontend/vite.config.js index b8eb729..17fef25 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -51,10 +51,44 @@ export default defineConfig({ manifest: 'manifest.json', emptyOutDir: true, target: 'es2017', + chunkSizeWarningLimit: 800, rollupOptions: { input: rollupInputs, output: { chunkFileNames: undefined, + manualChunks(id) { + if (!id.includes('node_modules')) { + return; + } + + if (id.includes('/chart.js/') || id.includes('/chartjs-chart-sankey/')) { + return 'vendor-chart'; + } + + if (id.includes('/mathjs/')) { + return 'vendor-math'; + } + + if ( + id.includes('/alpinejs/') || + id.includes('/@alpinejs/') || + id.includes('/htmx.org/') || + id.includes('/hyperscript.org/') + ) { + return 'vendor-interaction'; + } + + if ( + id.includes('/bootstrap/') || + id.includes('/@popperjs/') || + id.includes('/sweetalert2/') || + id.includes('/tippy.js/') || + id.includes('/tom-select/') || + id.includes('/air-datepicker/') + ) { + return 'vendor-ui'; + } + }, }, }, },