photo credit: neorevoxos1 HOT_011 via photopin (license)

Elm のコマンドを調べてみた。

対象バージョン: Elm 0.19

目次

init

$ elm init

コマンドを実行するとカレントディレクトリに以下が作成される。

  • srcフォルダ
  • elm.jsonファイル (任意。作成するかどうか聞かれるが、基本的に Yes でいい)

プロジェクトディレクトリの作成まではしてくれないので、予め作っておく。
(elm init <プロジェクト名>のような使い方は出来ない)

$ mkdir <プロジェクト名>
$ cd <プロジェクト名>
$ elm init

repl

$ 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 。

> :exit

install

$ 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= : ポート番号を指定する (デフォルトは 8000)
$ elm reactor --port=8888

make

$ elm make <elm-files>

.elmファイルをコンパイルして.htmlまたは.jsのファイルを作成する

$ elm make src/Mainl.elm
=> src/Main.elm をコンパイルして index.html を作成
オプション
  • --debug : タイムトラベリングデバッガーを有効にする (イベントを巻き戻して当時の状態とビューを確認できるようになる)
  • --optimize : 最適化を有効にする (軽量で高速なファイルにコンパイルされる)
  • --output= : 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.DragDrop

publish

$ elm publish

自分で作成した Elmパッケージを https://package.elm-lang.org に公開する。

公開するには以下のような条件を満たす必要があるらしい。

  • elm.jsonに必要な情報が記載されていること
  • ドキュメントファイルが用意されていること

「GitHubにソースがあること」「テストが書かれていること」など、他にも条件がありそう。私自身が publish する機会があれば調べてみる。

bump

$ elm bump

https://package.elm-lang.org に公開した Elmパッケージをローカルで変更した際、セマンティックバージョニングのルールに基づいて、ローカルの Elmパッケージのバージョン情報を更新してくれる。

--help オプション

本記事では、あまり使わなさそうだと私が思ったオプションについては省略したが、
--helpを使えばそれらも含めて確認できるだろう。

$ elm --help
=> elm のコマンド一覧を教えてくれる
$ elm make --help
=> make コマンドの使い方やオプションについて教えてくれる
カテゴリー: Tips

hahnah

はーな Webエンジニア。モバイルアプリも少々。Elmが好き。

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。