Перейти до основного вмісту
Версія: 11.x

pnpm change

Додано у: v11.13.0

Записує намір зміни: на які пакунки впливає зміна, тип підвищення версії для кожного з них, а також короткий опис, який стає записом у журналі змін. Файл намірів записується в теку .changeset/ у форматі changesets.

pnpm change [--bump <type>] [--summary <text>] [<pkg>...]
pnpm change status

Зміни намірів згодом обробляються командою pnpm version -r. Повний опис робочого процесу див. у розділі Управління релізами.

Використання​

Запустіть програму без аргументів, щоб інтерактивно записати наміри:

pnpm change

Вам буде потрібно відповісти на три запитання:

  1. На які пакунки впливає ця зміна? Пакунки, до яких були внесені зміни після злиття гілки base з гілкою main (або master), позначені як попередньо вибрані.
  2. Які пакунки повинні отримати оновлення до нової основної версії?, а потім те саме для minor. Усе, що залишилося, додається як patch.
  3. Короткий опис зміни, який стане записом у журналі змін.

У результаті утворюється файл, наприклад, .changeset/calm-cats-resolve.md:

---
"@example/core": minor
"@example/cli": patch
---

Added a `--watch` flag to the build command.

Збережіть цей файл разом зі своїми змінами.

Передача імен пакунків разом з опціями --bump та --summary фіксує намір без запиту підтвердження, що зручно при використанні скриптів:

pnpm change --bump patch --summary "Fixed a crash on empty input" @example/core

Підкоманди​

status​

Показує заплановані зміни та план випуску, який вони передбачають.

pnpm change status
Pending change intents:
.changeset/calm-cats-resolve.md

Release plan:
@example/core: 1.2.0 → 1.3.0 (minor, via intent)
@example/cli: 0.4.1 → 0.4.2 (patch, via intent+dependencies)

Причиною кожного підвищення є один із таких факторів: intent (намір зміни, визначений пакунком), dependencies (залежність, включена в результаті поширення), fixed (компаньйон виправленої групи) або epic (перебазування епіку).

Параметри​

--bump <type>​

Тип підвищення для вказаних пакунків: none, patch, minor або major. none означає явну відмову — зміна не потребує публікації.

--summary <text>​

Короткий опис запису в журналі змін. Разом із назвами пакунків виконує команду в неінтерактивному режимі.

Посилання на пакуни за їх теками​

Якщо два проєкти робочого простору мають однакову назву, на пакунок можна посилатися, вказавши його відносний шлях у робочому просторі з префіксом ./:

---
"./packages/cli": minor
---

Це єдине доповнення, яке pnpm вносить до формату наборів змін. Команда pnpm change автоматично вносить його, якщо назва є неоднозначною.