Calculate project version from git tags.

Downloads in past


801.3.16 years ago8 years agoMinified + gzip package size for git-tag-version in KB


Calculate project version from git tags.

This module provides a function that calculates and returns project's current version based on git tags. It is very useful when you need to calculate your project version in CI or deployment plans.
This moudle has been based on and is a more generalised (framework-agnostic) version of grunt-release-plugin by Jerzy Jelinek.

Getting Started

npm install git-tag-version --save-dev

Once the module has been installed, just load it in your node project:
var gitVersion = require('git-tag-version');



Parameter options is optional. It may contain these options:
  • uniqueSnapshot (default = false)\
if false, snapshot versions will be suffixed with just `-SNAPSHOT`, e.g. `1.0.0-SNAPSHOT`;
otherwise, current human-readable timestamp will be appended as well, e.g. `1.0.0-SNAPSHOT.20170920104533123` 


git init
touch file.js
git add file.js
git commit -m "add file.js"
git tag -a v0.1.0 -m "v0.1.0"

console.log(gitVersion()); // will print "0.1.0"

touch file2.js
git add file2.js
git commit -m "add file2.js"

console.log(gitVersion()); // will print "0.1.1-SNAPSHOT"
console.log(gitVersion({uniqueSnapshot: true})); // will print something like "0.1.1-SNAPSHOT.20170920104533123"

git tag -a v0.1.1 -m "v0.1.1"

console.log(gitVersion()); // will print "0.1.1"


An npm cli task is also available; it's options are exactly the same as JS version.
git-tag-version [--uniqueSnapshot | --unique-snapshot]


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt