JSXOpeningElement: function(node) { var variables = variablesInScope(context) if (findVariable(variables, name)) return context.report({ message: `'${name}' must be in scope when using JSX syntax`, node: node }) }
const noUndefRule = context => { return { JSXOpeningElement(node) { var name = node.name if (name.type == 'JSXMemberExpression') name = name.object if (name.type == 'JSXNamespacedName') name = name.namespace const variables = variablesInScope(context) node.attributes.forEach(attr => { if (attr.type == 'JSXSpreadAttribute') return if (attr.value == null) checkDefined(context, variables, attr.name) }) if (!standardTags.has(name.name)) checkDefined(context, variables, name) } } }