bumped
Version:
Makes easy release software.
73 lines (60 loc) • 1.5 kB
JavaScript
#!/usr/bin/env node
'use strict';
require('coffee-script').register();
var fs = require('fs');
var Bumped = require('./../lib/Bumped');
var updateNotifier = require('update-notifier');
var partial = require('fn-partial');
var cli = require('meow')({
pkg: '../package.json',
help: fs.readFileSync(__dirname + '/help.txt', 'utf8')
});
updateNotifier({pkg: cli.pkg}).notify();
if (cli.input.length === 0) cli.showHelp();
var options = {
logger: {
color: true,
level: 'plugin'
}
};
var bumped = new Bumped(options);
var command = cli.input.shift();
var exit = function(err) {
if (err) return process.exit(1);
return process.exit();
};
var commands = {
init: partial(bumped.init, exit),
version: partial(bumped.semver.version, exit),
release: partial(bumped.semver.release, {
version: cli.input[0]
}, exit),
add: partial(bumped.config.add, {
detect: true,
save: true,
file: cli.input[0]
}, exit),
remove: partial(bumped.config.remove, {
save: true,
file: cli.input[0]
}, exit),
set: (function() {
var property = cli.input[0];
cli.input.shift();
var value = cli.input.join(' ');
return partial(bumped.config.set, {
property: property,
value: value
}, exit);
})()
};
var existCommand = Object.keys(commands).indexOf(command) > -1;
if (existCommand) {
return bumped.start({
outputMessage: false
}, function(err) {
if (err) throw err;
return commands[command]();
});
}
cli.showHelp();