Runs as a WebAssembly component without JS or WASI
Bashkit can now run as a WebAssembly component that exposes shell execution
over WIT, in a host with no JavaScript engine and no WASI implementation. That
covers plain wasmtime and the no_std wasmtime that hyperlight-wasm compiles
into a Hyperlight micro-VM guest. examples/hyperlight/ builds such a guest
and runs a script through it.
Dependencies that assumed a JavaScript host, such as the clock, timers and
entropy source, moved behind a new wasm_js feature that the JS packages
enable and other builds leave off. The bashkit crate also builds for
wasm32-wasip2, checked in CI.
See the Hyperlight example, #2311 and #2310.