islands-build 0.1.3

Layout-agnostic build pipeline for islands.rs apps: WASM bundling, the V8 module-namespace patch, per-page CSS, and content-hash manifests. Composed by a thin xtask in any workspace.
Documentation

islands-build — the islands.rs build pipeline, as a library

Everything needed to build an islands.rs app, decoupled from any one repository's layout. A thin xtask (this repo's, or a downstream consumer's) constructs a [BuildPlan] — from an [IslandsConfig] (islands.toml) or its own discovery — and calls [build].

The pipeline:

  1. WASM ([wasm::build_wasm]): resolve + install the matching wasm-bindgen-cli, compile the runtime ([wasm::build_runtime]) and page crates to wasm32-unknown-unknown, run wasm-bindgen --target web, verify the artifacts, and apply the load-bearing V8 namespace patch.
  2. CSS ([css::build_css]): build the shared base.css and a per-page Tailwind bundle for each page (optionally materializing basecoat.css).
  3. Manifest ([hashing::post_build_hashing_pass], gated by [BuildPlan::manifest]): content-hash every asset, rewrite cross-asset references, and write manifest.json. Off ⇒ logical filenames, resolved by page_shell's logical-path fallback.

The V8 namespace patch is exported as a first-class, tested API: skipping it produces a bundle the browser refuses to instantiate, so no consumer should ever have to rediscover it.