UNPKG

paco

Version:

Node package development/distribution utility kit

61 lines (46 loc) 2.32 kB
#!/usr/bin/env node 'use strict'; 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 };