AbsoluteJS

absolute islands

See every island across your whole app — which framework it's built in, how it hydrates, which pages mount it, and what it costs to ship.

#Usage

absolute islands reads your island registry and scans your pages — no build or running server required — and lists each island grouped with the pages that mount it and the hydration strategy of each mount (load, idle, visible, or none). Add --sizes to include the shipped JS per island from the build manifest, or --json for scripting.

BASH
# List islands by framework, hydration strategy, and the pages that mount them
absolute islands

# Add the shipped JS size per island (reads the build manifest)
absolute islands --sizes

# Machine-readable
absolute islands --json

#Cross-framework mounts

This is the part nothing else can show you: AbsoluteJS lets a React island live inside a Vue page, a Svelte island inside an HTML page, and so on. absolute islands flags every such mount with → in <framework> and totals them in the summary, so you can see your cross-framework surface at a glance — one island reused everywhere, regardless of the host page's framework.

absolute islands --sizes
$ absolute islands --sizes
⬡ ReactCounter react · 5 pages · 4 cross-framework 1 KB src/frontend/react/components/ReactCounter src/frontend/react/pages/Home.tsx load src/frontend/vue/pages/VueHost.vue load → in vue src/frontend/svelte/pages/SvelteHost.svelte load, idle, visible → in svelte ⬡ AngularCounter angular · 5 pages · 5 cross-framework 159 KB src/frontend/angular/components/angular-counter src/frontend/react/pages/Home.tsx load → in react 4 islands · 4 frameworks · 44 mounts · 39 cross-framework

#Bundle sizes

With --sizes, each island shows the JS it ships to the client — the real cost of interactivity. It makes trade-offs obvious at a glance: a lightweight React or Svelte counter next to a heavier Angular one, so you can decide where the interactivity is worth its weight.