Skip to content

Oxlint: общая доступность (GA)

Эта заметка — про первый релиз общей доступности Oxlint. Актуальный стабильный релиз с гораздо большим числом возможностей описан в анонсе Oxlint v1.0 Stable.

Мы рады сообщить, что oxlint стал общедоступным (GA)! Это означает, что команда может оперативно разбирать и классифицировать issue.

Oxlint — линтер для JavaScript, который находит ошибочный или бесполезный код без обязательной конфигурации по умолчанию.

Как пользоваться

На этом этапе oxlint не претендует полностью заменить ESLint; это усиление там, где медленный ESLint становится узким местом.

Для более быстрой обратной связи имеет смысл запускать oxlint перед ESLint в lint-staged или CI — на больших кодовых базах это считанные секунды.

Проверить oxlint в своём JS/TS-проекте можно из корня репозитория:

sh
$ npx oxlint@latest
sh
$ pnpm dlx oxlint@latest
sh
$ yarn dlx oxlint@latest
sh
$ bunx oxlint@latest
sh
$ deno run npm:oxlint@latest

Подробнее — руководство по установке.

Дизайн

В 50–100 раз быстрее ESLint

В реальных условиях у Shopify прогон ESLint в CI занимал ~75 минут, с oxlint — порядка 10 секунд.

Цитата Джейсона Миллера (Shopify DX, создатель Preact):

oxlint стал огромным выигрышем для нас в Shopify. Прежний линтинг занимал ~75 минут, мы размазывали его по 40+ воркерам в CI.

oxlint проходит тот же код примерно за 10 секунд на одном воркере, вывод проще интерпретировать.

При миграции мы даже нашли несколько багов, которые старый пайплайн прятал или пропускал!

Выигрыш в скорости во многом из‑за того, что Oxlint изначально спроектирован под производительность: Rust и параллелизм.

Линтинг ради корректности

По умолчанию ищется ошибочный, лишний или запутывающий код; «придирчивые» категории (perf, suspicious, pedantic, style) выключены, чтобы не шуметь.

Простота

Настройка новых JS/TS-проектов всё сложнее; нередко часы уходят на стыки между инструментами.

Поэтому oxlint — zero-config из коробки; Node.js даже не обязателен. Большинство настроек — через CLI; чтение конфигура ESLint тогда ещё дорабатывалось.

Диагностики

Понимать сообщения линтера бывает трудно. Oxlint старается указывать причину и давать полезный текст — без долгого чтения документации правил.

oxlint -D perf в репозитории vscode:

Собранные правила

Плагинов пока нет, но активно переносятся правила из TypeScript, React, Jest, Unicorn, JSX-a11y и Import.

Плагины для экосистемы важны; параллельно изучают DSL для плагинов.

Зато получается автономный линтер — без длинного списка зависимостей плагинов, без танцев с совместимостью и форками из‑за версий.


Удачного линтинга и хороших праздников!

Дальше: установка, о проекте oxc, или обсуждение на Hacker News.