UNPKG

jira-precommit-hook

Version:

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

102 lines (70 loc) 2.85 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 _fsUtils = require('./fs-utils.js'); var _fsPromise = require('fs-promise'); var _fsPromise2 = _interopRequireDefault(_fsPromise); var _path = require('path'); var _path2 = _interopRequireDefault(_path); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { var thisProjectsGitFolder, gitPath, hooksPath; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: thisProjectsGitFolder = _path2.default.resolve(_path2.default.join(__dirname, '../.git')); gitPath = (0, _fsUtils.findParentFolder)(__dirname, '.git'); if (!(thisProjectsGitFolder === gitPath)) { _context.next = 4; break; } return _context.abrupt('return', 0); case 4: console.log('Installing JIRA pre-commit hook....'); _context.prev = 5; gitPath = (0, _fsUtils.findParentFolder)(__dirname, '.git'); _context.next = 12; break; case 9: _context.prev = 9; _context.t0 = _context['catch'](5); throw new Error('Your project needs a git repository to install the hook.'); case 12: _context.next = 14; return _fsPromise2.default.stat(gitPath); case 14: if (!_context.sent.isFile()) { _context.next = 17; break; } console.log('Attempting install to git worktree, please install in the ' + 'primary worktree directory.'); return _context.abrupt('return', 0); case 17: console.log('Found .git directory at: ' + gitPath); hooksPath = _path2.default.join(gitPath, 'hooks'); (0, _fsUtils.verifyHooksFolder)(hooksPath); _context.next = 22; return (0, _fsUtils.copyHookFiles)(gitPath); case 22: console.log('Copied commit hook.'); return _context.abrupt('return', 0); case 24: case 'end': return _context.stop(); } } }, _callee, this, [[5, 9]]); })); function install() { return _ref.apply(this, arguments); } return install; }(); module.exports = exports['default'];