mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
76 lines
2 KiB
JavaScript
Executable file
76 lines
2 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
|
|
'use strict';
|
|
|
|
const DIR = '../';
|
|
const Info = require(DIR + 'package');
|
|
|
|
const minor = require('minor');
|
|
const place = require('place');
|
|
const rendy = require('rendy');
|
|
const shortdate = require('shortdate');
|
|
|
|
const ERROR = Error('ERROR: version is missing. release --patch|--minor|--major');
|
|
|
|
main((error) => {
|
|
if (error)
|
|
console.error(error.message);
|
|
});
|
|
|
|
function main(callback) {
|
|
const history = 'Version history\n---------------\n';
|
|
const link = '//github.com/coderaiser/cloudcmd/releases/tag/';
|
|
const template = '- *{{ date }}*, ' +
|
|
'**[v{{ version }}]' +
|
|
'(' + link + 'v{{ version }})**\n';
|
|
|
|
const version = Info.version;
|
|
|
|
cl((error, versionNew) => {
|
|
if (error) {
|
|
callback(error);
|
|
} else {
|
|
replaceVersion('README.md', version, versionNew, callback);
|
|
replaceVersion('HELP.md', version, versionNew, function() {
|
|
const historyNew = history + rendy(template, {
|
|
date : shortdate(),
|
|
version : versionNew
|
|
});
|
|
|
|
replaceVersion('HELP.md', history, historyNew, callback);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function replaceVersion(name, version, versionNew, callback) {
|
|
place(name, version, versionNew, (error) => {
|
|
let msg;
|
|
|
|
if (!error)
|
|
msg = 'done: ' + name;
|
|
|
|
callback(error, msg);
|
|
});
|
|
}
|
|
|
|
function cl(callback) {
|
|
const argv = process.argv;
|
|
const length = argv.length - 1;
|
|
const last = process.argv[length];
|
|
const regExp = /^--(major|minor|patch)$/;
|
|
const [, match] = last.match(regExp) || [];
|
|
|
|
if (!regExp.test(last))
|
|
return callback(ERROR);
|
|
|
|
callback(null, getVersionNew(last, match));
|
|
}
|
|
|
|
function getVersionNew(last, match) {
|
|
if (match)
|
|
return minor(match, Info.version);
|
|
|
|
return last.substr(3);
|
|
}
|
|
|