import chalk from 'chalk'; import _ from 'lodash'; import path from 'path'; export function logAnnotationErrors(errors: any[], logger: any, baseDir: string, sourcemaps?: { [k: string]: any }) { if (_.isEmpty(errors)) { return; } logger.error(`Found ${errors.length} annotation error${errors.length !== 1 ? 's' : ''}`); for (const error of errors) { let message = error.message; const sourcemap = sourcemaps?.[error.elementXPath]; if (sourcemap) { const relFileName = path.isAbsolute(sourcemap.file) ? path.relative(baseDir, sourcemap.file) : sourcemap.file; message += ` (${chalk.yellow(`${relFileName}:${sourcemap.start?.line}`)})`; } else if (error.elementXPath) { message += ` (${error.elementXPath})`; } logger.error(message); } }