autocode-cli
Version:
code automation for every language, framework and platform
42 lines (40 loc) • 1.25 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
module.exports = function(opts) {
var config, cson, current_version, ext, file, fs, semver, version, yaml;
console.log('Versioning project...');
cson = require('season');
fs = require('fs');
semver = require('semver');
yaml = require('js-yaml');
config = this.config('.');
current_version = config.version;
version = opts._[1];
config.version = semver.valid(version);
if (!config.version) {
if (['major', 'minor', 'patch'].indexOf(version) === -1) {
throw new Error("Invalid version: " + version);
}
config.version = semver.inc(current_version, version);
}
ext = config.ext;
file = config.file;
delete config.ext;
delete config.file;
switch (ext) {
case 'yml':
case 'yaml':
fs.writeFileSync(file, yaml.safeDump(config));
break;
case 'cson':
cson.writeFileSync(file, config);
break;
case 'json':
fs.writeFileSync(file, JSON.stringify(config));
break;
case 'xml':
fs.writeFileSync(file, xml.stringify(config));
}
return console.log(config.name + " now at version " + config.version + ".");
};
}).call(this);