import * as chalk from 'chalk'; export const E2E_LOG_PREFIX = `${chalk.reset.inverse.bold.keyword('orange')( ' E2E ' )}`; export function e2eConsoleLogger(message: string, body?: string) { process.stdout.write('\n'); process.stdout.write(`${E2E_LOG_PREFIX} ${message}\n`); if (body) { process.stdout.write(`${body}\n`); } process.stdout.write('\n'); } export function logInfo(title: string, body?: string) { const message = `${chalk.reset.inverse.bold.white( ' INFO ' )} ${chalk.bold.white(title)}`; return e2eConsoleLogger(message, body); } export function logError(title: string, body?: string) { const message = `${chalk.reset.inverse.bold.red(' ERROR ')} ${chalk.bold.red( title )}`; return e2eConsoleLogger(message, body); } export function logSuccess(title: string, body?: string) { const message = `${chalk.reset.inverse.bold.green( ' SUCCESS ' )} ${chalk.bold.green(title)}`; return e2eConsoleLogger(message, body); } /** * Remove log colors for fail proof string search * @param log * @returns */ export function stripConsoleColors(log: string): string { return log?.replace( /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '' ); }