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,
--outdirand resolved imports are ordinary paths and outputs land on disk with no copy-back. - Browser: a
filesmap 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|nativeforces one engine and fails if it is unavailable.GUCHHO_BINARY=/path/to/guchhospawns 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.