QuickJS
QuickJS is a small and embeddable JavaScript engine. It supports the ES2019 specification including modules, asynchronous generators and proxies.
It optionally supports mathematical extensions such as big integers (BigInt), big floating point numbers (BigFloat) and operator overloading.
Original Source: https://bellard.org/quickjs/quickjs-2019-09-18.tar.xz
Modifications: We made some changes to adapt the codebase to the WASI interface.
Running
With wasmer
Install it with:
wapm install -g quickjs
Without any arguments a simple REPL will be launched.
# Run a file
qjs --dir=. examples/hello_module.js
# Run the REPL
qjs
With wasmtime
First build it by following the instructions in "Building".
# Run a file
wasmtime --dir examples/ build/qjs.wasm -- examples/hello_module.js
# Run the REPL
wasmtime --dir . build/qjs.wasm
Building
The following script will download the WASI SDK and build the Wasm binary.
./build.sh