Guchho 1.0.7

A pure-WebAssembly engine for npm, and a fix for non-executable binaries.

#

Released 2026-10-15.

Fixed

#

The npm packages for Linux and macOS shipped their binary without the execute bit, so npx guchho and a global install both failed with Permission denied (exit 126) on a fresh install. The permission bits are now restored after the build artifact is downloaded, the publish pipeline refuses to ship a non-executable binary, and the JavaScript wrapper repairs the bit at runtime and after install as a safety net.

  • Upgrade straight to 1.0.7; no action is needed beyond installing the new version.

Added

#

@guchho/wasm - the engine in WebAssembly

#

A new opt-in package, @guchho/wasm, runs the same engine compiled to WebAssembly. Flag grammar, diagnostics and exit codes are the CLI's own, so it behaves the same as the native binary wherever it runs.

  • Node: the host file system is mounted through NODEFS, so entry points, --outdir and resolved imports are ordinary paths and outputs land on disk with no copy-back.
  • Browser: a files map populates an in-memory file system and the build answers from it. The engine is single-threaded, so no COOP/COEP headers are required.
  • It installs anywhere Node runs, with nothing to compile - useful as a CI fallback, in sandboxes, and on StackBlitz/CodeSandbox.

@guchho/wasm is opt-in: install it explicitly and it is used automatically. It is deliberately not a dependency of the guchho package.

npm i -D @guchho/wasm
npx guchho-wasm build src/index.html --outdir=dist

Engine selection overrides

#

The guchho wrapper resolves its engine in a fixed order and now exposes two environment variables to steer it:

  • GUCHHO_BACKEND=wasm|native forces one engine and fails if it is unavailable.
  • GUCHHO_BINARY=/path/to/guchho spawns a specific native binary.

Without either, @guchho/wasm wins when it is installed, and the native platform package is used otherwise.

Upgrading

#

Nothing here is breaking for native users. npm install -g guchho picks up the executable-bit fix. To try the WebAssembly engine, install @guchho/wasm alongside it.

npm install -g guchho@1.0.7

Full comparison: v1.0.6…v1.0.7.

Edit this page on GitHub