Commit45eb13a9Recorded8 Jul 2026Repositorysigil-site
Add sigil-web-client to the docs site and require wasm-opt for the REPL
Message
List sigil-web-client (v0.15.0) in EXTRACTED_REPOS so its API docs and Libraries sidebar entry render alongside sigil-web.
Guard --with-repl on wasm-opt (Binaryen) being present: the monorepo --config web build runs wasm-opt --asyncify, and without it the pass is silently skipped, leaving the REPL wasm with unresolved asyncify.* imports that fail to instantiate in the browser. Fail loudly instead, and document the guix-shell-binaryen recipe.
Changed
publish.sh | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)Diff
publish.shmodified
@@ -115,7 +115,7 @@ EXTRACTED_REPOS=(
115
sigil-store sigil-lsp sigil-mcp sigil-repl sigil-nrepl sigil-ffi 116
sigil-format sigil-hooks sigil-test 117
sigil-peg sigil-sxml sigil-markdown sigil-css sigil-fp sigil-match−118
sigil-r7rs sigil-transducers sigil-web sigil-yaml sigil-later+118
sigil-r7rs sigil-transducers sigil-web sigil-web-client sigil-yaml sigil-later 119
# Core, general-purpose libraries added by the 2026-07 completeness audit. 120
# These are published sigil/* library packages that were missing from the 121
# docs site. (SaaS/API-client packages: forgejo, caldav, jmap, discourse,@@ -389,6 +389,19 @@ if [[ "$WITH_REPL" == "true" ]]; then
389
die "--with-repl requires zig on PATH" 390
fi 391
+392
# wasm-opt (Binaryen) is required for the --asyncify post-link pass that the+393
# monorepo's --config web build runs. Without it that pass is silently+394
# skipped and the REPL wasm ships unresolved asyncify.* imports, so it fails+395
# to instantiate in the browser ("Import asyncify: module is not an object+396
# or function") and the REPL hangs. Fail loudly instead of shipping a broken+397
# REPL. On Guix, wasm-opt is not on PATH by default: run this whole script+398
# inside a guix shell, e.g.+399
# guix shell binaryen -- ./publish.sh --local --with-repl+400
# (prepend ~/.sigil/toolchain/zig to PATH so the bundled zig is found too).+401
if ! command -v wasm-opt >/dev/null 2>&1; then+402
die "--with-repl requires wasm-opt (Binaryen) on PATH for the --asyncify pass. On Guix: guix shell binaryen -- ./publish.sh --with-repl ..."+403
fi+404
405
info "Building web REPL (WASM)" 406
407
ensure_repo "sigil-web-repl"