From 2c126f5e12d51beff6e21280b423b1851f93a0ac Mon Sep 17 00:00:00 2001 From: c0mrade Date: Mon, 9 Feb 2026 11:40:06 +0300 Subject: [PATCH] perf: extract locales into separate chunk Move locale JSON files into a dedicated 'locales' chunk to reduce the main index bundle from ~565 KB to ~186 KB. --- vite.config.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vite.config.ts b/vite.config.ts index 3c5012f..bb06fc4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -36,6 +36,7 @@ export default defineConfig({ rollupOptions: { output: { manualChunks(id) { + if (id.includes('/src/locales/')) return 'locales'; if (!id.includes('node_modules')) return; if ( id.includes('react-dom') || @@ -44,13 +45,17 @@ export default defineConfig({ ) return 'vendor-react'; if (id.includes('@tanstack/react-query')) return 'vendor-query'; + if (id.includes('@tanstack/react-table')) return 'vendor-table'; if (id.includes('i18next') || id.includes('react-i18next')) return 'vendor-i18n'; if (id.includes('framer-motion')) return 'vendor-motion'; - if (id.includes('@radix-ui/')) return 'vendor-radix'; + if (id.includes('@radix-ui/') || id.includes('@floating-ui/')) return 'vendor-radix'; if (id.includes('@dnd-kit/')) return 'vendor-dnd'; - if (id.includes('@telegram-apps/')) return 'vendor-telegram'; + if (id.includes('@telegram-apps/') || id.includes('/@tma.js/')) return 'vendor-telegram'; if (id.includes('/ogl/')) return 'vendor-webgl'; if (id.includes('/cmdk/')) return 'vendor-cmdk'; + if (id.includes('twemoji') || id.includes('@twemoji/')) return 'vendor-twemoji'; + if (id.includes('/jsencrypt/') || id.includes('@kastov/')) return 'vendor-crypto'; + if (id.includes('@lottiefiles/')) return 'vendor-lottie'; if ( id.includes('/axios/') || id.includes('/zustand/') ||