TL;DR

  • Введены новые правила ESLint (id-match, no-implied-eval) и специфичные для React правила линтинга.
  • Улучшена интеграция с Vitest, добавлено новое правило и оптимизирована обработка плагинов.
  • Реализованы оптимизации производительности для ускоренного статического анализа.

Key Changes

Oxlint v1.66.0 представляет ряд значительных улучшений для качества кода. Новые функции включают реализацию нескольких правил ESLint, в частности id-match для обеспечения согласованности именования идентификаторов и no-implied-eval для предотвращения потенциальных уязвимостей безопасности. Разработчики React получат выгоду от новых правил линтинга, таких как no-object-type-as-default-prop и no-unstable-nested-components, которые помогают применять лучшие практики в проектировании компонентов. Поддержка Vitest также расширена правилом padding-around-after-all-blocks, наряду с улучшенной обработкой для предотвращения непреднамеренных конфликтов при наличии плагинов Jest. Заметным внутренним изменением является способность линтера автоматически определять агентов из CLI, переходя на более структурированный формат вывода агентов, что может быть полезно для интеграции с CI/CD-конвейерами.

Исправления ошибок в этом выпуске затрагивают критические проблемы, включая улучшенное обнаружение вызовов Promise в promise/no-return-wrap во всех ветвях, расширенную поддержку выражений для iframe-has-title и обеспечение всестороннего выполнения правила no-find-dom-node для всех соответствующих файлов. Улучшения производительности также находятся в центре внимания, с оптимизациями для таких правил, как no-loop-func, и лучшим выравниванием количества потоков “walker”, что способствует более быстрому статическому анализу. Кроме того, Oxfmt v0.51.0 получил незначительные исправления ошибок, связанные с сортировкой импортов и нормализацией ключей деструктуризации.

Impact for QA Teams

Для команд QA эти обновления напрямую приводят к улучшению качества кода на ранних этапах. Новые правила линтинга позволяют разработчикам выявлять более широкий спектр проблем, от несоответствий в именовании до потенциальных ошибок времени выполнения и антипаттернов, специфичных для React, гораздо раньше в цикле разработки. Такой проактивный подход сокращает количество дефектов, попадающих на этапы тестирования, позволяя инженерам QA сосредоточиться на более сложных сценариях и пользовательском опыте. Более высокая производительность линтинга также означает более быстрые циклы обратной связи, поддерживая гибкую разработку и усилия по непрерывной интеграции, что в конечном итоге приводит к более стабильным релизам.