.gitignore для Node.js / Frontend

Готовый .gitignore для Node.js и frontend-проектов — исключает node_modules, build-артефакты, env-файлы и системный мусор.

Задача

Новый проект нужно сразу защитить от случайного коммита node_modules, скомпилированных файлов и секретов. Вручную перечислять всё — долго; лучше использовать проверенный шаблон.

Решение

# Зависимости
node_modules/
.pnp
.pnp.js

# Сборка
dist/
build/
out/
.next()/
.nuxt/
.vite/

# Кэш инструментов
.cache/
.parcel-cache/
.eslintcache
.stylelintcache

# Окружение и секреты
.env
.env.local
.env.*.local
*.pem

# Логи
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Тесты / покрытие
coverage/
.nyc_output/

# Редакторы
.vscode/settings.json
.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# OS
.DS_Store
Thumbs.db

# TypeScript
*.tsbuildinfo

# Yarn v2+
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz

Добавить в проект:

curl -o .gitignore https://www.toptal.com/developers/gitignore/api/node,react,vue
# или вручную — скопировать шаблон выше

Ключевые моменты

  • node_modules/ — никогда не коммитится; восстанавливается через npm install.
  • .env — содержит секреты; добавляй .env.example с заглушками для документирования переменных.
  • Build-папки (dist/, build/) нужны в .gitignore, если их генерирует CI/CD.
  • .DS_Store и Thumbs.db — мусор macOS/Windows, бесполезен в репозитории.

Варианты

  • gitignore.io — генератор под конкретный стек: https://www.toptal.com/developers/gitignore.
  • GitHub шаблоны — при создании репо через UI можно выбрать готовый шаблон Node.
  • Global gitignore~/.gitignore_global для системных файлов, чтобы не дублировать в каждом проекте.

Когда НЕ использовать

  • Если в dist/ коммитится готовая библиотека для npm — исключи dist/ из .gitignore.
  • Монорепо со своей структурой могут требовать отдельных .gitignore в каждом пакете.

Связанные рецепты / темы