pnpm lane
Додано у: v11.13.0
Керує лініями випуску для окремих пакунків. Лінія — це паралельний канал випуску: поки пакунок перебуває на одній із ліній, команда pnpm version -r випускає його як попередню версію X.Y.Z-<lane>.N, тоді як решта робочого простору продовжує випускати стабільні версії. Переміщення пакунка назад на головну (main) лінію призводить до випуску його накопиченої стабільної версії під час наступного запуску.
pnpm lane
pnpm lane <name> --filter <pattern>
pnpm lane main --filter <pattern>
Налаштування членства зберігаються в ключі versioning.lanes файлу pnpm-workspace.yaml; ця команда є зручним редактором для цього ключа.
Використання#
Показати приналежність до лінії#
pnpm lane
Lanes:
alpha:
@example/cli
@example/napi
Якщо жодному пакунку не було призначено лінію, на екрані з’явиться повідомлення: All packages are on the main lane (Усі пакунки знаходяться на лінії main).
Переміщення пакунків до лінії#
pnpm lane alpha --filter @example/cli
--filter is required. It selects the packages to move. Назви ліній можуть містити лише літери, цифри та дефіси; вони не можуть складатися виключно з цифр.
Переміщення пакунків назад до лінії main#
pnpm lane main --filter @example/cli
main є зарезервованою назвою для лінії за замовчанням. Усі пакунки знаходяться в цьому списку, якщо їх не віднесено до іншої категорії, і пакунки з цього списку випускають стабільні версії. Переведення пакунка до стабільного статусу призводить до випуску стабільної версії, до якої готувалися попередні версії, під час наступного запуску команди pnpm version -r.
Версії ліній#
Пакунок на лінії випускає X.Y.Z-<lane>.N, де X.Y.Z — це стабільна версія, до якої веде збірка на цій лінії, а N — послідовний номер, що починається з 0:
| Поточна версія | Очікуваний намір | Лінія | Нова версія |
|---|---|---|---|
2.0.0 |
minor | alpha |
2.1.0-alpha.0 |
2.1.0-alpha.0 |
patch | alpha |
2.1.0-alpha.1 |
2.1.0-alpha.1 |
major | alpha |
3.0.0-alpha.0 |
3.0.0-alpha.0 |
none | main |
3.0.0 |
N починається з 0 щоразу, коли змінюється стабільна ціль. When a bump escalates the target (a major intent while the lane was building a minor), the target is recomputed and the counter resets.
Пакунки в одній фіксованій групі повинні переміщатися між лініями разом.
Параметри#
--filter <package_selector>#
Визначає пакунки, які потрібно переместити між лініями. Є обовʼязковим під час призначення лінії.