/beachball

The Sunniest Semantic Version Bumper

Primary LanguageTypeScriptMIT LicenseMIT

the sunniest version bumping tool

Prerequisites

git and a remote named "origin"

Usage

beachball [command] [options]

Commands

change (default)

a tool to help create change files in the change/ folder

checks whether a change file is needed for this branch

bumps versions as well as generating changelogs

bumps, publishes to npm registry (optionally does dist-tags), and pushes changelogs back into the default branch

synchronizes published versions of packages from a registry, makes local package.json changes to match what is published

Options

Some of the most common options are summarized below. For details, see the pages for CLI options and config file options.

--config, -c

Explicit configuration file to use instead of the configuration automatically detected by cosmicconfig.

--registry, -r

registry, defaults to https://registry.npmjs.org

--tag, -t

  • for the publish command: dist-tag for npm publishes
  • for the sync command: will use specified tag to set the version

--branch, -b

target branch from origin (default: as configured in 'git config init.defaultBranch')

--message, -m

custom message for the checkin (default: applying package updates)

--no-push

skip pushing changes back to git remote origin

--no-publish

skip publishing to the npm registry

--help, -?, -h

show help message

--yes, -y

skips the prompts for publish

Examples

$ beachball

$ beachball check

$ beachball publish -r http://localhost:4873 -t beta

Notes

Overriding concurrency

In large monorepos, the Beachball sync process can be time-consuming due to the high number of packages. To optimize performance, you can override the default concurrency (typically 2 or 5) by setting the NPM_CONCURRENCY environment variable to a value that best suits your needs.

API surface

Beachball does not have a public API beyond the provided options. Usage of private APIs is not supported and may break at any time.

If you need to customize something beyond what's currently supported in the options, please open a feature request or talk with the maintainers.