UNPKG

@polcats/git-commit-count

Version:

A tool to count the numbers of commits of a git repository

58 lines (37 loc) 1.38 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _execa = require('execa'); var _execa2 = _interopRequireDefault(_execa); var _isGitRepository = require('is-git-repository'); var _isGitRepository2 = _interopRequireDefault(_isGitRepository); var _os = require('os'); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _pathIsAbsolute = require('path-is-absolute'); var _pathIsAbsolute2 = _interopRequireDefault(_pathIsAbsolute); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var cwd = process.cwd(); var commitCount = function commitCount() { var altPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : cwd; var count = 0; var obj = {}; var thisPath = (0, _pathIsAbsolute2.default)(altPath) ? altPath : _path2.default.join(cwd, altPath); if (!(0, _isGitRepository2.default)(thisPath)) { return -1; } try { if ((0, _os.platform)() === 'win32') { obj = _execa2.default.shellSync('pushd ' + thisPath + ' & git rev-list --count HEAD'); } else { obj = _execa2.default.shellSync('(cd ' + thisPath + ' ; git rev-list --count HEAD)'); } count = parseInt(obj.stdout, 10); return count; } catch (e) { return 0; } }; exports.default = commitCount; module.exports = exports['default'];