function reportNodeAttribute(nodeAttribute, errorType, node, context, reservedList) {
  const errors = reportedNodeAttributes.get(nodeAttribute) || [];

  if (includes(errors, errorType)) {
    return;
  }

  errors.push(errorType);

  reportedNodeAttributes.set(nodeAttribute, errors);

  report(context, messages[errorType], errorType, {
    node: nodeAttribute.name,
    fix: generateFixerFunction(node, context, reservedList),
  });
}
Check if the current node attribute has already been reported with the same error type
if that's the case then we don't report a new error
otherwise we report the error
@param {Object} nodeAttribute The node attribute to be reported
@param {string} errorType The error type to be reported
@param {Object} node The parent node for the node attribute
@param {Object} context The context of the rule
@param {Array<String>} reservedList The list of reserved props