Spec-Zone.ru › Deno 2

deno bump-version

Команда deno bump-version обновляет поле version в файле конфигурации проекта, подобно npm version. Она считывает и записывает поле version в deno.json(c), если оно есть; в противном случае используется package.json.

Предупреждение

deno bump-version является экспериментальной и может измениться.

Использование

›_
deno bump-version [increment]

Аргумент increment задаёт способ увеличения версии:

Тип увеличения Пример
patch 1.4.6 → 1.4.7
minor 1.4.6 → 1.5.0
major 1.4.6 → 2.0.0
prepatch 1.4.6 → 1.4.7-0
preminor 1.4.6 → 1.5.0-0
premajor 1.4.6 → 2.0.0-0
prerelease 1.4.7-0 → 1.4.7-1

Если increment не указан, выводится текущая версия, а файл конфигурации остаётся без изменений.

Если в файле конфигурации нет поля version, а тип увеличения указан, по умолчанию используется версия 0.1.0.

Команда завершается с ошибкой, если в текущем каталоге не найдено ни deno.json, ни package.json.

Примеры

Выпуск патч-версии:

›_
deno bump-version patch

Выпуск новой минорной версии:

›_
deno bump-version minor

Продолжение работы над предварительной версией:

›_
deno bump-version prerelease

Вывод текущей версии без изменения файла:

›_
deno bump-version

После увеличения версии зафиксируйте обновлённый файл конфигурации в рамках выпуска. О публикации обновлённой версии в JSR см. deno publish; об архиве npm — deno pack.

Режим рабочей области

При запуске в корне рабочей области команда deno bump-version за один проход обрабатывает все пакеты-участники, а не только корневую конфигурацию:

  • К полю version каждого пакета-участника применяется одно и то же увеличение.
  • Ограничения версий jsr: в корневой конфигурации рабочей области и любой карте импорта переписываются на месте, чтобы ссылки между пакетами продолжали соответствовать обновлённым версиям.
  • Пакеты-участники без поля version остаются без изменений.
›_
# At the workspace root: patch every member from 1.4.6 to 1.4.7
deno bump-version patch

Это позволяет избежать ручной координации, которая раньше требовалась при выпуске версии рабочей области: нужно было по очереди обновлять deno.json/package.json каждого пакета-участника и корневую карту импорта.

Определение увеличения версии по Conventional Commits

В рабочей области запуск deno bump-version без аргумента increment включает определение увеличения версии для каждого пакета на основе Conventional Commits между базовой ссылкой и текущей веткой. Увеличение версии каждого пакета-участника вычисляется независимо по коммитам, затронувшим файлы внутри него (с учётом коммитов с указанной областью действия и подстановочных областей действия *); затем обновлённые версии записываются в конфигурации пакетов-участников и ограничения в картах импорта.

Правила определения:

  • fix: и другие типы, соответствующие патч-уровню → patch.
  • feat: → minor.
  • Коммит с пометкой BREAKING CHANGE: в описании или с ! после типа (например, feat!:) → major.
  • Для пакетов, версия которых всё ещё 0.x.y, правила semver применяются консервативно: критическое изменение приводит к увеличению версии до minor, а не до major; feat: приводит к patch.
  • Для предварительных версий (-0, -1, …) выполняется увеличение prerelease.
  • Любые изменения версии пакета вручную после базовой ссылки считаются окончательными и пропускаются — инструмент не перезапишет намеренно выбранную версию.
›_
# Derive the bumps from commits between `main` and the current branch
deno bump-version --base=main

Выбор диапазона

Два флага задают диапазон сравнения, если стандартный вариант (текущая ветка с момента последнего тега) вам не подходит:

  • --base=<ref> — ссылка, с которой нужно сравнить. Обычно это ветка или тег выпуска (--base=main, --base=v1.4.7).
  • --start=<ref> — ссылка, с которой начинается набор изменений. По умолчанию используется общая база слияния между --base и HEAD.
›_
# Bump based on commits between v1.4.7 and the current branch
deno bump-version --base=v1.4.7

# Bump based on commits between two explicit refs
deno bump-version --base=v1.4.7 --start=release/1.5

--dry-run

Передайте --dry-run, чтобы вывести запланированные изменения — для каких пакетов будет увеличена версия, пары старой и новой версий, а также переписанные ограничения jsr: — без записи изменений на диск:

›_
deno bump-version --base=main --dry-run

Это удобно для проверок CI («создаёт ли эта ветка ожидаемые изменения версий?»), а также для предварительного просмотра выпуска локально перед коммитом.

Использование в командной строке:
deno bump-version [OPTIONS] [increment]

Обновить версию в файле конфигурации.

deno bump-version patch
# 1.4.6 -> 1.4.7
deno bump-version minor
# 1.4.6 -> 1.5.0
deno bump-version major
# 1.4.6 -> 2.0.0
deno bump-version prepatch
# 1.4.6 -> 1.4.7-0
deno bump-version preminor
# 1.4.6 -> 1.5.0-0
deno bump-version premajor
# 1.4.6 -> 2.0.0-0
deno bump-version prerelease
# 1.4.7-0 -> 1.4.7-1

При вызове в корне рабочей области одно и то же увеличение применяется ко всем пакетам-участникам, а ссылки jsr: в корневой карте импорта обновляются. Если тип увеличения не указан, увеличение версии каждого пакета определяется по сообщениям conventional commits между последним тегом и текущей веткой, а в начало Releases.md добавляются примечания к выпуску.

Параметры

--base<REF>

[режим conventional commits] Ссылка Git для сравнения. По умолчанию: текущая ветка.

--config, -c<FILE>

Явный путь к файлу манифеста, в котором нужно увеличить версию. Может указывать на deno.json/deno.jsonc или package.json. При указании этого параметра принудительно включается режим одного файла (автоматическое определение рабочей области отключается). Полезно, если в одном каталоге есть и deno.json, и package.json.

--dry-run

Вывести запланированные изменения, не записывая файлы.

--import-map<PATH>

Путь к карте импорта, в которой нужно переписать ограничения версий jsr:. По умолчанию используется корневой deno.json (или указанный в нём файл importMap).

--no-workspace

Отключить режим рабочей области и увеличить версию только в deno.json/package.json в текущем каталоге.

--release-notes<PATH>

[режим conventional commits] Путь к файлу примечаний к выпуску, в начало которого нужно добавить текст. По умолчанию: Releases.md.

--start<REF>

[режим conventional commits] Ссылка Git, с которой нужно начать. По умолчанию: последний тег (git describe --tags`` --abbrev=0).

--workspace, -w

Увеличить версию всех пакетов в рабочей области (автоматически определяется в корне рабочей области).

Последнее обновление: 29 апреля 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/bump_version

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API