Edited at

Elmのパッケージインストール支援ツールを作ってみた

どうも、うじまるです。

ちょっと前々からほしいと思っていたElmのパッケージインストール支援のツールをgolangの勉強がてら作って見たので紹介します。


作った経緯

Elmは標準のコマンドでパッケージのインストールをしてくれるサブコマンドを提供してくれてます。

ターミナルで

$ elm install "author/package-name"

みたいな感じでやればインストールしてくれます。

ただ、個人的に若干不便なところがあって「パッケージの作成者名をつけないとインストールがされない」というところです。

同じパッケージ名にされると一意性がなくなってしまうので必要なものなのですが、「パッケージ名は知っていても作成者名は覚えていない」っという場面が多々あります。(elm-ui の場合だと mdgriffith/elm-ui とか)

elm install でも雰囲気あっていたら「これじゃない?」みたいな感じで候補をいくつか出してくれるのですが作成者名が脳の片隅にもないような状況だと厳しいです。

image.png

(優しいelm installの図)


作ったもの



そこで作ったものが Elm Package install Supporter 約して eps です。

あくまでも Supporter なのでCLIの中で elm install を使っています。

リポジトリ

elmのパッケージ一覧を全表示してFuzzyFinderで「確かこんな感じの名前だったよな・・・」みたいな状況でもinstallできるようにしました。

あと、LicenseとSummaryを表示するようにしてみました。パッケージ名が被っている場合に使えればなーっと思っています。


使い方

インストールの方法ですが、まだ頻繁に変更・修正があると思うのでリポジトリをcloneして go build && go install で入れてください:pray: (golang製のツールのメジャーな配布方法を知らないので教えてください!!)

使い方としては、elm init してあるディレクトリで

$ eps

と入力してもらえば上の画像のような画面になるのでほしいpackage名を入力すれば候補のものにハイライトが付きます。 ctrl + j で上に ctrl + k で下に移動します。

最後に enter でパッケージをインストールすることができます。


作ってみて

個人的にはいいと思っています。

Elmは公式のパッケージが充実しているので elm/ のパッケージでいい時が多いですが、elm-uiなどのStyle系のライブラリがほしいときや extra系パッケージが欲しい時にいちいち名前を検索するためにブラウザで検索して・・・って言うのはちょっとめんどくさいです。そのひと手間がなくなっただけでもかなり良かったなっと思いました。

あと、golangめちゃくちゃすぐできてしまったので最高だなって思いました。むつかしい部分はとても素晴らしいライブラリを使って作ったのですがそれでも半分寝てるような脳みそでサクッと作れたのでCLIを作るときはgolangを使って行きたいと思いました。


最後に

いろいろと問題点が多いと思っているので、よかったらアドバイスやPull-Requestを投げてもらえたら嬉しいです:bow:

リポジトリ