Modular extension to release projects using git-flow release strategy.
Works well alone or together with gulp-modular.
npm install gulp-modular-release --save-dev
var gulp = require('gulp');
var gulpModularRelease = require('gulp-modular-release');
// optionally overwrite default configuration
var config = {
//// task [`release`] creates a new release
release: {
// versionNumber: argv.v, // the version number of the new release
// bumpFiles: ['./package.json', './bower.json'], // write version number to these files, cordova config.xml is also supported
// changelogFile: './CHANGELOG.md', // generate changelog in this file
// conventionalChangelog: 'angular', // choose preset style like: : 'angular', 'atom', 'eslint', 'jscs', 'jshint'
// commitMessage: 'bump version number ' + argv.v, // message of bump commit
// tagPrefix: '', // define a prefix like 'v' for the git tag
// masterBranch: 'master', // the projects master branch
// developBranch: 'develop', // the projects develop branch
// releaseBranch: 'release/' + argv.v // the release branch created while releasing
// push: false // push change to remote repository
}
};
gulpModularRelease(gulp, config);
gulp release
or
gulp release -v 1.2.3
or
gulp relrease -b hotfix/foobar
or
gulp relrease -b hotfix/foobar -v 1.2.3
(If no version is specified the next version is generated using conventional-recommended-bump.)
- checks out
develop
branch and pullsorigin
for changes (pull --only-ff
) - creates branch
release/1.2.3
fromdevelop
(just without-b
option) - sets version number to
bower.json
andpackage.json
- generates and writes changelog via conventional changelog to
CHANGELOG.md
- commits the previous changes
- merges
release/1.2.3
(or the specified branch) intomaster
and tags it withv1.2.3
- merges
master
intodevelop
- deletes branch
release/1.2.3
(or the specified branch) - checks out
develop
- (optionally) pushes changes to remote repository