ウェブサービスを作っています。

Git のコミット前に sass-lint を実行する

追記(2022/1/26): husky v7.0.4 と lint-staged v12.3.1 で動くように修正しました。

昨日の記事 の続きです。

sass-lint -v を手動で実行するのは大変なので、git commit 時に自動実行するようにします。


必要なツールのインストール。

yarn add lint-staged husky --dev

package.json に以下を追加。

{
  "lint-staged": {
    "*.sass": "sass-lint -v -q"
  },

  "scripts": {
    "prepare": "husky install"
  }
}

husky の 設定。

yarn run prepare
yarn run husky add .husky/pre-commit "yarn lint-staged"

.sass-lint.yml を修正して、warning ではなく error になるようにします。

options:
  merge-default-rules: false

files:
  include: 'app/assets/stylesheets/**/*.sass'

rules:
  hex-length: 2
  mixins-before-declarations: 2
  no-trailing-whitespace: 2
  pseudo-element: 2
  property-sort-order: 2
  zero-unit: 2

以上で、Lint が通らないとコミットできなくなります。

参考