Bump package version, run tasks, git tag, commit & push.
npm install grunt-bumper


> Bump package version, run tasks, git tag, commit & push.
>
> This is based on grunt-push-release
DEPRICATION NOTICE
> This project hasn't been maintained and updated for a while now.
> Please use as is and send PRs if you need changes.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
``shell`
npm install grunt-bumper --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
`js`
grunt.loadNpmTasks('grunt-bumper');
This shows all the available config options with their default values.
``
bumper:
options:
files: ["package.json"]
updateConfigs: ['pkg'] # array of config properties to update (with files)
releaseBranch: false
runTasks: true
tasks: ["default"]
add: true
addFiles: ["."] # '.' for all files except ingored files in .gitignore
commit: true
commitMessage: "Release v%VERSION%"
commitFiles: ["-a"] # '-a' for all files
createTag: true
tagName: "v%VERSION%"
tagMessage: "Version %VERSION%"
push: true
pushTo: "origin"
npm: false
npmTag: "Release v%VERSION%"
gitDescribeOptions: "--tags --always --abbrev=1 --dirty=-d"
#### files
Type Array['package.json']
Default
List of files to bump. Maybe you wanna bump 'component.json' as well ?
#### updateConfigs
Type Array['pkg']
Default
Sometimes you load the content of package.json into a grunt config. This will update the config property, so that even tasks running in the same grunt process see the updated value.
`
bumper:
options:
files: ["package.json", "bower.json"]
updateConfigs: ["pkg", "bower"]
`
#### releaseBranch
Type Booleanfalse
Default
Define branch(es) on which it is allowed to make releases. Either define a single one as string or severals as array. This helps to not accidentially make a release on a topic branch.
`js`
push: {
releaseBranch: ['develop', 'master']
}
#### runTasks
Type Booleantrue
Default
Do you want to run tasks after bumping the version?
#### tasks
Type Array['default']
Default
List of tasks to be executed after bumping the version and before adding/commiting the files.
Note: as this is being executed as a child process you are running in a different context!
#### add
Type Booleantrue
Default
Do you want to git add files?
#### addFiles
Type Array['.']
Default
An array of files that you wanna add. You can use ['.'] to add all files.
#### commit
Type Booleantrue
Default
Do you wanna commit the changes?
#### commitMessage
Type String'Release v%VERSION%'
Default
The commit message. You can use %VERSION% which will get replaced with the new version.
#### commitFiles
Type Array['-a']
Default
An array of files that you wanna commit. You can use ['-a'] to commit all files.
#### createTag
Type Booleantrue
Default
Do you want to create a git tag?
#### tagName
Type String'v%VERSION%'
Default
The tag name. You can use %VERSION% which will get replaced with the new version.
#### tagMessage
Type String'Version v%VERSION%'
Default
The tag message. You can use %VERSION% which will get replaced with the new version.
#### push
Type Booleantrue
Default
Do you want to push all these changes?
#### pushTo
Type String'origin'
Default
Name of the remote branch to push to.
#### npm
Type Booleanfalse
Default
Do you wanna publish all these changes to NPM?
Make sure you have registered an npm used: 'npm adduser'
#### npmTag
Type String'Release v%VERSION%'
Default
The name of the tag. You can use %VERSION% which will get replaced with the new version.
Let's say current version is 0.0.1.
``
$ grunt bumper
>> Version bumped to 0.0.2
>> Committed as "Release v0.0.2"
>> Tagged as "v0.0.2"
>> Pushed to origin
$ grunt bumper:patch
>> Version bumped to 0.0.3
>> Committed as "Release v0.0.3"
>> Tagged as "v0.0.3"
>> Pushed to origin
$ grunt bumper:minor
>> Version bumped to 0.1.0
>> Committed as "Release v0.1.0"
>> Tagged as "v0.1.0"
>> Pushed to origin
$ grunt bumper:major
>> Version bumped to 1.0.0
>> Committed as "Release v1.0.0"
>> Tagged as "v1.0.0"
>> Pushed to origin
$ grunt bumper:git
>> Version bumped to 1.0.0-1-ge96c
>> Committed as "Release v1.0.0-1-ge96c"
>> Tagged as "v1.0.0-1-ge96c"
>> Pushed to origin
``
You can use bump-only and bump-commit to call each step separately.
`bash`
$ grunt bumper-only:minor
$ grunt bumper-commit
$ grunt bumper-release //This will do a full push and publish to npm even if you have configured npm option to false
$ grunt bumper-publish //Just publishes to NPM overriding (npm option: false)
1. Fork it
2. Create your feature branch (git checkout -b my-new-feature)git commit -am 'Add some feature'
3. Commit your changes ()git push origin my-new-feature`)
4. Push to the branch (
5. Create new Pull Request