リントに便利な、開発者ツール「 husky 」🐶を使おう!


  1. Staff Blog
  2. ウェブ制作・IT
  3. リントに便利な、開発者ツール「 husky 」🐶を使おう!

これは「Vektor WordPress Solution Advent Calendar 2020」21日目の記事です。

この記事は、開発時に手動でリントコマンドを実行していて、もっと良い方法がないか?と思っている方向けです。この記事を読むことで、huskyというツールを使って、コミット時にコマンドを自動実行する方法を知ることができます。

こんにちは、Vektor,Inc. で VK BlocksVK Blocks Pro の開発を担当しています。大橋直記 @naogifyです。

現在 Vektor,Inc. で鋭意導入を進めている便利な開発者ツールについて紹介します。

huskyとは?

まず、この husky とは何か?について3行でまとめると。

  • npmパッケージ
  • コミットやプッシュ時に、任意のコマンドを自動で実行できる
  • リントやテストコマンドと組み合わせて使う

つまり、これを使うことで、手動でリントコマンドを打つ必要がなくなるという事です。

こういった小さな積み重ねが開発スピートに関わってきますので、大事ですね。

husky – npm | NPMレポジトリ

Husky | 公式ドキュメント

導入方法

導入は簡単です。

$ npm install husky --save-dev

をして、

package.jsonに以下を追加します。
{
  "husky": {
    "hooks": {
      "pre-commit": "npm test",
      "pre-push": "npm test",
    }
  }
}

pre-commit に設定したコマンドが、git commit した時に実行されます。同じく pre-push に設定したコマンドは、git push 時に実行されます。

ベクトルのあるプロジェクトでは、package.jsonに以下のように書いています。

これで フォーマットとリントを自動で実行してくれます。

{
	"scripts": {
		"format:js": "wp-scripts format-js",
		"lint:js": "wp-scripts lint-js",
	},
	"devDependencies": {
		"@wordpress/scripts": "^12.2.1",
		"husky": "^4.3.0"
	},
	"husky": {
		"hooks": {
			"pre-commit": "npm run format:js && npm run lint:js,
		}
	}
}

リントを導入する事で、定義されていない変数の使用などもをチェックしてくれるので、
かなり開発が楽になりました。

皆様もぜひ、試してみてください。Have a happy Dev life!

明日22日は、@kaorock72 さんによる、Lightning Pro から Katawara にテーマを変更したらどうなるかやってみた! です。
お楽しみに!

👋

この記事を書いた人

大橋直記
大橋直記
和歌山在住のWordPress Plugin Developer、ベクトルでは主にGutenbergのカスタムブロックプラグインの開発を担当しています。

Core Contributor(5.1)
フルサイト編集に対応したブロックテーマ X-T9

フルサイト編集対応ブロックテーマ

WordPress テーマ X-T9 は、WordPress 5.9 から実装されたフルサイト編集機能に対応した「ブロックテーマ」と呼ばれる新しい形式のテーマです。
ヘッダーやフッターなど、今までのテーマではカスタマイズが難しかったエリアもノーコードで簡単・柔軟にカスタマイズする事ができます。

パターンを使って

よりクオリティの高いサイトに

パターンとは、WordPressのブロックを組み合わせて作ったデザインテンプレートのようなもの。プロのデザイナーが制作したパターンを300以上公開中!コピペしながら高品質なサイトを簡単に作れます。

VK AB Testing は、ABテストを実施するための WordPress 用プラグインです。ブロックエディターでテストパターンを自由に作成でき、ランダム表示とクリック計測が可能です。Webサイトや広告などの施策の改善にぜひご活用ください。


このデモサイトは Vektor,Inc. のテーマとプラグインで構築されています。ご購入や詳細情報は下記のリンクもご参考ください。

PAGE TOP