@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

ES2019の実装QuickJSを試せるDockerイメージを作った

QuickJSというES2019の実装が出てきたと見かけたので Dockerで使えるようにしてみた。

bellard.org

alpineイメージでMulti stageビルドして、qjsなど成果物だけを設置したalpineイメージになっている。

Docker hub上では15MBほど、ローカルで確認すると40MB程度。

peccu/qjs - Docker Hub

qjsを直接叩く例

$ docker run -it --rm --name qjs peccu/qjs qjs
QuickJS - Type "\h" for help
qjs > console.log("Hello World");
Hello World
undefined
qjs >

shを叩く例

/workが作業ディレクトリになってるのでそこをボリュームで指定してあげれば使える。

$ docker run -it -v $PWD:/work --rm --name qjs peccu/qjs
/work # qjs -m /quickjs/examples/hello_module.js
Hello World
fib(10)= 55
/work # 

QuickJSに含まれていたdoc/examples/ディレクトリを/quickjsに展開している。

qjs, qjsc, run-test262, qjsbn, qjsbnc, run-test262-bn のコマンドにパスが通っている。