as i know its not possible for now to manage this with yarn itself.
you can use the lerna project https://github.com/lerna/lerna/tree/master/commands/version#readme which supports bumping the version of workspaces
manual (without lerna)
for my existing projects i have done it manually.
attention: this command sets all workspaces to the same version
add postversion
in the scripts block of your root ./package.json
{
"version": "1.0.0",
...
"scripts": {
"version:package-a": "cd packages/package-a && yarn version --new-version $npm_package_version",
"version:package-b": "cd packages/package-b && yarn version --new-version $npm_package_version",
"postversion": "yarn version:package-a && yarn version:package-b"
}
}
- now you can run:
yarn version --patch
- this will bump the version of all your workspaces (package-a & package-b) to the same version 1.0.1.
Update 2022-04-08
Solution 1: It's now simpler to bumb all versions with the use of the yarn workspace ...
command. In the main package.json
you have to put the following:
{
"version": "1.0.0",
...
"scripts": {
"version": "yarn workspace package-a version --new-version $npm_package_version && yarn workspace package-b version --new-version $npm_package_version"
}
}
If you execute now yarn version
all the workspace versions are bumped to the same as they inherit from the specified version from the main package.json
file
Solution 2: yarn has a solution for this. but it is still in experiment mode. https://yarnpkg.com/features/release-workflow