3
0

More than 3 years have passed since last update.

チーム開発で異なる環境でも、pre-commitでコマンドを正しく実行する

Last updated at Posted at 2021-05-30

開発メンバー内で、開発環境をローカルで立てるか、Dockerにするかなど、分かれることがあるかもしれません。(本当は統一すべきと思いますが、あまりローカル環境を汚したくないとか、Docker 遅いとかあるので)
そうした時、pre-commit などで prettier などを実行している場合、環境によって多少コマンドが変わってくるかと思います。

環境が異なっても、pre-commit などで正しくコマンドを実行して欲しい問題の解決法を記載します。

解決方法

  • .env ファイルで、Docker を利用しているか否かを記載する
  • pre-commit で実行されるコマンドを、 .env の内容に応じて場合分けしてあげる

.env を設定する

.env
DOCKER_ENABLE=false

pre-commit の script の変更

  • husky v6 の記載になります。
.husky/pre-commit
#!/bin/sh

. "$(dirname "$0")/_/husky.sh"
. "$(dirname "$0")/../.env"

if "${DOCKER_ENABLE}"; then
  docker run --rm -v $CWD:ボリュームするディレクトリ イメージ名 yarn format
  exit -1
fi

yarn format

これで、Docker を利用する場合はコンテナ上で format を、
利用していない場合は、ローカルで format を実行できます。

もっと良いやり方はあるかもしれませんが、ひとまずこれで解決はできそうです。

3
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
3
0