UNPKG

node-talisman

Version:

A npm package for running Thoughtwork's Talisman tool

39 lines (36 loc) 1.12 kB
import execSh from 'exec-sh'; import messages from "../messages.js"; import { CONSOLE_COLORS } from "../constants.js"; import logToConsole, { logToConsoleForDebugging } from "../utils/logToConsole.js"; import getProcessArgs from "../utils/getProcessArgs.js"; import wrapTextIfNotWindows from "../utils/wrapTextIfNotWindows.js"; const wrapTextWithQuotesIfNotWindows = wrapTextIfNotWindows(`"`); const check = ({ filePath, args }) => { logToConsoleForDebugging({ filePath }); return new Promise((resolve, reject) => { logToConsole({ color: CONSOLE_COLORS.cyan }, messages.check.inProgress.toString()); logToConsole(); execSh([`${wrapTextWithQuotesIfNotWindows(filePath)} ${getProcessArgs(args)}`], error => { if (!error) { logToConsole({ color: CONSOLE_COLORS.green }, messages.check.succeed.toString()); logToConsole(); return resolve(); } logToConsole({ color: CONSOLE_COLORS.red }, messages.check.failed.toString()); logToConsole(); return reject(error); }); }); }; export default check;