Summary
The desktop frontend currently emits a large minified chunk during production build.
Current signal
Vite warns that the main chunk is larger than the recommended size threshold. One concrete likely contributor is apps/tauri/src/icons.ts, which imports both createIcons and the entire icons map from lucide, then passes the full collection into createIcons().
Expected outcome
Reduce the desktop bundle size without making the architecture harder to understand.
Recommended first step
Replace the full Lucide icon-map import with an explicit icon registry containing only the icons Sendo actually uses, then measure the production bundle again before adding manual chunking.
Follow-up directions if needed
- split code by page or feature only where measurements justify it
- inspect remaining oversized dependencies
- keep chunk boundaries aligned with real architectural boundaries
Constraints
- measure before and after
- do not add manual chunking solely to silence Vite warnings
- avoid abstractions that make icon usage or page loading harder to reason about
Likely files
apps/tauri/src/icons.ts
apps/tauri/vite.config.ts
apps/tauri/src/*
Summary
The desktop frontend currently emits a large minified chunk during production build.
Current signal
Vite warns that the main chunk is larger than the recommended size threshold. One concrete likely contributor is
apps/tauri/src/icons.ts, which imports bothcreateIconsand the entireiconsmap fromlucide, then passes the full collection intocreateIcons().Expected outcome
Reduce the desktop bundle size without making the architecture harder to understand.
Recommended first step
Replace the full Lucide icon-map import with an explicit icon registry containing only the icons Sendo actually uses, then measure the production bundle again before adding manual chunking.
Follow-up directions if needed
Constraints
Likely files
apps/tauri/src/icons.tsapps/tauri/vite.config.tsapps/tauri/src/*