Skip to content

Политика версионирования

Oxlint следует семантическому версионированию, чтобы обновления были предсказуемыми.

Ломающие изменения:

  • Изменения CLI, ломающие существующие сценарии
  • Изменения файла конфигурации (.oxlintrc.json), ломающие текущие настройки
  • Переименование или удаление правила

Неломающие изменения:

  • Новые правила линтинга
  • Изменение конфигурации по умолчанию для правила
  • Улучшение описаний правил или текста диагностик
  • Новые опции у существующих правил
  • Исправления поведения правила для соответствия оригиналу ESLint
  • Новые поля в файле конфигурации

Вне semver

Следующие возможности semver не гарантируют: ломающие изменения возможны в любых релизах, включая патчи и миноры:

  • Пользовательские JS-плагины — API и поведение могут меняться без предупреждения
  • Линтинг с типами — правила и поведение эволюционируют

Новые ошибки линтера — это ломание?

Если новая версия Oxlint находит больше проблем, это ожидаемо: так улучшается анализ, а не «ломается» ваш проект. Новые сообщения — следствие более строгой проверки, а не некорректного обновления.

Чего ждать от релизов

  • Патч (1.0.x): исправления, быстродействие, внутренние рефакторинги. Обновлять безопасно.
  • Минор (1.x.0): новые правила, диагностики, возможности. Не считается ломающим, даже если появятся новые замечания в коде.
  • Мажор (x.0.0): резерв для ломающих изменений CLI или формата конфигурации.

С Renovate Bot

Добавьте в конфиг Renovate, чтобы Oxlint обновлялся автоматически:

renovate.json
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.