1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【husky】コミットと同時にESLint、プッシュと同時にJestを自動で走らせる

Posted at

作成したNext.jsのプロジェクトにhuskyを用いて以下の機能を追加します。

commit時にESLintを走らせてerrorがあればcommitさせない
push時にJestを走らせてerrorがあればpushさせない

huskyとは
コミットやプッシュの前にテストなどを実行して、失敗したら止めることができる Git hooks を簡単に設定することができるツール。

導入手順

※以下yarnを使用したhuskyの導入についての説明をしていきます。

lint-stagedの導入

$ npx mrm lint-staged

② NPM スクリプトに追加

package.json
{
  "scripts": {
    "lint-staged": "lint-staged"
  }
}

③husky の追加

$ yarn add -D  husky@next

④Git hooks の有効化

$ yarn husky install

⑤package.jsonに追加

package.json
~~
"husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "yarn test"
    }
  }

~~

以上です。

動作確認

  • $ git commit -m "<message>"を入力してESLintが走った様子

a

  • $ git pushを入力してJestが走った様子
    a

もしhuskyが走らなかったら...

.git/hooks が正常に作成されていない可能性があります。
以下コマンドで確認しましょう。

$ ls -la .git/hooks/ls -la .git/hooks/

.sample しかなかったら再度huskyをインストールしましょう。

$ yarn remove huksy

参考

https://www.youtube.com/watch?v=R35LJL6a-p0&t=1629s
https://qiita.com/282Haniwa/items/dcce1ba6bb6ae541893e#husky%E3%81%AE%E5%B0%8E%E5%85%A5

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?