semver tagging control for git
tagver gets/sets git version tags, using semantic versioning (semver).
By default, tagver will bump, tag and push updated version tags to the git repository.
Gets the current highest semver version tag from git
returns: Promise
tagver().then(version => console.log(version));
{
cwd: './', // Directory which tagver should use for git commands
filter: '*', // Semver filter to use. This will return the highest version based on the filter.
includePrerelease: false // Include prerelease versions, when getting tags. This automatically gets set to true when bumping pre versions.
}
Bumps the version based on the input.
Version can be a valid semver version number, or, release type.
returns: Promise
tagver('1.2.3').then(version => console.log(version));
tagver('major').then(version => console.log(version));
tagver('minor').then(version => console.log(version));
tagver('patch').then(version => console.log(version));
tagver('prerelease', { preid: 'beta' }).then(version => console.log(version));
{
cwd: './', // Directory which tagver should use for git commands
tag: true, // Should tagver store a git tag?
publish: true, // Should tagver publish new tags to the remote?
message: 'Release v%s', // Custom tag message. %s will be replaced with the version number
base: '0.0.0', // Initial version to increment when no version is found
filter: '*', // Semver filter to use. This will return the highest version based on the filter.
preid: undefined, // Preid to use when prerelease versions
branch: undefined, // Remote branch used to compare local changes against
includePrerelease: false // Include prerelease versions, when getting tags. This automatically gets set to true when bumping pre versions.
}
$ npm i -g tagver
Returns the current highest semver version tag from git
$ git tag
test-tag
v0.1.0
v0.1.1
v0.1.10
v0.1.11
$ tagver
0.1.11
Bumps the version to the one specified
$ tagver 1.2.3
1.2.3
Bumps the major version
$ tagver
1.2.3
$ tagver major
2.0.0
Bumps the minor version
$ tagver
1.2.3
$ tagver minor
1.3.0
Bumps the patch version
$ tagver
1.2.3
$ tagver patch
1.2.4
Bumps the pre-release major version
$ tagver
1.2.3
$ tagver premajor
2.0.0-0
Bumps the pre-release minor version
$ tagver
1.2.3
$ tagver preminor
1.3.0-0
Bumps the pre-release patch version
$ tagver
1.2.3
$ tagver prepatch
1.2.4-0
Bumps the pre-release version
$ tagver
1.2.3-0
$ tagver prerelease
1.2.3-1
Optional message to use for git tags.
%s
will be replaced with the version number.
default: Release v%s
$ tagver patch -m "Auto release package [v%s]"
Optional version to increment when no version is found.
default: 0.0.0
$ tagver patch -b "1.0.0"
Optional identifier to be used to prefix premajor, preminor, prepatch or prerelease version increments.
$ tagver
1.2.3
$ tagver prepatch --preid next
1.2.4-next.0
Optional semver filter to use. This will return the highest version based on the filter.
default: *
$ tagver
1.2.3
$ tagver -f "<1.2.x"
1.1.18
Remote branch used to compare local changes against. Cannot tag unless remote and local repositories are in sync. Defaults to the default remote branch, usually master.
Include prerelease versions, when getting tags. This automatically gets set to true when bumping pre versions.
Prevents tagver from creating a git tag. This will also prevent any publishing of tags.
$ git tag
v1.2.0
v1.2.1
v1.2.2
v1.2.3
$ tagver
1.2.3
$ tagver minor --no-git-tag
1.2.4
$ git tag
v1.2.0
v1.2.1
v1.2.2
v1.2.3
Prevents tagver from publishing created tags.