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Увеличить версию всех пакетов в рабочей области (автоматически определяется в корне рабочей области).
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/bump_version