in packages/aws-c2a/lib/cloud-assembly.ts [271:308]
public processMetadataMessages(options: MetadataMessageOptions = {}): void {
let warnings = false;
let errors = false;
for (const stack of this.stackArtifacts) {
for (const message of stack.messages) {
switch (message.level) {
case cxapi.SynthesisMessageLevel.WARNING:
warnings = true;
printMessage(warning, 'Warning', message.id, message.entry);
break;
case cxapi.SynthesisMessageLevel.ERROR:
errors = true;
printMessage(error, 'Error', message.id, message.entry);
break;
case cxapi.SynthesisMessageLevel.INFO:
printMessage(print, 'Info', message.id, message.entry);
break;
}
}
}
if (errors && !options.ignoreErrors) {
throw new Error('Found errors');
}
if (options.strict && warnings) {
throw new Error('Found warnings (--strict mode)');
}
function printMessage(logFn: (s: string) => void, prefix: string, id: string, entry: cxapi.MetadataEntry) {
logFn(`[${prefix} at ${id}] ${entry.data}`);
if (options.verbose && entry.trace) {
logFn(` ${entry.trace.join('\n ')}`);
}
}
}