FBCのRailsのプラクティスにERB Lintの導入が必須になったので概要を調べてみました。
結論
ERB LintとはrubocopではチェックできないERBファイルのスタイルをチェックしてくれるツール。
Shopify/erb-lint: Lint your ERB or HTML files
インストール
Gemfile
に追記してインストールする。
# Gemfile ... group :development do gem 'erb_lint', require: false ... end ...
$ bundle install
セットアップ
プロジェクトのルートに下記のような設定ファイル.erb-lint.yml
を追加。
$ cd project_root $ touch .erb-lint.yml
作成した.erb-lint.yml
に下記を追記。
--- glob: "**/*.{html,text,js}{+*,}.erb" exclude: - '**/vendor/**/*' - '**/node_modules/**/*' linters: # 自動生成したERBファイルの閉じタグを検証から除外する SelfClosingTag: enabled: false
glob
: ERB Lintを実行するファイルの指定exclude
: ERB Lintを実行しないファイルの指定linters
: ERB Lintを実行する際のルール設定
FBCでは自動生成したerbは規則に従っていないことが多いという理由から、自動生成したERBファイルの閉じタグは検証対象から除外することが推奨されていました。
SelfClosingTag
をfalse
にすることで除外できるようです。
Shopify/erb-lint: Lint your ERB or HTML files
実行コマンド
ERB Lint で良く使うコマンドです。
# glob にマッチした全ファイルにERB Lint を実行 $ bundle exec erblint --lint-all # glob にマッチした全ファイルにERB Lint を実行し、自動修正も行う $ bundle exec erblint --lint-all -a
今後やりたいこと
rubocopと連動させることもできるようなので使い方に慣れてきたらやってみようと思います。
まとめ
ERB Lintについて最低限の事は理解することができたので、あとはガシガシ使って使い方を覚えていこうと思います!
参照
RailsのプラクティスでERB Lintの実行を必須要件に追加しました | FBC