pnpm update
Псевдоніми: up, upgrade
pnpm update оновлює пакунки до своєї останньої версії на основі зазначеного діапазону.
Якщо використовується без аргументів, оновлює всі залежності.
TL;DR
| Команда | Значення |
|---|---|
pnpm up | Оновлює всі залежності, дотримуючись діапазонів, вказаних у package.json |
pnpm up --latest | Оновлює всі залежності до їх останніх версій |
pnpm up foo@2 | Оновлює foo до останньої версії у v2 |
pnpm up "@babel/*" | Оновлює всі залежності в межах @babel |
Вибір залежностей з шаблонами
Ви можете використовувати шаблони для оновлення певних залежностей.
Оновити всі пакунки babel:
pnpm update "@babel/*"
Оновити всі залежності, крім webpack:
pnpm update "\!webpack"
Шаблони також можна комбінувати, тому наступна команда оновить усі пакунки babel, крім core:
pnpm update "@babel/*" "\!@babel/core"
Updating GitHub Actions
Added in: v11.16.0
pnpm outdated can check the GitHub Actions referenced by the repository's workflow files for updates, and pnpm update can update them. This is opt-in for every command: pass --include-github-actions, or set update.githubActions to true in pnpm-workspace.yaml to enable it by default.
Updated actions are pinned to exact commit hashes, with their release tags preserved in comments:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
Checking for updates runs git ls-remote against every referenced repository. Actions whose refs cannot be read — for example, an action in a private repository — are skipped with a warning. If the actions are hosted on a different GitHub server (such as a GitHub Enterprise Server), set update.githubActionsServer (added in v11.17.0).
Параметри
--recursive, -r
Одночасно виконується оновлення всіх вкладених тек з package.json (за виключенням
node_modules).
Приклад використання:
pnpm --recursive update
# оновлює всі пакунки на глибину до 100 підтек
pnpm --recursive update --depth 100
# оновити typescript до останньої версії у кожному пакунку
pnpm --recursive update typescript@latest
--latest, -L
Оновлює залежності до їхньої останньої стабільної версії, визначеної теґами latest (потенційно оновлюємо пакунки до основних версій), якщо діапазон версій, вказаний у package.json, є меншим за теґ latest (тобто, це не призведе до пониження версій пре-випусків).
--global, -g
Оновлює глобальні пакунки.
--workspace
Намагається зробити звʼязки для усіх пакунків у робочому просторі. Версії оновлюються відповідно до версій пакунків у робочій області.
Якщо певні пакунки буде оновлено, команда не виконається, якщо жодної з оновлених залежностей не буде знайдено у робочому просторі. Наприклад, така команда не виконається, якщо express не є пакунком робочої області:
pnpm up -r --workspace express
--prod, -P
Оновлює пакунки лише в dependencies та optionalDependencies.
--dev, -D
Оновлює лише пакунки в devDependencies.
--no-optional
Не оновлювати пакунки в optionalDependencies.
--interactive, -i
Показати застарілі залежності та вибрати, які з них оновити.
--no-save
Не оновлювати діапазони в package.json.
--changeset
Added in: v11.16.0
After the update completes, write a change intent — a changesets-compatible .changeset/*.md file — declaring a patch bump for every workspace package whose dependencies or optionalDependencies were changed by the update, and a major bump when its peerDependencies changed. Packages that consume an updated catalog entry via the catalog: protocol are included. Private packages, packages without a name, and packages listed in the ignore array of .changeset/config.json are skipped. If .changeset/config.json does not exist, a warning is printed and no changeset is generated.
Set update.changeset to true in pnpm-workspace.yaml to enable this behavior by default, and use --no-changeset to override the setting for one update.
--include-github-actions
Added in: v11.16.0
Also update the GitHub Actions referenced by the repository's workflow files. See Updating GitHub Actions.