Analyze SolidStart build for optimization opportunities.
bun as build-report- Bundle Size: Total size of JavaScript bundles
- Chunk Breakdown: Individual chunk sizes and contents
- Dependencies: Largest dependencies by size
- Code Splitting: How code is split across chunks
- Optimization Opportunities: Suggestions for reducing bundle size
The report includes:
- Total bundle size (gzipped and uncompressed)
- List of all chunks with sizes
- Dependency tree with package sizes
- Recommendations for optimization
If a large dependency is identified:
- Check if it's tree-shakeable
- Consider lighter alternatives
- Use dynamic imports for non-critical code
Improve code splitting by:
- Using route-based splitting (built-in with SolidStart)
- Lazy loading components with
lazy() - Dynamic imports for heavy libraries
import { lazy } from "solid-js"
const HeavyComponent = lazy(() => import("~/components/HeavyComponent"))
export default function Page() {
return (
<Suspense fallback={<div>Loading...</div>}>
<HeavyComponent />
</Suspense>
)
}- Initial bundle: < 100 KB (gzipped)
- Total JavaScript: < 500 KB (gzipped)
- Lighthouse Performance: > 90
vite.config.ts- Build configuration.github/build-report.sh- Report generation script