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-08-26 at commit 53abfb9e.
| Entrypoint | Min | Min budget | Gzip | Gzip budget |
|---|---|---|---|---|
. (root) |
771.4 KiB | 829.3 KiB | 208.7 KiB | 211.8 KiB |
/honua |
934.3 KiB | 937.2 KiB | 253.1 KiB | 278.1 KiB |
/contract |
370.1 KiB | 400.6 KiB | 99.6 KiB | 108.0 KiB |
/source-schema (focused schema + pinned PROJJSON validator) |
905.0 KiB | 925.5 KiB | 206.9 KiB | 227.3 KiB |
/source-capabilities (static evidence ingestion + lightweight evaluator) |
254.8 KiB | 257.5 KiB | 31.4 KiB | 33.2 KiB |
/source-capability-discovery (GeoServices/OData/WMS/WMTS schema-bound evaluation) |
939.0 KiB | 961.8 KiB | 216.2 KiB | 237.6 KiB |
/plugin (registry + certification, no heavy peers) |
67.4 KiB | 69.2 KiB | 20.3 KiB | 21.9 KiB |
/agent-tools |
45.4 KiB | 48.1 KiB | 12.4 KiB | 13.3 KiB |
/agent-safety |
68.9 KiB | 73.2 KiB | 19.0 KiB | 20.5 KiB |
/nl-map-control |
87.6 KiB | 94.2 KiB | 25.5 KiB | 27.9 KiB |
/interactions/declarative (ADR-0030 compiler over the existing binding primitives) |
14.3 KiB | 15.8 KiB | 5.0 KiB | 5.5 KiB |
/studio-agent (SSE + MCP transports and the turn loop; bundles its agent-tools dependency) |
38.5 KiB | 42.1 KiB | 12.2 KiB | 13.3 KiB |
/runtime |
687.0 KiB | 752.5 KiB | 175.7 KiB | 180.4 KiB |
/realtime |
80.7 KiB | 86.2 KiB | 23.1 KiB | 25.0 KiB |
/offline |
171.2 KiB | 186.2 KiB | 45.5 KiB | 49.7 KiB |
/query-planner (worker runtime injected) |
766.3 KiB | 778.7 KiB | 173.5 KiB | 182.9 KiB |
/scene-workspace (MapLibre/Cesium external — optional peers) |
169.1 KiB | 183.6 KiB | 51.2 KiB | 55.8 KiB |
/esri-compat |
1035.0 KiB | 1139.7 KiB | 261.4 KiB | 280.9 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 |
28.8 KiB | 31.6 KiB | 7.9 KiB | 9.1 KiB |
/routing |
22.5 KiB | 24.6 KiB | 6.6 KiB | 7.6 KiB |
/auth |
27.9 KiB | 30.6 KiB | 7.6 KiB | 8.7 KiB |
/style |
64.7 KiB | 69.0 KiB | 16.2 KiB | 17.2 KiB |
/map |
183.1 KiB | 198.2 KiB | 51.7 KiB | 56.2 KiB |
/geoparquet (duckdb-wasm external — lazy peer) |
147.0 KiB | 154.9 KiB | 44.0 KiB | 46.6 KiB |
/cog (caller-injected decoder; no raster peer in the static graph) |
51.7 KiB | 56.1 KiB | 14.8 KiB | 16.1 KiB |
/pmtiles (bounded direct inspection + managed lifecycle; renderer runtime excluded) |
346.5 KiB | 364.2 KiB | 95.4 KiB | 98.7 KiB |
/deckgl (deck.gl external — lazy peer) |
66.1 KiB | 68.3 KiB | 17.7 KiB | 18.3 KiB |
/controls (framework-free control kit; includes the lazy web-components registration chunk) |
1152.2 KiB | 1158.7 KiB | 303.2 KiB | 312.7 KiB |
/web-components (custom-element kit; maplibre-gl external, export adapters injected) |
1255.5 KiB | 1268.1 KiB | 333.6 KiB | 356.1 KiB |
/kepler (kepler.gl/react/redux absent — dynamic optional peer) |
61.4 KiB | 67.5 KiB | 17.9 KiB | 18.1 KiB |
/analytics (contract + accessible default presentation; no chart adapter, no chart peer) |
35.7 KiB | 39.2 KiB | 11.2 KiB | 11.6 KiB |
/analytics/uplot (µPlot external — dynamically imported optional peer) |
10.1 KiB | 10.3 KiB | 3.9 KiB | 4.2 KiB |
/react (react/react-dom external) |
545.8 KiB | 562.6 KiB | 146.8 KiB | 150.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) |
768.0 KiB | 832.8 KiB | 207.5 KiB | 222.1 KiB |
browser ESM (./browser) |
766.9 KiB | 828.5 KiB | 207.3 KiB | 221.7 KiB |
tree-shake guard ({ HonuaClient } only) |
253.6 KiB | 280.2 KiB | 67.7 KiB | 74.3 KiB |
tree-shake guard ({ connect } from root, source-schema runtime excluded) |
630.7 KiB | 695.1 KiB | 169.9 KiB | 186.7 KiB |
tree-shake guard ({ evaluateCapabilityProfile } only, CRS/PROJJSON validator excluded) |
16.4 KiB | 17.9 KiB | 5.7 KiB | 6.2 KiB |
tree-shake guard ({ HonuaTimeoutError } only, descriptive code registry excluded) |
16.4 KiB | 17.1 KiB | 4.4 KiB | 4.5 KiB |
explicit registry import ({ HONUA_ERROR_CODE_REGISTRY }, full descriptive summaries) |
17.1 KiB | 18.5 KiB | 3.6 KiB | 3.9 KiB |
tree-shake guard ({ createHonua } managed discovery + accepted-plan facade) |
732.9 KiB | 791.3 KiB | 198.8 KiB | 210.6 KiB |
tree-shake guard ({ FeatureLayerCompat } from /esri-compat) |
268.2 KiB | 296.3 KiB | 70.8 KiB | 77.7 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) |
45.8 KiB | 49.4 KiB | 13.7 KiB | 14.0 KiB |
tree-shake guard ({ createHonuaPmtilesLifecycle } from /pmtiles, generic discovery excluded) |
34.7 KiB | 35.1 KiB | 9.7 KiB | 10.0 KiB |
tree-shake guard ({ bindTerraDrawSketch } from /runtime, terra-draw external) |
3.3 KiB | 3.3 KiB | 1.5 KiB | 1.5 KiB |
tree-shake guard (/analytics contract + default presentation, chart adapters/peers excluded) |
27.4 KiB | 30.2 KiB | 9.0 KiB | 9.2 KiB |