Перейти к содержанию

Сортировщик SemVer

Сортировка списка номеров версий по правилам семантического версионирования.

Входные данные
Выходные данные

Сортировщик SemVer

Вставьте список номеров версий, и этот инструмент отсортирует их в соответствии с правилами семантического версионирования (SemVer), а не по простому текстовому порядку. Текстовая сортировка поместит "1.10.0" перед "1.9.0", потому что "1" предшествует "9" при посимвольном сравнении; этот инструмент сравнивает номера major, minor и patch как числа, поэтому "1.10.0" правильно располагается после "1.9.0". Версии-кандидаты обрабатываются корректно: "1.0.0-rc.1" отсортируется перед финальным релизом "1.0.0", точно так же, как определено в спецификации SemVer, а метаданные сборки после "+" считываются, но никогда не влияют на порядок.

Включите "Игнорировать префикс v" для работы с версиями в стиле git-тегов, например "v1.2.3", наряду с обычными версиями. "Исключить версии-кандидаты" полностью удаляет из результата любые строки с суффиксом "-", что удобно, когда требуются только релизные версии. "Оставить только наивысшую версию" сжимает список до одной записи на основную или на основную.дополнительную ветвь — вставьте все теги, которые когда-либо были в проекте, и получите только последний патч для каждой ветви релиза. Строки, которые не являются валидными SemVer, можно отметить опцией "Отметить строки с неправильной версией", чтобы случайный "latest" или неправильно отформатированный тег не исчез незаметно из длинного списка; оставьте отключенным для их удаления. Режим переключает на сравнение двух версий в строке или на разбор частей, ошибок и диапазона вроде ^1.2.

Это тип проверки, который требуется при просмотре списка изменений, определении того, какие git-теги проекта являются фактическими релизами, или при выборе наиболее совместимой версии зависимости из файла блокировки или реестра. Опция направления переключает порядок сортировки восходящей и нисходящей за один клик, поэтому сортировка от новых к старым так же просто, как от старых к новым.

Все работает локально в вашем браузере: список версий никогда не покидает ваше устройство. Скопируйте отсортированный результат, загрузите его как .txt файл или отправьте прямо в другой инструмент для продолжения работы.

FAQ

Почему "1.10.0" сортируется после "1.9.0" здесь, но не при простой текстовой сортировке?
Текстовая сортировка сравнивает символы посимвольно, поэтому "1" предшествует "9", и "1.10.0" оказывается первым. Этот инструмент вместо этого сравнивает поля major, minor и patch как числа, что соответствует определению порядка версий в SemVer.
Почему версия-кандидат типа "1.0.0-rc.1" сортируется перед "1.0.0"?
Спецификация SemVer присваивает версии-кандидату более низкий приоритет, чем финальному релизу. Версии "1.0.0-rc.1", "1.0.0-beta" и аналогичные версии с суффиксами считаются более ранними, чем "1.0.0", к которому они ведут.
Что делает опция "Оставить только наивысшую версию"?
Она уменьшает отсортированный список до одной строки на группу — либо по основной версии (1.x.x), либо по основной.дополнительной версии (1.2.x) — оставляя только версию с наивысшим приоритетом в каждой группе и удаляя остальные.
Что происходит со строками, которые не являются валидными SemVer?
Их нельзя расположить в числовом порядке, поэтому они отделяются от сортировки. Включите "Отметить строки с неправильной версией", чтобы сохранить их с аннотациями в конце результата; оставьте отключенным для удаления из результата.
Загружается ли мой список версий где-нибудь?
Нет. Сортировка и сравнение выполняются полностью в вашем браузере — вставляемые версии никогда не отправляются на сервер.