mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
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.
This commit is contained in:
@@ -36,6 +36,7 @@ export default defineConfig({
|
|||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
output: {
|
output: {
|
||||||
manualChunks(id) {
|
manualChunks(id) {
|
||||||
|
if (id.includes('/src/locales/')) return 'locales';
|
||||||
if (!id.includes('node_modules')) return;
|
if (!id.includes('node_modules')) return;
|
||||||
if (
|
if (
|
||||||
id.includes('react-dom') ||
|
id.includes('react-dom') ||
|
||||||
@@ -44,13 +45,17 @@ export default defineConfig({
|
|||||||
)
|
)
|
||||||
return 'vendor-react';
|
return 'vendor-react';
|
||||||
if (id.includes('@tanstack/react-query')) return 'vendor-query';
|
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('i18next') || id.includes('react-i18next')) return 'vendor-i18n';
|
||||||
if (id.includes('framer-motion')) return 'vendor-motion';
|
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('@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('/ogl/')) return 'vendor-webgl';
|
||||||
if (id.includes('/cmdk/')) return 'vendor-cmdk';
|
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 (
|
if (
|
||||||
id.includes('/axios/') ||
|
id.includes('/axios/') ||
|
||||||
id.includes('/zustand/') ||
|
id.includes('/zustand/') ||
|
||||||
|
|||||||
Reference in New Issue
Block a user