mt-changelog
Version:
creates changelogs for git projects
40 lines (28 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = parseCliArgs;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _packageJson = require('../package.json');
var defaultCommitFilterRgx = '\\[(added|removed|changed|fixed)\\]';
exports.defaultCommitFilterRgx = defaultCommitFilterRgx;
function parseCliArgs(argv) {
var program = new _commander2['default'].Command();
if (argv !== process.argv) {
argv = argv.split(' ');
argv.unshift('', '');
}
program.version(_packageJson.version);
program.option('-t, --title [title]', 'the title of the changelog (should probably be the new tag)');
program.option('-m, --message [message]', 'regex to match commit messages to be included in the changelog', defaultCommitFilterRgx);
program.option('-o, --out [path]', 'file to write changelog to', 'CHANGELOG.md');
program.option('-s, --stdout', 'will prevent writing a file and print results to stdout', false);
program.option('-f, --formatter [formatter]', 'formatter to use: basic', 'basic');
program.option('--exclude-pre-releases', 'option to exclude pre-releases', false);
program.parse(argv);
program.message = new RegExp(program.message);
return program;
}