in src/parsers/manifestjson.js [958:992]
async validateIcon(iconPath, expectedSize) {
try {
const info = await getImageMetadata(this.io, iconPath);
if (info.width !== info.height) {
if (info.mime !== 'image/svg+xml') {
this.collector.addError(messages.iconIsNotSquare(iconPath));
this.isValid = false;
} else {
this.collector.addWarning(messages.iconIsNotSquare(iconPath));
}
} else if (
expectedSize !== null &&
info.mime !== 'image/svg+xml' &&
parseInt(info.width, 10) !== parseInt(expectedSize, 10)
) {
this.collector.addWarning(
messages.iconSizeInvalid({
path: iconPath,
expected: parseInt(expectedSize, 10),
actual: parseInt(info.width, 10),
})
);
}
} catch (err) {
log.debug(
`Unexpected error raised while validating icon "${iconPath}"`,
err
);
this.collector.addWarning(
messages.corruptIconFile({
path: iconPath,
})
);
}
}