paco
Version:
Node package development/distribution utility kit
61 lines (46 loc) • 2.32 kB
JavaScript
;
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; })();
var comeondo = require('comeondo');
var configHelpers = require('./local-configs');
function getInterpolatedCommitMessage(message) {
var packageJson = require(process.env.PACO_PACKAGE_JSON_PATH);
var _packageJson$name$spl = packageJson.name.split('/');
var _packageJson$name$spl2 = _slicedToArray(_packageJson$name$spl, 2);
var scope = _packageJson$name$spl2[0];
var name = _packageJson$name$spl2[1];
return message.replace('%scope%', scope).replace('%name%', name);
}
function bump(options) {
var versionCmd = {
cmd: 'npm',
args: ['version', options.version]
};
if (!options.tag) {
versionCmd.args.push('--no-git-tag-version');
} else if (options.message) {
var message = getInterpolatedCommitMessage(options.message);
versionCmd.args.push('-m', message);
}
return comeondo.exec(versionCmd, { cwd: process.env.PACO_PACKAGE_PATH }).catch(function (err) {
return process.exit(err ? 1 : 0);
});
}
function bumpAndCommit(options) {
var versionCmd = 'npm --no-git-tag-version version ' + options.version;
return comeondo.exec(versionCmd, { cwd: process.env.PACO_PACKAGE_PATH }).then(function () {
var newVersion = configHelpers.getNearestPackageJson().version;
var commitMessage = getInterpolatedCommitMessage(options.message);
commitMessage = commitMessage.replace('%s', newVersion);
return comeondo.run(['git add ./package.json', {
cmd: 'git',
args: ['commit', '-m', '' + commitMessage]
}], {
cwd: process.env.PACO_PACKAGE_PATH
});
});
}
module.exports = {
bump: bump,
bumpAndCommit: bumpAndCommit
};