Release group
A release group is the logical component that you will be versioning and releasing. In simple repositories, you will have a single release group that represents the project you are working on. In more complex monorepos, you may have several release groups that track one or more packages.
Worked example
Section titled “Worked example”Let’s consider a monorepo that contains a server, a dashboard and a couple of npm packages:
.bumper/ config.toml versions.tomldashboard/ ...packages/ cli/ package.json # "name": "@myorg/cli" ... sdk/ package.json # "name": "@myorg/sdk" ...server/ ...And the following requirements:
- dashboard is versioned and released independently
- server is versioned and released independently
- packages/cli and packages/sdk are versioned and released together as a single unit
You could solve this by creating three release groups:
bumper create dashboard server toolsAny time you make a change to either packages/cli or packages/sdk, you would create a bump that targets the tools release group:
bumper bump --group toolsWhen it comes to publish these packages, you would run:
npm version -w @myorg/cli -w @myorg/sdk $(bumper current --group tools)npm publish -w @myorg/cli -w @myorg/sdk