Node.js プロジェクト用 .gitignore

Node.js プロジェクト向けの完全な .gitignore テンプレート。node_modules、ビルド出力、環境変数ファイル、デバッグログ、パッケージマネージャーのキャッシュを網羅しています。

Language

詳細な説明

Node.js の .gitignore が重要なのは、node_modules/ ディレクトリだけで数万ファイル、数百メガバイトに達することがあるからです。これをコミットするとリポジトリが肥大化し、マージコンフリクトが発生し、あらゆる git 操作が遅くなります。

Node.js プロジェクトに必須のパターン:

  • node_modules/ — 依存関係ディレクトリ。最も重要な行です。共同開発者は package-lock.json から npm install で再生成します。
  • dist/build/ — TypeScript、Babel、webpack や esbuild などのバンドラーによるコンパイル出力。再現可能な成果物であり、バージョン管理すべきではありません。
  • .env.env.localAPI キー、データベース認証情報、シークレットを含むことが多い環境変数ファイル。公開リポジトリへの漏洩はよくあるセキュリティインシデントです。
  • coverage/ — Jest、c8、Istanbul が生成するテストカバレッジレポート。必要に応じて生成され、マシンごとに異なります。
  • .npm.yarn/cache — マシン固有のパッケージマネージャーキャッシュディレクトリ。
  • *.log — npm、yarn、またはアプリケーションランタイムのログファイル(例: npm-debug.logyarn-error.log)。
  • .next/.nuxt/ — Next.js や Nuxt を使用している場合のフレームワーク固有のビルドキャッシュ。

Pro tip: package-lock.json(または yarn.lock / pnpm-lock.yaml)は必ずコミットしてください。lockfile はすべての環境で決定論的なインストールを保証します。これを無視すると、推移的依存関係のバージョン違いによる「自分の環境では動く」問題が発生します。

適切に管理された .gitignore は、リポジトリを軽量に保ち、CI パイプラインを高速にし、シークレットを安全に守ります。GitHub 公式の Node 用テンプレートから始めて、自分のスタックやツール要件に合わせてカスタマイズしましょう。

ユースケース

チームが新しい Express.js API プロジェクトを開始する際に、node_modules や .env シークレットを共有リポジトリにコミットするのを防ぐための包括的な .gitignore が必要です。

試してみる — .gitignore Generator

フルツールを開く