ESLint, популярный линтер для JavaScript и TypeScript, выпустил версию 10, что стало значительным шагом вперед в его развитии. Эта версия продолжает улучшать разработческий опыт, особенно для команд, работающих с монорепозиториями, убирая поддержку устаревших API и оптимизируя систему конфигураций.
Что нового в версии 10
Главное изменение в версии 10 — полное удаление устаревшей системы конфигурации eslintrc. С момента выпуска версии 9, плоская конфигурация (eslint.config.js) стала стандартной, но старый формат все еще оставался доступным через LegacyESLint. Теперь эта совместимость убрана полностью, и команды, использовавшие .eslintrc файлы, должны будут мигрировать к новой системе перед обновлением. Для упрощения перехода доступен официальный инструмент миграции, который создает новый конфигурационный файл и позволяет его настроить.
При этом ESLint теперь ищет файл конфигурации не от текущего рабочего каталога, а из директории каждого анализируемого файла. Это существенное улучшение для монорепозиториев, где разные пакеты могут требовать различных правил, и поможет избежать путаницы в конфигурациях.
Улучшения для разработчиков
Также в ESLint 10 улучшена поддержка JSX. Ранее JSX идентификаторы не считались переменными, что приводило к ошибкам с правилами, такими как no-unused-vars. Теперь компоненты, которые импортируются и используются только в JSX, не будут ошибочно отмечаться как неиспользуемые. Это избавляет разработчиков от необходимости применять дополнительные плагины для решения этой проблемы.
Кроме того, обновлена API RuleTester с новыми опциями для более строгого тестирования правил. Это включает в себя возможность требовать сообщения, местоположения и данных, что упрощает процесс отладки в больших наборах правил.
Практические выводы для разработчиков
Для российских веб-разработчиков эти изменения означают, что стоит как можно быстрее адаптироваться к новой конфигурации ESLint, так как поддержка старой версии больше не будет актуальна. Упрощение работы с JSX также поможет улучшить качество кода и сократить время на исправление ошибок, что особенно важно для больших проектов.
Следующий шаг — отслеживание обновлений сообществом и поддержка плагинов. Возможно, в ближайшие месяцы мы увидим новые версии популярных библиотек, адаптированных под изменения ESLint 10.