We have a simple script to release npm packages from pnpm workspaces: cargo xtask workspace --bump.
? Select a package to bump
> [ ] @vercel/node-module-trace
[ ] @vercel/webpack-node-module-trace
[↑↓ to move, space to select one, → to all, ← to none, type to filter]
Press space to select the package you want to publish. Press enter to choose the version type you want to bump:
? Select a package to bump @vercel/node-module-trace, @vercel/webpack-node-module-trace
? Version for @vercel/node-module-trace
patch
minor
> major
alpha
beta
canary
[↑↓ to move, enter to select, type to filter]
Note
This command will always increase the version according to the semver version.
For example, if the current version of one package is1.0.0, and you choosepatch, the version will be increased to1.0.1.
Warning
If the version of one package is
1.0.0-beta.0, and you choosealpha, the cli will panic and exit. Because thebeta<alphain semver.
Once you have finished the bump, the script will do the following things:
- bump the version you choose in the corresponding package
- update dependencies in other packages that depend on the package you choose
- update
pnpm-lock.yamlfile - run
git tag -s pkg@version -m "pkg@version"for each package
You need to run git push --follow-tags to finish the release.
-
Create a release by triggering the 1. Turborepo Release workflow
- Specify the semver increment using the SemVer Increment field (start with
prerelease) - Check the "Dry Run" box to run the full release workflow without publishing any packages.
- Specify the semver increment using the SemVer Increment field (start with
-
A PR is automatically opened to merge the release branch created in step 1 back into
main⚠️ Merge this in! You don't need to wait for tests to pass. It's important to merge this branch soon after the publish is successful
- Github Release Notes are published automatically using the config from
turborepo-release.yml, triggered by theturbo-orchestratorbot.