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.
# 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⬡ 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.