Расчет версий по Semver и проверка диапазонов

ДанныеРазработчикТекст
Реклама · УДАЛИТЬ?
Выберите операцию с семантической версией. Поле формы автоматически настраивается.
Строгая синтаксис SemVer 2.0.0 — major.minor.patch[-prerelease][+build].
Сравнивается с Версией A с использованием строгого приоритета SemVer.
Стиль npm/Composer. Поддерживает ^, ~, x, *, операторы сравнения, диапазоны с дефисом и ||.
Опциональный идентификатор для увеличения предварительных версий (например, alpha, beta, rc).
Каждая строка интерпретируется как версия. Недействительные строки отображаются отдельно.
Реклама · УДАЛИТЬ?

Гид

Расчет версий SemVer и проверка диапазона

Расчет версий по Semver и проверка диапазонов

Все в одном рабочем месте для семантической версии (SemVer 2.0.0) для разработчиков. Проверка строк версий, сравнение двух версий с строгим приоритетом, проверка того, удовлетворяет ли версия выражению диапазона в стиле npm/Composer (^, ~, x, диапазон с дефисом, операторы сравнения), увеличение версии с мажорными/минорными/патчными/предварительными изменениями и сортировка больших списков версий с полным учетом предварительных версий — все на стороне клиента, без необходимости установки.

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

  1. Выберите необходимую операцию из выпадающего списка Операция — Проверка, Сравнение, Удовлетворение диапазона, Увеличение или Сортировка.
  2. Заполните поля версий и/или диапазона, которые появляются в форме для выбранной операции.
  3. Сразу прочитайте результат — инструмент показывает обзор статуса, детализацию по компонентам и каноническую версию, которую можно скопировать или загрузить.
  4. Для удовлетворяетинструмент также показывает, как каждый компаратор в вашем диапазоне был соответствующим образом сопоставлен, чтобы вы могли увидеть, какие из них приняли или отклонили версию.

Возможности

  • Строгая проверка SemVer 2.0.0 — отклоняет ведущие нули в идентификаторах предварительных версий, отсутствующие патчи, некорректные метаданные и другие распространённые ошибки.
  • Сравнение двух версий — возвращает -1 / 0 / 1 с понятным выводом и детализацией по компонентам: мажорный, минорный, патчный, предварительный и сборочный.
  • Удовлетворение диапазона — поддерживает диапазоны с символом caret (^1.2.3), символом тильды (~1.2.0), диапазоны x (1.2.x), диапазоны с дефисом (1.0.0 – 1.5.0), операторы сравнения (>=, <=, >, <, =), and OR (||).
  • Увеличение версии — увеличение мажорных, минорных, патчных, предпатчных, предминорных, предмажорных и предварительных версий с опциональным идентификатором (alpha, beta, rc).
  • Сортировка пакетов — вставьте одну версию на строку, сортируйте по возрастанию или убыванию; недействительные строки отображаются отдельно, чтобы вы могли их исправить.
  • Приоритет предварительных версий — следует правилу SemVer, согласно которому версии предварительного выпуска имеют более низкий приоритет по сравнению с соответствующими обычными версиями.
  • Учет сборочных метаданных — сборочные метаданные анализируются и отображаются, но игнорируются при определении приоритета, как это требует спецификация.
  • Копирование и загрузка — получите результат в виде текста или загрузите его одним кликом.

Часто задаваемые вопросы

  1. Что такое семантическая версия (SemVer)?

    Семантическая версия — это публичная спецификация (semver.org), которая предоставляет программным продуктам осмысленный трехкомпонентный номер версии — MAJOR.MINOR.PATCH. Компонент MAJOR увеличивается при разрушительных изменениях, MINOR — при добавлении совместимых с обратной совместимостью функций, а PATCH — при исправлении ошибок без нарушения обратной совместимости. Можно добавить опциональные метки предварительного выпуска (-beta.1) и метаданные сборки (+sha.abc123).

  2. Что означает оператор caret (^) в диапазоне?

    ^X.Y.Z принимает все версии, при которых не меняется первый ненулевой компонент. ^1.2.3 означает >=1.2.3 и =0.2.3 и =0.0.3 и <0.0.4. Это является стандартным оператором, используемым npm при сохранении зависимости.

  3. Как отличается оператор тильды (~) от оператора caret?

    ~X.Y.Z более консервативен, чем ^. Он позволяет изменения на уровне патча только при указанном MINOR — ~1.2.3 означает >=1.2.3 и =1.0.0 и <2.0.0).

  4. Как сравниваются версии предварительного выпуска?

    Версии предварительного выпуска имеют более низкий приоритет по сравнению с соответствующими обычными версиями (1.0.0-alpha < 1.0.0). Идентификаторы сравниваются слева направо: числовые идентификаторы сравниваются численно, алфавитно-цифровые — лексически, а меньшее количество полей имеет более низкий приоритет по сравнению с большим.

  5. Почему метаданные сборки игнорируются при сравнении версий?

    Спецификация SemVer 2.0.0 утверждает, что метаданные сборки (суффикс +abc.123) должны игнорироваться при определении приоритета версий. Две версии, отличающиеся только метаданными сборки, считаются равными по порядку, даже если они не являются буквально одинаковыми строками.

  6. Почему моя версия предварительного выпуска не удовлетворяет ^1.2.0?

    По конвенции диапазонов npm версия предварительного выпуска, например 1.5.0-beta.1, удовлетворяет диапазону только если хотя бы один компаратор в этом диапазоне явно упоминает предварительную версию для той же MAJOR.MINOR.PATCH. Это предотвращает случайное проникновение версий предварительного выпуска в диапазоны обычных версий.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

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

Купи мне кофе
Реклама · УДАЛИТЬ?