Skip to content

Commit b13f173

Browse files
committed
fix: add check for sx prop
1 parent 21102b7 commit b13f173

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

src/rules/no-sx-prop.js

+26-15
Original file line numberDiff line numberDiff line change
@@ -54,23 +54,34 @@ module.exports = {
5454
create(context) {
5555
return {
5656
JSXOpeningElement(node) {
57-
if (node.name.type === 'JSXMemberExpression') {
58-
if (node.name.object.type === 'JSXIdentifier' && node.name.property.type === 'JSXIdentifier') {
59-
const name = `${node.name.object.name}.${node.name.property.name}`
60-
if (forbidden.has(name)) {
61-
context.report({
62-
node,
63-
messageId: 'sxProp',
64-
})
65-
}
66-
}
57+
let name = null
58+
59+
if (
60+
node.name.type === 'JSXMemberExpression' &&
61+
node.name.object.type === 'JSXIdentifier' &&
62+
node.name.property.type === 'JSXIdentifier'
63+
) {
64+
name = `${node.name.object.name}.${node.name.property.name}`
6765
} else if (node.name.type === 'JSXIdentifier') {
68-
if (forbidden.has(node.name.name)) {
69-
context.report({
70-
node,
71-
messageId: 'sxProp',
72-
})
66+
name = node.name.name
67+
}
68+
69+
if (!forbidden.has(name)) {
70+
return
71+
}
72+
73+
const hasSxProp = node.attributes.some(attr => {
74+
if (attr.name.type === 'JSXIdentifier' && attr.name.name === 'sx') {
75+
return true
7376
}
77+
return false
78+
})
79+
80+
if (hasSxProp) {
81+
context.report({
82+
node,
83+
messageId: 'sxProp',
84+
})
7485
}
7586
},
7687
}

0 commit comments

Comments
 (0)