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
developbranch and pullsoriginfor changes (pull --only-ff) - creates branch
release/1.2.3fromdevelop(just without-boption) - sets version number to
bower.jsonandpackage.json - generates and writes changelog via conventional changelog to
CHANGELOG.md - commits the previous changes
- merges
release/1.2.3(or the specified branch) intomasterand tags it withv1.2.3 - merges
masterintodevelop - deletes branch
release/1.2.3(or the specified branch) - checks out
develop - (optionally) pushes changes to remote repository