This is a TypeScript library for executing WebAssembly programs using
an approximation of the Linux syscall ABI. Supported features include
file IO via BrowserFS, device
drivers for custom IO, and memory management syscalls like brk. This
library is useful if your WebAssembly module was built with a libc,
like musl, that expects the sycall ABI. With webabi, your
WebAssembly build system can be a standard C toolchain, maximizing the
ease of porting existing C software.
npm install
npm run buildThe build process will convert the TypeScript code to a usable JS
library in ./dist, and two useful scripts in ./build.
- The 
node_runner.jsscript, when run with Node, will take the path to a wasm file on the command line and run it. - The 
worker_runner.jsfile is meant to be started in a WebWorker. Once started, it waits for apostMessageto give it the URI of a wasm program to fetch and execute. 
In both cases, if you want a custom device driver, you will need to use the library code instead. TypeScript types are exported so you can continue using TypeScript.