Skip to content

Repository files navigation

version bump

Update project version and create tag easily

Buildtestsnpm versionJSRJSR ScoreLicense

Overview

A lightweight Node.js utility to bump semantic versions in manifest files (package.json, jsr.json,deno.json) and optionally create Git tags for releases.

Installation

# via npm
npm install @tenedev/version-bump
# via yarn
yarn add @tenedev/version-bump
# via pnpm
pnpm add @tenedev/version-bump
# via bun
bun add @tenedev/version-bump
# via Deno (using JSR)
deno add jsr:@tene/version-bump
# via JSR
npx jsr add @tene/version-bump

Usage

CLI

Add a script in your package.json:

"scripts": {
"release": "npx @tene/version-bump"
}

Then run:

npm run release --type minor --tag --fullTag

Options

FlagTypeDefaultDescription
--typestring"patch"Release type: major, minor, patch, premajor, preminor, prepatch, prerelease
--preReleasestringnullPre-release identifier: alpha, beta, rc, next, etc.
-mstring"chore: release v\${version}"Commit message template (\${version}, \${major}, \${minor}, etc. supported)
--tagbooleanfalseCreate Git tag(s) after bumping
--fullTagbooleantrueCreate full version tag (v1.2.3)
--majorbooleanfalseCreate v1 tag
--minorbooleanfalseCreate v1.2 tag
--dry-runbooleanfalsePrint what would happen without changing files or running Git commands

Examples

1. Bump a patch version (default)

npm run release
# from 1.2.3 → 1.2.4

2. Bump a minor version and create tags

npm run release --type minor --tag --major --minor
# from 1.2.3 → 1.3.0# creates tags: v1, v1.3, v1.3.0

3. Create a beta prerelease

npm run release --type prerelease --preRelease beta --tag
# from 1.2.3 → 1.2.4-beta.0# creates tag: v1.2.4-beta.0

4. Dry run (no changes, just logs)

npm run release --type minor --dry-run

Programmatic API

You can also use it directly in your Node.js scripts:

import{run,versionBump,formatCommitMessage}from'version-bump-tool';// bump onlyconstnext=versionBump('1.2.3','minor');// → "1.3.0"// format commit messagesconstmsg=formatCommitMessage('release: v${version}','1.3.0');// → "release: v1.3.0"// full run (bump + git tags)constbumped=run('minor',undefined,true,{commitMessage: 'release: v${version}',fullTag: true,major: true,minor: true,});// updates files + creates Git tags

Supported Files

  • package.json (npm)
  • jsr.json (JSR packages)
  • deno.json (Deno)

License

Released under the Apache-2.0 License.

Releases

Packages

Contributors

Languages