haml-lintでrubocopのlintをviewに対しても実行する

なんかlint色々整理したくなってきたので、続いてはhamlです。
sds/haml-lint を入れればokです。
おすすめポイントは、rubocopも見てくれます(もちろんindentなどviewに適用できないやつ以外)。
個人的には 昔記事に書いたslim-lint同様、お仕事でも使いたいやつです。

Installtaion

# Gemfile
gem 'haml_lint', require: false

bundle install すれば良いです。

実行

ディレクトリの指定なしでも動作しますが、対象は絞っておくと良いでしょう。
あとは、必要に応じて、.haml-lint.yml をメンテナンスしていけば良いです。

bundle exec haml-lint app/views/
# .haml-lint.yml 例
linters:
  LineLength:
    enabled: false
  ViewLength:
    enabled: false

こんな感じ。

ついでにvscode

haml-lint はあまり使われてないのか、ダウンロード数は少なめですが、一応こちらで動作しました。(thanks!!)
ただ、動作が遅いので継続して利用するかは分かりません。
Haml Lint - Visual Studio Marketplace

bundlerを利用していれば、以下の設定を入れておく必要があります。

"hamlLint.useBundler": true

See Also

slim-lintが良い
lefthookでgit hooksのタイミングでlintを行う