git-commit-count
Version:
A tool to count the numbers of commits of a git repository
58 lines (37 loc) • 1.39 kB
JavaScript
;
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 --all --count');
} else {
obj = _execa2.default.shellSync('(cd ' + thisPath + ' ; git rev-list --all --count)');
}
count = parseInt(obj.stdout, 10);
return count;
} catch (e) {
return 0;
}
};
exports.default = commitCount;
module.exports = exports['default'];