Для чего нужны линтеры?
Продвинутые темы
Линтеры нужны, чтобы автоматически находить ошибки, потенциальные баги и нарушения стиля в коде без его запуска — обеспечивая качество и единообразие.
Зачем нужны
Находят ошибки и баги
Необъявленные переменные, недостижимый код, == вместо ===, забытый await, неиспользуемые переменные:
if (x = 5) {} // линтер предупредит: присваивание вместо сравненияЕдиный стиль
Правила именования, структуры, форматирования — одинаковый код в команде без споров.
Best practices
Правила для React (hooks), доступности (jsx-a11y), безопасности, импортов.
Раннее обнаружение
Проблемы видны в редакторе/при коммите, до ревью и рантайма.
ESLint (стандарт)
// eslint.config.js (flat config)
export default [{ rules: { 'no-unused-vars': 'error', eqeqeq: 'error' } }];Плагины: react, import, jsx-a11y, @typescript-eslint.
Линтер против форматтера
- Линтер (ESLint) — качество кода, логика, баги, стиль.
- Форматтер (Prettier) — только форматирование.
Часто вместе.
Интеграция
- Редактор (подсветка), pre-commit хуки (lint-staged), CI (блокировка мержа).
- Автофикс:
eslint --fix.
Коротко для собеседования
Линтеры (ESLint) находят ошибки, потенциальные баги (==, забытый await), нарушения стиля и best practices без запуска кода. Дают единый стиль в команде, раннюю ловлю проблем и автофикс. Отличаются от форматтеров (Prettier — только форматирование). Интегрируются в редактор, pre-commit и CI.