Политика версионирования
Oxlint следует семантическому версионированию, чтобы обновления были предсказуемыми.
Ломающие изменения:
- Изменения CLI, ломающие существующие сценарии
- Изменения файла конфигурации (
.oxlintrc.json), ломающие текущие настройки - Переименование или удаление правила
Неломающие изменения:
- Новые правила линтинга
- Изменение конфигурации по умолчанию для правила
- Улучшение описаний правил или текста диагностик
- Новые опции у существующих правил
- Исправления поведения правила для соответствия оригиналу ESLint
- Новые поля в файле конфигурации
Вне semver
Следующие возможности semver не гарантируют: ломающие изменения возможны в любых релизах, включая патчи и миноры:
- Пользовательские JS-плагины — API и поведение могут меняться без предупреждения
- Линтинг с типами — правила и поведение эволюционируют
Новые ошибки линтера — это ломание?
Если новая версия Oxlint находит больше проблем, это ожидаемо: так улучшается анализ, а не «ломается» ваш проект. Новые сообщения — следствие более строгой проверки, а не некорректного обновления.
Чего ждать от релизов
- Патч (1.0.x): исправления, быстродействие, внутренние рефакторинги. Обновлять безопасно.
- Минор (1.x.0): новые правила, диагностики, возможности. Не считается ломающим, даже если появятся новые замечания в коде.
- Мажор (x.0.0): резерв для ломающих изменений CLI или формата конфигурации.
С Renovate Bot
Добавьте в конфиг Renovate, чтобы Oxlint обновлялся автоматически:
json
{
"extends": ["config:recommended"],
"packageRules": [
{
"matchPackageNames": ["oxlint"],
"groupName": "oxlint",
"automergeType": "branch",
"stabilityDays": 1
}
]
}Если используете eslint-plugin-oxlint, обновляйте его вместе с Oxlint из‑за совместимости.
С Dependabot
Фрагмент для автоматических обновлений Oxlint:
yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/" # location of package.json
schedule:
interval: "daily"
groups: # group all Oxlint updates together
oxlint:
patterns:
- "oxlint"
commit-message: # keep the history tidy
prefix: "chore"
include: "scope"
ignore: # optional: ignore future majors
- dependency-name: "oxlint"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 1 # one PR at a timeЕсли используете eslint-plugin-oxlint, обновляйте его синхронно с Oxlint.