Расчет версий по Semver и проверка диапазонов
Гид
Расчет версий по Semver и проверка диапазонов
Все в одном рабочем месте для семантической версии (SemVer 2.0.0) для разработчиков. Проверка строк версий, сравнение двух версий с строгим приоритетом, проверка того, удовлетворяет ли версия выражению диапазона в стиле npm/Composer (^, ~, x, диапазон с дефисом, операторы сравнения), увеличение версии с мажорными/минорными/патчными/предварительными изменениями и сортировка больших списков версий с полным учетом предварительных версий — все на стороне клиента, без необходимости установки.
Как использовать
- Выберите необходимую операцию из выпадающего списка Операция — Проверка, Сравнение, Удовлетворение диапазона, Увеличение или Сортировка.
- Заполните поля версий и/или диапазона, которые появляются в форме для выбранной операции.
- Сразу прочитайте результат — инструмент показывает обзор статуса, детализацию по компонентам и каноническую версию, которую можно скопировать или загрузить.
- Для удовлетворяетинструмент также показывает, как каждый компаратор в вашем диапазоне был соответствующим образом сопоставлен, чтобы вы могли увидеть, какие из них приняли или отклонили версию.
Возможности
- Строгая проверка 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, согласно которому версии предварительного выпуска имеют более низкий приоритет по сравнению с соответствующими обычными версиями.
- Учет сборочных метаданных — сборочные метаданные анализируются и отображаются, но игнорируются при определении приоритета, как это требует спецификация.
- Копирование и загрузка — получите результат в виде текста или загрузите его одним кликом.
Часто задаваемые вопросы
-
Что такое семантическая версия (SemVer)?
Семантическая версия — это публичная спецификация (semver.org), которая предоставляет программным продуктам осмысленный трехкомпонентный номер версии — MAJOR.MINOR.PATCH. Компонент MAJOR увеличивается при разрушительных изменениях, MINOR — при добавлении совместимых с обратной совместимостью функций, а PATCH — при исправлении ошибок без нарушения обратной совместимости. Можно добавить опциональные метки предварительного выпуска (-beta.1) и метаданные сборки (+sha.abc123).
-
Что означает оператор caret (^) в диапазоне?
^X.Y.Z принимает все версии, при которых не меняется первый ненулевой компонент. ^1.2.3 означает >=1.2.3 и =0.2.3 и =0.0.3 и <0.0.4. Это является стандартным оператором, используемым npm при сохранении зависимости.
-
Как отличается оператор тильды (~) от оператора caret?
~X.Y.Z более консервативен, чем ^. Он позволяет изменения на уровне патча только при указанном MINOR — ~1.2.3 означает >=1.2.3 и =1.0.0 и <2.0.0).
-
Как сравниваются версии предварительного выпуска?
Версии предварительного выпуска имеют более низкий приоритет по сравнению с соответствующими обычными версиями (1.0.0-alpha < 1.0.0). Идентификаторы сравниваются слева направо: числовые идентификаторы сравниваются численно, алфавитно-цифровые — лексически, а меньшее количество полей имеет более низкий приоритет по сравнению с большим.
-
Почему метаданные сборки игнорируются при сравнении версий?
Спецификация SemVer 2.0.0 утверждает, что метаданные сборки (суффикс +abc.123) должны игнорироваться при определении приоритета версий. Две версии, отличающиеся только метаданными сборки, считаются равными по порядку, даже если они не являются буквально одинаковыми строками.
-
Почему моя версия предварительного выпуска не удовлетворяет ^1.2.0?
По конвенции диапазонов npm версия предварительного выпуска, например 1.5.0-beta.1, удовлетворяет диапазону только если хотя бы один компаратор в этом диапазоне явно упоминает предварительную версию для той же MAJOR.MINOR.PATCH. Это предотвращает случайное проникновение версий предварительного выпуска в диапазоны обычных версий.
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент было добавлено 26 апр 2026
