jira-precommit-hook
Version:
Git commit hook to verify commit messages are tagged with a JIRA issue number
113 lines (87 loc) • 3.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
exports.default = fetchJoke;
var _requestPromise = require('request-promise');
var _requestPromise2 = _interopRequireDefault(_requestPromise);
var _boxen = require('boxen');
var _boxen2 = _interopRequireDefault(_boxen);
var _wordwrap = require('wordwrap');
var _wordwrap2 = _interopRequireDefault(_wordwrap);
var _windowSize = require('window-size');
var _windowSize2 = _interopRequireDefault(_windowSize);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function fetchJoke(config) {
var _this = this;
if (!config.get('jokes')) {
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
case 'end':
return _context.stop();
}
}
}, _callee, _this);
}));
}
var options = void 0;
if (!config.get('explicit')) {
options = {
uri: 'http://api.icndb.com/jokes/random',
qs: {
escape: 'javascript',
limitTo: 'nerdy'
}
};
} else {
options = {
uri: 'http://api.icndb.com/jokes/random',
qs: {
escape: 'javascript'
}
};
}
var jokeRequest = (0, _requestPromise2.default)(options);
jokeRequest.catch(function (err) {}); // This is to hide any errors from hitting the console.
return (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2() {
var json, joke, wrap, wrapped;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.next = 3;
return jokeRequest;
case 3:
json = _context2.sent;
joke = JSON.parse(json).value.joke;
wrap = (0, _wordwrap2.default)(_windowSize2.default.width - 10);
wrapped = wrap('Good work now enjoy this joke. You deserve it!\n\n' + joke + '\n\n' + //eslint-disable-line
_chalk2.default.grey('If you want to disable these jokes run: \n' + '> ./node_modules/.bin/jira-precommit jokes disable'));
console.log((0, _boxen2.default)(wrapped, {
padding: 1,
margin: 1
}));
_context2.next = 12;
break;
case 10:
_context2.prev = 10;
_context2.t0 = _context2['catch'](0);
case 12:
case 'end':
return _context2.stop();
}
}
}, _callee2, _this, [[0, 10]]);
}));
}
module.exports = exports['default'];