prepush-if-changed
Version:
A tool that runs your commands if any git-pushed files match the glob written to be used as a pre-push hook
54 lines (44 loc) • 1.74 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.getCommittedFiles = exports.checkExistanceOnRemote = exports.UnknownRevisionError = void 0;
var _gitChangedFiles = _interopRequireDefault(require("git-changed-files"));
var _gitBranch = _interopRequireDefault(require("git-branch"));
var _gitBranchParent = _interopRequireDefault(require("git-branch-parent"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var UnknownRevisionError = Error('Unknown revision or path not in the working tree');
exports.UnknownRevisionError = UnknownRevisionError;
var checkExistanceOnRemote = function checkExistanceOnRemote(branch) {
return new Promise(function (resolve) {
(0, _gitChangedFiles["default"])({
baseBranch: "origin/".concat(branch)
}).then(function () {
return resolve(true);
})["catch"](function () {
return resolve(false);
});
});
};
exports.checkExistanceOnRemote = checkExistanceOnRemote;
var getCommittedFiles = function getCommittedFiles(branch) {
return checkExistanceOnRemote(branch).then(function (exists) {
return exists ? branch : (0, _gitBranchParent["default"])();
}).then(function (baseBranch) {
var options = {
baseBranch: "origin/".concat(baseBranch),
showUnCommitted: false
};
return (0, _gitChangedFiles["default"])(options);
}).then(function (diff) {
return diff.committedFiles;
})["catch"](function (err) {
throw UnknownRevisionError;
});
};
exports.getCommittedFiles = getCommittedFiles;
var _default = {
getCommittedFiles: getCommittedFiles,
getBranch: _gitBranch["default"].sync
};
exports["default"] = _default;
;