Upgrade dependencies across the project.
Usage
$ yarn up ...
Examples
Upgrade all instances of lodash to the latest release:
yarn up lodash
Upgrade all instances of lodash to the latest release, but ask confirmation for each:
yarn up lodash -i
Upgrade all instances of lodash to 1.2.3:
yarn up [email protected]
Upgrade all instances of packages with the @babel
scope to the latest release:
yarn up @babel/*
Upgrade all instances of packages containing the word jest
to the latest release:
yarn up *jest*
Upgrade all instances of packages with the @babel
scope to 7.0.0:
yarn up @babel/*@7.0.0
Details
This command upgrades the packages matching the list of specified patterns totheir latest available version across the whole project (regardless of whetherthey're part of dependencies
or devDependencies
- peerDependencies
won'tbe affected). This is a project-wide command: all workspaces will be upgraded inthe process.
If -R,--recursive
is set the command will change behavior and no other switchwill be allowed. When operating under this mode yarn up
will force all rangesmatching the selected packages to be resolved again (often to the highestavailable versions) before being stored in the lockfile. It however won't touchyour manifests anymore, so depending on your needs you might want to run bothyarn up
and yarn up -R
to cover all bases.
If -i,--interactive
is set (or if the preferInteractive
settings is toggledon) the command will offer various choices, depending on the detected upgradepaths. Some upgrades require this flag in order to resolve ambiguities.
The, -C,--caret
, -E,--exact
and -T,--tilde
options have the same meaningas in the add
command (they change the modifier used when the range is missingor a tag, and are ignored when the range is explicitly set).
If the --mode=<mode>
option is set, Yarn will change which artifacts aregenerated. The modes currently supported are:
skip-build
will not run the build scripts at all. Note that this isdifferent from settingenableScripts
to false because the latter willdisable build scripts, and thus affect the content of the artifacts generatedon disk, whereas the former will just disable the build step - but not thescripts themselves, which just won't run.update-lockfile
will skip the link step altogether, and only fetch packagesthat are missing from the lockfile (or that have no associated checksums).This mode is typically used by tools like Renovate or Dependabot to keep alockfile up-to-date without incurring the full install cost.
Generally you can see yarn up
as a counterpart to what was yarn upgrade --latest
in Yarn 1 (ie it ignores the ranges previously listed in yourmanifests), but unlike yarn upgrade
which only upgraded dependencies in thecurrent workspace, yarn up
will upgrade all workspaces at the same time.
This command accepts glob patterns as arguments (if valid Descriptors andsupported by micromatch). Make sureto escape the patterns, to prevent your own shell from trying to expand them.
Note: The ranges have to be static, only the package scopes and names cancontain glob patterns.
Options
Definition | Description |
---|---|
| Offer various choices, depending on the detected upgrade paths |
| Store dependency tags as-is instead of resolving them |
| Don't use any semver modifier on the resolved range |
| Use the ~ semver modifier on the resolved range |
| Use the ^ semver modifier on the resolved range |
| Resolve again ALL resolutions for those packages |
| Change what artifacts installs generate |