Key Changes

Oxlint apps_v1.62.0 представляет значительные обновления, в основном сфокусированные на расширении и стабильности правил линтера. Ключевым направлением является улучшенная поддержка Vitest, где многие правила, ранее специфичные для Jest, теперь разделены на их аналоги для Vitest (например, vitest/prefer-to-contain, vitest/no-mocks-import). Это обеспечивает более точный и гранулированный линтинг для тестовых наборов Vitest.

Добавлены новые правила линтера для различных экосистем:

  • Vue: Правила, такие как no-deprecated-delete-set и no-deprecated-events-api, помогают выявлять и предотвращать использование устаревших API.
  • React: Новые правила включают react/no-did-update-set-state и forbid-component-props.
  • ESLint: Теперь реализованы func-name-matching и no-underscore-dangle.

Внутренние breaking changes в AST были введены для уменьшения размера, что может положительно сказаться на производительности. Несколько правил были перенесены из категории nursery в более стабильные категории (pedantic, correctness), что указывает на их зрелость.

Bug Fixes

Обновление устраняет несколько проблем, включая разрешение строковых сообщений в правиле valid-expect для Vitest и корректное обнаружение TS и модульных скриптов Svelte. Исправлены ложные срабатывания в правилах доступности, таких как role-supports-aria-props и iframe-has-title, что повышает точность линтинга. Добавлены фиксеры для no-non-null-asserted-nullish-coalescing и no-extra-non-null-assertions.

Impact for QA Teams

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