UNPKG

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
'use strict'; 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'];