# Biome vs Oxlint: Comparison for Frontend Tooling ## Context Проект использует **ESLint v8** + **Prettier** для линтинга и форматирования. ESLint 8 устарел (ESLint 9 имеет полностью изменённый конфиг). Рассматриваем замену на современную Rust-тулзу, совмещающую линтинг и форматирование. ## Candidates ### Biome (v2.5.0) - **Linter + Formatter** в одном CLI (`biome check --write`) - 500+ правил (ESLint + TypeScript ESLint + другие источники) - Форматтер: **97% совместимость с Prettier**, ~35x быстрее - Поддержка: JS, TS, JSX, TSX, JSON, HTML, CSS, GraphQL - Единый конфиг `biome.json` вместо `.eslintrc` + `.prettierrc` - Встроенный import sorting (замена `eslint-plugin-import`) - Production usage: AWS, Google, Vercel, Microsoft, Discord, Cloudflare - Стабильный LTS-релиз, зрелое сообщество ### Oxlint + Oxfmt (Oxc Project) - **Oxlint**: 50-100x быстрее ESLint, 800+ правил - **Oxfmt**: ~3x быстрее Biome formatter, 30x быстрее Prettier - Type-aware linting через `tsgo` - ESLint JS Plugin Support (alpha) - **Два отдельных инструмента** с разными конфигами - Oxfmt в статусе **beta** - Под капотом: самый быстрый parser (3x SWC), resolver, minifier (alpha) - Бэкд: VoidZero (авторы Vite, Rolldown, Rspack) ## Comparison | Критерий | Biome | Oxlint + Oxfmt | |----------|-------|----------------| | Замена ESLint | ✅ 500+ правил | ✅ 800+ правил | | Замена Prettier | ✅ 97%, stable | ⚠️ Oxfmt beta | | Один CLI вместо двух | ✅ | ❌ два инструмента | | Production-ready | ✅ LTS | ⚠️ formatter beta | | Конфигурация | 1 файл | 2 файла | | Скорость линтинга | ~35x vs ESLint | ~50-100x vs ESLint | | Скорость форматирования | ~35x vs Prettier | ~3x vs Biome | | Сообщество | mature | growing | ## Verdict: Biome **Рекомендуется Biome** по трём причинам: 1. **Одна тулза** вместо двух — меньше конфигов, меньше CI-степов, меньше точек отказа 2. **Production-ready** — formatter стабилен, LTS-релизы, тысячи проектов в продакшене 3. **Плавная миграция** — встроенная команда `biome migrate eslint --write` переносит правила автоматически; `biome format` совместим с Prettier на 97%, не требуется массовых изменений кода Oxlint + Oxfmt перспективны (быстрее, больше правил), но Oxfmt ещё beta, и два инструмента усложняют конфигурацию. Если Oxfmt выйдет в stable — вопрос стоит пересмотреть.