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"