2022-1-28
自動的に生成されるファイルのGit管理に関して
npm install
とかのタイミングで生成されるファイルに関してGit管理すべきかどうか。- ビルド時に生成されるファイル(
dist
ディレクトリ的な)に関しては、Git管理すべきではないのは当然として。
- ビルド時に生成されるファイル(
- 少なくとも
npm install
タイミングで生成されるファイルはGit管理するべき。(MSWのmockServiceWorker.js等、パッケージのpostinstall
タイミングで生成されるもの)- 理由は、CI等で生成されない状況があるため。
node_modules
がキャッシュされていると、既にパッケージが存在しているためインストールが実行されず、結果postinstall
が発火しないという状況がある。かなりある。結果、自動生成されるべきファイルが生成されないので動作がおかしくなる。
- 理由は、CI等で生成されない状況があるため。
- 自動生成されるファイルをGit管理するときは、CIで「差分が発生していないか」のチェックをしたほうがいい
- 参考:https://zenn.dev/chanmoro/scraps/06c972692f98df
- ローカルで自動生成されるファイルに修正を加えているが、CIではファイルが自動生成され上書きされ、最終的にローカルと異なる状態のファイルがデプロイされるという事故を防ぐため。
- というかこれに関しては、CIでのテストとかをする時に最後にやっておいたほうが良いと思う
- ファイルの自動生成以外でも、なんらかの拍子に差分が発生していてローカルとCIで挙動が変わる可能性はある。