対象バージョン: Elm 0.19
init
$ elm initコマンドを実行するとカレントディレクトリに以下が作成される。
srcフォルダelm.jsonファイル (任意。作成するかどうか聞かれるが、基本的に Yes でいい)
プロジェクトディレクトリの作成まではしてくれないので、予め作っておく。
(elm init <プロジェクト名>のような使い方は出来ない)
$ mkdir <プロジェクト名>
$ cd <プロジェクト名>
$ elm initrepl
$ elm replコマンドを実行するとターミナル上で REPL が始まる。
変数や関数を作ってちょっとした動作を試したいとき、型を確かめたいときなどに使う。
以下のように、対話的なインターフェースでプログラムを動かす。
$ elm repl
---- Elm 0.19.0 ----------------------------------------------------------------
Read <https://elm-lang.org/0.19.0/repl> to learn more: exit, help, imports, etc.
--------------------------------------------------------------------------------
> "Hello " ++ "Elm"
"Hello Elm" : String
>REPL から抜けるときは:exitと打つか、ctrl + c 。
> :exitinstall
$ elm install <package>Elmパッケージをプロジェクトにインストールする。
パッケージは https://package.elm-lang.org/ で検索できる。
$ elm install elm/http
=> elm/http のパッケージをインストールするちなみに、プロジェクトが依存する Elmパッケージはelm.jsonファイルで確認できる。
reactor
$ elm reactorコマンドを実行すると、 elm ファイルをコンパイルして http://localhost:8000 表示するサーバーを立ててくれる。開発時の動作確認に用いる。
ちなみに、プロジェクトに変更を加えた際にelm reactorとわざわざ打ち直す必要はない。
ブラウザでページをリロードするだけで変更が反映される。
オプション
- --port=<port> : ポート番号を指定する (デフォルトは 8000)
$ elm reactor --port=8888make
$ elm make <elm-files>.elmファイルをコンパイルして.htmlまたは.jsのファイルを作成する
$ elm make src/Mainl.elm
=> src/Main.elm をコンパイルして index.html を作成オプション
- --debug : タイムトラベリングデバッガーを有効にする (イベントを巻き戻して当時の状態とビューを確認できるようになる)
- --optimize : 最適化を有効にする (軽量で高速なファイルにコンパイルされる)
- --output=<output-file> : output されるファイル名を指定する$ elm make --output="module1.js" src/Module1.elm=> src/Module1.elm をコンパイルして module1.js を作成
diff
$ elm diff <package> <version> <version>Elmパッケージの差分を確認する。APIの増減を教えてくれる。
$ elm diff elm/browser 1.0.0 1.0.1
No API changes detected, so this is a PATCH change.$ elm diff arsduo/elm-ui-drag-drop 1.0.0 2.0.0
This is a MAJOR change.
---- ADDED MODULES - MINOR ----
Dom.DragDrop
---- REMOVED MODULES - MAJOR ----
Ui.DragDroppublish
$ elm publish自分で作成した Elmパッケージを https://package.elm-lang.org に公開する。
公開するには以下のような条件を満たす必要があるらしい。
elm.jsonに必要な情報が記載されていること- ドキュメントファイルが用意されていること
「GitHubにソースがあること」「テストが書かれていること」など、他にも条件がありそう。私自身が publish する機会があれば調べてみる。
bump
$ elm bumphttps://package.elm-lang.org に公開した Elmパッケージをローカルで変更した際、セマンティックバージョニングのルールに基づいて、ローカルの Elmパッケージのバージョン情報を更新してくれる。
--help オプション {#help}
本記事では、あまり使わなさそうだと私が思ったオプションについては省略したが、--helpを使えばそれらも含めて確認できるだろう。
$ elm --help
=> elm のコマンド一覧を教えてくれる$ elm make --help
=> make コマンドの使い方やオプションについて教えてくれる