PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Для чего нужны линтеры?

Продвинутые темы

Линтеры нужны, чтобы автоматически находить ошибки, потенциальные баги и нарушения стиля в коде без его запуска — обеспечивая качество и единообразие.

Зачем нужны

Находят ошибки и баги

Необъявленные переменные, недостижимый код, == вместо ===, забытый 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.

Другие вопросы раздела