環境構築系の状況
Ansible Galaxy
- 24 roles
- HashNuke.elixir-stackがよく使われているようです(128 Downloads)
Atlas
- 11 Vagrant Boxes
- Ubuntuベースならpgrunwald/elixir-phoenix-ubuntu-trusty64(900 Downloads)
- CentOSベースならpgrunwald/elixir-phoenix-centos7(225 Downloads)
- がよく使われているようです
Chef Supermarket
- elixir-cookbookのみでした
Docker Hub
- 455 images
- Official Imageがある(100K+ Pulls)
エディタの言語サポート状況
- Emacsは対応精度が結構高いらしいです。
- Atom, Sublime, Vimもよく対応できているそうです。
- JetBrainsは少し動作が不安定みたいなことが書いてありました。
Atom | Emacs | JetBrains | Notepad++ | Sublime | TextMate | Vim | VSCode | |
---|---|---|---|---|---|---|---|---|
Syntax Highlighting | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Snippets | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Code Completion | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Go To Definition | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Go To Documentation | ✓ | ✓ | ✓ | |||||
Mix Integration | ✓ | ✓ | ✓ | ✓ | ||||
IEx Integration | ✓ | ✓ | ✓ | ✓ | ||||
Linter | ✓ | ✓ | ||||||
Phoenix Support | ✓ | ✓ |
静的コード解析ツールの状況
Dialyzer
- 標準で入っているツール
- Erlang用の静的型解析ツールなので、コンパイルしないと使えない
Credo
- オープンソースのツール
- プロジェクトに依存を追加して使うようです
- Credo's Elixir Style Guideに準拠
- The Elixir Style Guideに準拠するstrictモード
- 1,411 GitHub Stars
Dogma
- オープンソースのツール
- プロジェクトに依存を追加して使うようです
- The Elixir Style Guideに準拠
- 色々調整したい場合はCredoを推奨しているようです
- 311 GitHub Stars
codebeat
- SaaS
- Elixir対応予定っぽいです
- GitHub、Bitbucket連携機能があり、Publicプロジェクトであれば無料
テスティングツールの状況
ExUnit
- 標準で入っているテスティングフレームワーク
BDD系
ESpec
- BDD フレームワーク
- RSpecインスパイア
- 305 Stars
- Phoenix用ESpecもありました
- ESpec.Phoenix
- 72 Stars
WhiteBread
- BDD フレームワーク
- Cucumberインスパイア
- 95 Stars
Pavlov
- BDD フレームワーク
- モッキング対応
- 117 Stars
Webテスト系
Hound
- ブラウザオートメーションツール
- Selenium(Firefox, Chrome), ChromeDriver, PhantomJSに対応
- 636 Stars
Wallaby
- ウェブアプリケーションテストフレームワーク
- PhantomJSに対応
- Ecto連携
- 284 Stars
TucoTuco
- ウェブアプリケーションテストフレームワーク
- Capybaraインスパイア
- PhantomJS, Firefox, ChromeDriver, Selenium Remote WebDriverに対応
- 51 Stars
efrisby
- REST APIテスティングフレームワーク
- Frisby.jsインスパイア
- Erlang製
- 13 Stars
その他
ExMachina
- Fixture Replacementツール
- Ecto連携
- factory_girl開発者
- 509 Stars
Meck
- Erlang製モッキングツール
- ESpec, Pavlovはこれを組み込んでいるそうです
- 486 Stars
Faker
- Fakerツール
- 189 Stars
ShouldI
- shouldaインスパイア
- 120 Stars
Power Assert
- power-assertインスパイア
- 73 Stars
まとめ
- Elixir実行環境を作ることと、コードを書くことについては整っていると感じました。
- 静的コード解析ツールはCredoがいい感じっぽいので、プルリクと組み合わせてコードレビューさせてみたいと思います。
- テスト系は人気ライブラリに倣ったツールが色々あるようです。
- 次は実際に使ってみたいと思います。