UNPKG

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
"use strict"; 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;