ensureEngineReady() after first paintimport(), which makes the bundler split each
into its own lazy chunk.
| Chunk | Role | Raw | Gzip | Brotli |
|---|---|---|---|---|
index-DNH4LL3_.js | initial | 66.5 KB | 21.8 KB | 19.0 KB |
walk.bin-BIqcpGql.js | engine, lazy | 33.2 KB | 25.0 KB | 25.0 KB |
metadata.bin-CY9nY_7D.js | engine, lazy | 31.1 KB | 23.5 KB | 23.5 KB |
scope.bin-Bc-7Kyxu.js | engine, lazy | 25.5 KB | 19.3 KB | 19.2 KB |
verdict.bin-DryRyNCP.js | engine, lazy | 20.6 KB | 15.5 KB | 15.5 KB |
| Total on disk | 176.9 KB | 105.1 KB | 102.2 KB |
bundlephobia and the Import Cost editor extension estimate size by inlining every import() back
into the entry, since neither models code-splitting. For a library that ships its data through lazy chunks, that
collapses the initial bundle and the on-demand engine into one figure (105.1 KB).
A production bundler keeps the split. The engine layers download in parallel, off the critical path, when
ensureEngineReady() runs. The entry chunk is what reaches a user on first paint, at
21.8 KB gzipped.
git clone https://github.com/martsinlabs/telixon
cd telixon && pnpm install
pnpm --filter @telixon/core build
pnpm --filter @telixon/example-core-bundle-size build
import(), exactly as it does in a consumer's build.