浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【Git】【JavaScript】simple-git-hooks でフック内容更新のための npx simple-git-hooks を省く小技

toplenboren/simple-git-hooks: A simple git hooks manager for small projects
 simple-git-hooks は JavaScript 製の Git フックライブラリです。具体的には Git でコミットする直前、プルした直後などに自動で実行されるプログラムを楽に定義してくれます。このライブラリの特筆すべき点は package.json にパパっと書くだけで処理内容を実装できる点です。複雑な処理を書くのには向いていませんがコードの整形等を走らせたいだけ、の様な軽い処理について特に便利です。
 例えば、次の様に記述することでコミットの直前に lint-staged(git add でステージングされているファイルに linter をかけるためのライブラリ)を実行できます。
 okonet/lint-staged: 🚫💩 — Run linters on git staged files

# package.json
{
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged",
  }
}

 この様に便利な simple-git-hooks ですが、上述の package.json に記述された simple-git-hooks 内の処理を書き換えた場合、いちいちnpx simple-git-hooksとコマンドを実行する必要があります。これはいささか手間です。次の様にすることでこの手間を省けます。

# package.json
{
  "scripts": {
    "pre-commit": "npx lint-staged",
  },
  "simple-git-hooks": {
    "pre-commit": "npm run pre-commit",
  }
}

 simple-git-hooks には packge.json に定義した pre-commit というスクリプトを走らせるという定義のみ記述し、具体的な処理は scripts の pre-commit の方に記述します。こうすることで一々npx simple-git-hooksとコマンドを実行せずとも scripts の方を変更するのみで Git フックの処理内容を書き換えられます。

  • この記事いいね! (0)