Разработчики линтера ESLint рассказали о релизе версии 9.0. Команда проекта исправила известные ошибки и добавила новые функции. Кроме того, линтер теперь не поддерживает работу с Node.js 18.18.0 и 19.
В блоге ESLint предупредили разработчиков, что выпустили крупное обновление, поэтому оно может не подтянуться автоматически из npm. Проверить актуальную версию можно с помощью команды npm i eslint@9.0.0 —save-dev. Кроме того, команда проекта отметила, что статус LTS находится у Node.js 20, поэтому версии 18.18 и 19 больше не поддерживаются.
Отдельно в релизе сообщили, что flat-конфигурации в ESLint используется по умолчанию, а формат eslintrc признали устаревшим. Если ваш проект пока не готов к миграции, то пока ещё можно продолжить использовать старый тип конфигурации. Для этого надо передать переменной среды ESLINT_USE_FLAT_CONFIG значение false. Новое правило влияет на разработчиков расширений, потому что под новую конфигурацию в ESLint пришлось многое переписать. Кроме того, в версии 9.0 появился инспектор файлов конфигурации, его можно запустить с помощью команды —inspect-config.
Другие нововведения в ESLint 9.0:
Удалили поддержку форматеров checkstyle, compact, jslint-xml, junit, tap, unix и visualstudio. Если вы их используете, то теперь придётся добавлять поддержку с помощью отдельных пакетов.
Плагины valid-jsdoc и require-jsdoc удалили и рекомендуют использовать вместо них eslint-plugin-jsdoc.
В конфигурацию eslint:recommended добавили новые правила, которые команда проекта считает важными.
Исправили ошибки в eslint-scope.
Улучшили производительность опции —quiet, которая скрывает все предупреждения в консоли.
При использовании flat-конфигурации запуск ESLint из командной строки без аргументов по умолчанию обработает текущий каталог.
Код ESLint опубликован на GitHub, а на сайте проекта находится подробное описание обновления, включая список исправленных ошибок.
Источник: habr.com