Линтеры и форматтеры
Линтер ловит проблемы (неиспользуемые переменные, подозрительные конструкции), форматтер выравнивает стиль до одного знака. Вместе — «нормы девелопмента» в одном файле конфига.
ESLint + Prettier
npm i -D eslint prettier eslint-config-prettier
// eslint.config.js (flat config)
export default [
{
files: ["src/**/*.{js,ts,jsx}"],
ignores: ["dist/"],
rules: {
"no-unused-vars": "error",
"prefer-const": "error",
eqeqeq: ["error", "always"]
}
},
// отключаем правила, конфликтующие с форматтером
eslintConfigPrettier
];
Как это живет в команде
- форматирование — на сохранении файла (in VS Code: Format on Save);
- линт — в CI на каждый PR: красная проверка останавливает вливание;
- правила — в конфиге, а не «в головах»: новичок пишет в общем стиле с первого коммита;
- pre-commit хук (husky + lint-staged) чинит формат перед коммитом.
💡
Читайте ошибки линтера как подсказки языка: «no-unused-vars» часто значит «ты забыл использовать результат», «eqeqeq» — «помни про строгие сравнения».
ℹ️
Конфликты на тему «одна таб или четыре пробела» в зрелых командах не обсуждаются — это просто правило в конфиге. Инструменты созданы, чтобы не спорить о вкусе.