QuickJSというES2019の実装が出てきたと見かけたので Dockerで使えるようにしてみた。
alpineイメージでMulti stageビルドして、qjs
など成果物だけを設置したalpineイメージになっている。
Docker hub上では15MBほど、ローカルで確認すると40MB程度。
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
のコマンドにパスが通っている。