bit-bin
Version:
<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b
99 lines (73 loc) • 2.14 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _bluebird() {
const data = require("bluebird");
_bluebird = function () {
return data;
};
return data;
}
function _execa() {
const data = _interopRequireDefault(require("execa"));
_execa = function () {
return data;
};
return data;
}
function _gitNotFound() {
const data = _interopRequireDefault(require("./git/exceptions/git-not-found"));
_gitNotFound = function () {
return data;
};
return data;
}
function _gitExecutable() {
const data = _interopRequireDefault(require("./git/git-executable"));
_gitExecutable = function () {
return data;
};
return data;
}
function _logger() {
const data = _interopRequireDefault(require("../logger/logger"));
_logger = function () {
return data;
};
return data;
}
/**
* get diff between files using git diff command
*/
var _default = /*#__PURE__*/function () {
var _diffFiles = (0, _bluebird().coroutine)(function* (fileA, fileB, colors = true) {
const params = ['diff'];
params.push('--no-index'); // ignores the working tree (in case the project is managed by git)
if (colors) params.push('--color');
params.push(fileA);
params.push(fileB);
const gitExecutablePath = (0, _gitExecutable().default)();
try {
const result = yield (0, _execa().default)(gitExecutablePath, params);
return result.stdout;
} catch (err) {
if (err.exitCode && Number.isInteger(err.exitCode) && err.stdout) {
// diff has been found, return the diff results.
return err.stdout;
}
if (err.exitCodeName === 'ENOENT') {
_logger().default.error(`failed running Git at ${gitExecutablePath}. full command: ${err.cmd}`);
throw new (_gitNotFound().default)(gitExecutablePath, err);
}
throw err;
}
});
function diffFiles(_x, _x2) {
return _diffFiles.apply(this, arguments);
}
return diffFiles;
}();
exports.default = _default;
;