Bundle sizes
Per-entrypoint bundle sizes for @honua/sdk-js, measured the way a real consumer builds them:
esbuild --bundle --minify, target es2020, runtime peers (maplibre-gl, cesium, @bufbuild/*,
@connectrpc/*) kept external. Ceilings are enforced in CI via npm run verify:bundle-budgets
(budgets live in bundle-budgets.json, set to actual + ~10% headroom).
Generated 2026-07-16 at commit 10fe4df.
| Entrypoint | Min | Min budget | Gzip | Gzip budget |
|---|---|---|---|---|
. (root) |
422.9 KiB | 425.3 KiB | 110.6 KiB | 112.5 KiB |
/honua |
523.0 KiB | 566.2 KiB | 137.7 KiB | 149.6 KiB |
/contract |
258.8 KiB | 287.3 KiB | 68.3 KiB | 72.9 KiB |
/source-schema (focused schema + pinned PROJJSON validator) |
631.0 KiB | 663.7 KiB | 129.3 KiB | 134.0 KiB |
/source-capabilities (static evidence ingestion + lightweight evaluator) |
252.9 KiB | 257.5 KiB | 31.0 KiB | 33.2 KiB |
/source-capability-discovery (GeoServices/OData schema-bound evaluation) |
662.9 KiB | 733.3 KiB | 137.7 KiB | 152.6 KiB |
/plugin (registry + certification, no heavy peers) |
53.2 KiB | 62.6 KiB | 16.5 KiB | 19.3 KiB |
/agent-tools |
20.6 KiB | 22.7 KiB | 6.4 KiB | 7.0 KiB |
/agent-safety |
51.4 KiB | 55.2 KiB | 14.8 KiB | 15.8 KiB |
/nl-map-control |
73.2 KiB | 84.5 KiB | 22.0 KiB | 25.3 KiB |
/runtime |
451.2 KiB | 458.7 KiB | 119.3 KiB | 131.7 KiB |
/realtime |
41.2 KiB | 49.3 KiB | 11.4 KiB | 13.5 KiB |
/offline |
36.6 KiB | 44.3 KiB | 11.1 KiB | 13.2 KiB |
/query-planner (worker runtime injected) |
399.7 KiB | 439.0 KiB | 71.7 KiB | 78.7 KiB |
/scene-workspace (MapLibre/Cesium external — optional peers) |
90.0 KiB | 100.0 KiB | 28.0 KiB | 30.8 KiB |
/esri-compat |
978.1 KiB | 1026.2 KiB | 243.2 KiB | 253.6 KiB |
/expr |
7.7 KiB | 8.4 KiB | 2.4 KiB | 2.7 KiB |
/webmap |
24.8 KiB | 27.3 KiB | 7.6 KiB | 8.3 KiB |
/geocoding |
25.1 KiB | 31.6 KiB | 7.3 KiB | 9.1 KiB |
/routing |
18.7 KiB | 24.6 KiB | 6.0 KiB | 7.6 KiB |
/auth |
24.1 KiB | 30.6 KiB | 7.0 KiB | 8.7 KiB |
/style |
59.1 KiB | 69.0 KiB | 14.6 KiB | 17.2 KiB |
/map |
164.6 KiB | 182.2 KiB | 46.0 KiB | 50.7 KiB |
/geoparquet (duckdb-wasm external — lazy peer) |
46.6 KiB | 53.6 KiB | 14.7 KiB | 16.8 KiB |
/deckgl (deck.gl external — lazy peer) |
15.0 KiB | 16.5 KiB | 5.0 KiB | 5.6 KiB |
/react (react/react-dom external) |
432.7 KiB | 446.7 KiB | 114.3 KiB | 117.2 KiB |
/geometry (turf/proj4 bundled — real consumer cost) |
516.4 KiB | 568.0 KiB | 142.7 KiB | 157.0 KiB |
browser IIFE (./browser unpkg/jsdelivr) |
423.5 KiB | 426.0 KiB | 110.8 KiB | 112.8 KiB |
browser ESM (./browser) |
422.2 KiB | 424.6 KiB | 110.6 KiB | 112.5 KiB |
tree-shake guard ({ HonuaClient } only) |
210.5 KiB | 229.7 KiB | 53.2 KiB | 57.6 KiB |
tree-shake guard ({ connect } from root, source-schema runtime excluded) |
345.7 KiB | 359.2 KiB | 89.0 KiB | 92.8 KiB |
tree-shake guard ({ evaluateCapabilityProfile } only, CRS/PROJJSON validator excluded) |
16.3 KiB | 17.9 KiB | 5.7 KiB | 6.2 KiB |
tree-shake guard ({ FeatureLayerCompat } from /esri-compat) |
225.3 KiB | 245.9 KiB | 56.6 KiB | 61.4 KiB |
tree-shake guard ({ buffer } from /geometry, turf bundled) |
287.5 KiB | 316.3 KiB | 65.6 KiB | 72.2 KiB |
tree-shake guard ({ mountSourceToMapLibre } from /map) |
33.3 KiB | 37.7 KiB | 10.8 KiB | 12.0 KiB |
tree-shake guard ({ bindTerraDrawSketch } from /runtime, terra-draw external) |
3.3 KiB | 3.3 KiB | 1.5 KiB | 1.5 KiB |