approvals
Version:
Approval Tests Library - Capturing Human Intelligence
42 lines (41 loc) • 1.69 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const shelljs_1 = __importDefault(require("shelljs"));
const GenericDiffReporterBase_1 = require("../GenericDiffReporterBase");
const osTools_1 = require("../../osTools");
const AUtils_1 = require("../../AUtils");
class P4MergeReporter extends GenericDiffReporterBase_1.GenericDiffReporterBase {
constructor() {
super("P4Merge");
let app = null;
if (osTools_1.platform.isMac) {
try {
app = shelljs_1.default.ls("/Applications/p4merge.app/Contents/Resources/launchp4merge")[0];
}
catch (err) {
console.error(err);
}
try {
// `shelljs.find` will `process.exit` on error - so test the folder exists first
if (fs_1.default.existsSync("/opt/homebrew-cask/Caskroom/p4merge")) {
app =
app ||
shelljs_1.default
.find("/opt/homebrew-cask/Caskroom/p4merge")
.filter(function (item) {
return item.indexOf("launchp4merge") >= 0;
})[0];
}
}
catch (err) {
//console.error(err);
}
}
this.exePath = app || (0, AUtils_1.searchForExecutable)("Perforce", "p4merge.exe");
}
}
exports.default = P4MergeReporter;