Перейти до основного змісту
Версія: 11 & 12

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.

--filter <package_selector>

Читайте більше про фільтрування.