UNPKG

approvals

Version:

Approval Tests Library - Capturing Human Intelligence

40 lines (35 loc) 1.12 kB
import fs from "fs"; import shelljs from "shelljs"; import { GenericDiffReporterBase } from "../GenericDiffReporterBase"; import { platform } from "../../osTools"; import { searchForExecutable } from "../../AUtils"; export default class P4MergeReporter extends GenericDiffReporterBase { constructor() { super("P4Merge"); let app = null; if (platform.isMac) { try { app = shelljs.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.existsSync("/opt/homebrew-cask/Caskroom/p4merge")) { app = app || shelljs .find("/opt/homebrew-cask/Caskroom/p4merge") .filter(function (item) { return item.indexOf("launchp4merge") >= 0; })[0]; } } catch (err) { //console.error(err); } } this.exePath = app || searchForExecutable("Perforce", "p4merge.exe"); } }