UNPKG

iridium

Version:

A custom lightweight ORM for MongoDB designed for power-users

64 lines (55 loc) 1.89 kB
var gulp = require('gulp'), bump = require('gulp-bump'), gutil = require('gulp-util'), git = require('gulp-git'), minimist = require('minimist'), semver = require('semver'), runSequence = require('run-sequence'), fs = require('fs'); function getPackageJsonVersion() { //We parse the json file instead of using require because require caches multiple calls so the version number won't be updated return JSON.parse(fs.readFileSync('./package.json', 'utf8')).version; } gulp.task('version-bump', function () { var args = minimist(process.argv); var options = {}; if (semver.valid(args.version)) options.version = args.version; else options.type = args.version; return gulp.src(['./package.json']) .pipe(bump(options).on('error', gutil.log)) .pipe(gulp.dest('./')); }); gulp.task('version-commit', function () { var version = getPackageJsonVersion(); return gulp.src('.') .pipe(git.commit('Version ' + version)); }); gulp.task('version-push', function (cb) { git.push('origin', 'master', cb); }); gulp.task('version-tag', function (cb) { var version = getPackageJsonVersion(); git.tag('v' + version, 'Version ' + version, cb); }); gulp.task('version-push-tags', function (cb) { git.push('origin', 'master', { args: '--tags' }, cb); }); gulp.task('version', function (callback) { runSequence( 'doc', 'version-bump', 'version-commit', 'version-tag', 'changelog', 'changelog-commit', 'version-push', 'version-push-tags', function (error) { if (error) { console.log(error.message); } else { console.log('Version set and comitted successfully'); } callback(error); }); });