Get a recommended version bump based on conventional commits
Got the idea from conventional-changelog/conventional-changelog#29
$ npm install --save conventional-recommended-bump
var conventionalRecommendedBump = require('conventional-recommended-bump');
conventionalRecommendedBump({
preset: 'angular'
}, function(err, result) {
console.log(result.releaseType);
//=> 'major'
});
$ npm install --global conventional-recommended-bump
$ conventional-recommended-bump --help
Type: boolean
Default: true
If true
, reverted commits will be ignored.
Type: string
Possible values: 'angular'
It's recommended to use a preset so you don't have to define everything yourself. Presets are names of built-in config
.
Type: object
This should serve as default values for other arguments of conventionalRecommendedBump
so you don't need to rewrite the same or similar config across your projects. Any value in this could be overwritten.
NOTE: options.config
will be overwritten by the values of preset. You should use either preset
or config
, but not both.
Type: function
A function that takes parsed commits as argument.
This should return an object including but not limited to level
and reason
. level
is a number
indicating what bump it should be and reason
is the reason of such release.
For backward compatibility, it could return a number
indicating what bump it should be.
####### commits
Type: array
An array of parsed commits. The commits are from last semver tag to HEAD
and is parsed by conventional-commits-parser.
If it returns with level
0
it will be a major
bump. If 1
, minor
bump. If 2
, patch
.
See the conventional-commits-parser docs.
Type: function
Object includes what's returned by whatBump
and
####### releaseType
Type: string
Possible values: 'major'
, 'minor'
and 'patch'
The value of what it should release as.
- conventional-github-releaser - Make a new GitHub release from git metadata
- conventional-changelog - Generate a changelog from git metadata
- conventional-commits-detector - Detect what commit message convention your repository is using
- semantic-release - fully automated package publishing
MIT © Steve Mao