UNPKG

jira-precommit-hook

Version:

Git commit hook to verify commit messages are tagged with a JIRA issue number

87 lines (64 loc) 2.88 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); var _fsPromise = require('fs-promise'); var _fsPromise2 = _interopRequireDefault(_fsPromise); var _fsUtils = require('./fs-utils.js'); var _fsUtils2 = _interopRequireDefault(_fsUtils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(_ref2) { var _ref2$fileSystem = _ref2.fileSystem; var fileSystem = _ref2$fileSystem === undefined ? _fsPromise2.default : _ref2$fileSystem; var _ref2$fileSystemUtils = _ref2.fileSystemUtils; var fileSystemUtils = _ref2$fileSystemUtils === undefined ? _fsUtils2.default : _ref2$fileSystemUtils; var _ref2$log = _ref2.log; var log = _ref2$log === undefined ? console.log : _ref2$log; var filePath, fileResult, jsonResult; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; filePath = fileSystemUtils.findParentFolder(process.cwd(), 'hubot-deployments-config.json'); _context.next = 4; return fileSystem.readFile(filePath); case 4: fileResult = _context.sent; jsonResult = JSON.parse(fileResult); return _context.abrupt('return', !!jsonResult); case 9: _context.prev = 9; _context.t0 = _context['catch'](0); if (!(_context.t0.message.indexOf('Unexpected token') > -1)) { _context.next = 13; break; } throw new Error('hubot-deployments-config.json is not a valid JSON file. Committing will ' + ('not succeed until the JSON is fixed. ' + _context.t0.message)); case 13: if (!(_context.t0.message.indexOf('Cannot find') > -1 && _context.t0.message.indexOf('hubot-deployments-config.json') > -1)) { _context.next = 16; break; } log('No hubot-deployments-config.json set up for this repository.'); return _context.abrupt('return', false); case 16: throw _context.t0; case 17: case 'end': return _context.stop(); } } }, _callee, this, [[0, 9]]); })); function checkValidJSON(_x) { return _ref.apply(this, arguments); } return checkValidJSON; }(); // eslint-disable-line id-length module.exports = exports['default'];