import * as aexec from '@actions/exec'; import {ExecOptions} from '@actions/exec'; export interface ExecResult { success: boolean; stdout: string; stderr: string; } export const exec = async (command: string, args: string[] = [], silent?: boolean): Promise => { let stdout: string = ''; let stderr: string = ''; const options: ExecOptions = { silent: silent, ignoreReturnCode: true }; options.listeners = { stdout: (data: Buffer) => { stdout += data.toString(); }, stderr: (data: Buffer) => { stderr += data.toString(); } }; const returnCode: number = await aexec.exec(command, args, options); return { success: returnCode === 0, stdout: stdout.trim(), stderr: stderr.trim() }; };