From f17451e42ae474808d4ed44dc148e4738d7d34c1 Mon Sep 17 00:00:00 2001 From: Elijah Duffy Date: Mon, 1 Sep 2025 17:19:47 -0700 Subject: [PATCH] attempt to optimize vite bundling --- vite.config.ts | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/vite.config.ts b/vite.config.ts index 2d35c4f..e10d0f8 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,5 +3,40 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ - plugins: [tailwindcss(), sveltekit()] + plugins: [tailwindcss(), sveltekit()], + optimizeDeps: { + // Pre-bundle heavy deps to avoid dev slowdowns + include: [ + 'libphonenumber-js', + 'country-state-city', + 'phosphor-svelte', + '@internationalized/date' + ], + // Exclude problematic deps from pre-bundling + exclude: ['moment'] + }, + build: { + rollupOptions: { + output: { + manualChunks(id) { + // Split heavy phone/location libraries + if (id.includes('libphonenumber-js') || id.includes('country-state-city')) { + return 'vendor-phone'; + } + // Split Phosphor icons (likely heavy) + if (id.includes('phosphor-svelte')) { + return 'vendor-icons'; + } + // Split moment if used + if (id.includes('moment')) { + return 'vendor-date'; + } + // Group other vendor libraries + if (id.includes('node_modules')) { + return 'vendor'; + } + } + } + } + } });