残念ながらElmのコンパイルにはwatchオプションがありません。つまり、「ファイルの変更を感知してコンパイルを行う」といったことができません。
そこで、Nodeの標準パッケージを利用して、擬似的なwatch機能を作ってみました。
gist8b7482df27f3e1b80f48237ec2cd9704
かなりお粗末ですが、Macで勉強目的に使う分にはいいかなと言った感じ。
Main.elmに変更が加えられる度に、index.jsとして新規更新されます。
ちなみに、参考にしたブログポストがこちら。
ちなみにこのポストによると、Nodeの標準パッケージであるwatchではなく、chokidarを使いなさいよとのこと。
実はchokidarは、webpackやbrowserifyやgulpが採用しているパッケージであり、watch機能を担います。
さらに言えば、elm-watchというパッケージが実は存在するんですよね。
このパッケージも、chokidarを使っています。
ただし、elm-watchはどうやら余りポピュラーではないようです。
なので、ちょっとElmを書く分には自作でいいかなと思います。
もしスケールしてきたら、バンドラなりタスクランナーに頼ればいいのかもしれませんね。
execとwatchについては、以下参照です。