intermediate

lint-staged

Запускайте быстрые проверки только на staged-файлах, не ослабляя полные CI gates проекта.

lint-staged запускает команды только на staged файлах Git — удобно для быстрого Prettier/ESLint перед commit без сканирования всего монорепо.

					{
  "lint-staged": {
    "*.{ts,tsx}": ["eslint --fix", "prettier --write"]
  }
}
				

Часть проверок требует контекста всего проекта: project references TypeScript, import boundaries, правила на весь граф. Им место в CI или в `pnpm lint`, не только на staged.

На интервью: лимиты staged scope, partial staging с write-back форматирования, тюнинг производительности и почему lint-staged — удобство, не доказательство.

Типовые ошибки: staged ESLint вместо type errors; несогласованные fix при частичном stage; регрессии монорепо не видны.

Компромисс — локальная скорость против неполных гарантий корректности.

Чеклист:

  • Быстрые auto-fixable проверки.
  • Project-wide typecheck в CI.
  • Осторожно с partial hunks.
  • Документируйте, что hooks не покрывают.