UNPKG

approvals

Version:

Approval Tests Library - Capturing Human Intelligence

42 lines (41 loc) 1.69 kB
"use strict"; 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;