React プロジェクト用 .gitignore
Create React App、Vite、またはカスタム webpack で構築された React アプリ向けに最適化された .gitignore。ビルドフォルダ、キャッシュ、環境変数ファイルを網羅します。
Framework
詳細な説明
React プロジェクトは Node.js のパターンをほとんど引き継ぎますが、フレームワーク固有のディレクトリやビルドアーティファクトの除外が追加で必要です。適切な .gitignore はビルドツールによって異なります。
Create React App (CRA):
build/—npm run buildによる本番ビルド出力。ミニファイされハッシュ化された JavaScript と CSS バンドルを含みます。完全に再現可能であり、CI でビルドすべきもので、コミットすべきではありません。node_modules/— すべての Node.js プロジェクトと同様に、依存関係はコミットしません。
Vite ベースの React プロジェクト:
dist/— Vite はデフォルトでbuild/ではなくdist/に本番ビルドを出力します。.vite/— Vite の依存関係プリバンドルキャッシュディレクトリ。
共通の React パターン:
.env.local、.env.development.local、.env.production.local— API キーやフィーチャーフラグを含む環境オーバーライド。CRA と Vite はこれらを自動的にロードします。ベースの.envファイルは通常、機密性のないデフォルト値でコミットしますが、.env.localは必ず無視してください。coverage/— Jest または Vitest のテストカバレッジ。storybook-static/— ビルド済みの Storybook ドキュメントサイト。コンポーネント開発に Storybook を使用している場合、静的出力は無視します。.eslintcache— リントを高速化する ESLint キャッシュファイルですが、マシン固有です。*.tsbuildinfo— TypeScript のインクリメンタルコンパイルキャッシュ。ローカルでは有用ですが、リポジトリには不要です。
モノレポの考慮事項: React アプリがモノレポ(Turborepo、Nx、Lerna)内にある場合、各パッケージに独自の dist/ や build/ ディレクトリがある可能性があります。**/dist/ のようなパターンを使用するか、すべてのワークスペースをカバーするルートレベルの .gitignore を追加してください。
コミットすべきもの: package-lock.json、tsconfig.json、.eslintrc 設定ファイルは常にコミットしてください。チーム全体で一貫した開発環境を確保するためです。
ユースケース
Create React App から Vite に移行するフロントエンドチームが、新しい dist/ 出力ディレクトリをカバーしつつ既存の無視ルールを維持するために .gitignore を更新する必要があります。