Skip to content

Commit 6ac71e9

Browse files
ljharbstefanwullems
authored and
stefanwullems
committed
[Fix] jsx-curly-brace-presence: bail out on JSX inside props, for now
Fixes jsx-eslint#2423.
1 parent 1c3b5a6 commit 6ac71e9

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

lib/rules/jsx-curly-brace-presence.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,21 +114,26 @@ module.exports = {
114114
* @param {ASTNode} JSXExpressionNode - The AST node with an unnecessary JSX expression
115115
*/
116116
function reportUnnecessaryCurly(JSXExpressionNode) {
117+
const expression = JSXExpressionNode.expression;
118+
const expressionType = expression.type;
119+
const parentType = JSXExpressionNode.parent.type;
120+
const isJSX = jsxUtil.isJSX(expression);
121+
122+
if (parentType === 'JSXAttribute' && isJSX) {
123+
return;
124+
}
125+
117126
context.report({
118127
node: JSXExpressionNode,
119128
message: 'Curly braces are unnecessary here.',
120129
fix(fixer) {
121-
const expression = JSXExpressionNode.expression;
122-
const expressionType = expression.type;
123-
const parentType = JSXExpressionNode.parent.type;
124-
125130
let textToReplace;
126131
if (parentType === 'JSXAttribute') {
127132
textToReplace = `"${expressionType === 'TemplateLiteral' ?
128133
expression.quasis[0].value.raw :
129134
expression.raw.substring(1, expression.raw.length - 1)
130135
}"`;
131-
} else if (jsxUtil.isJSX(expression)) {
136+
} else if (isJSX) {
132137
const sourceCode = context.getSourceCode();
133138

134139
textToReplace = sourceCode.getText(expression);

tests/lib/rules/jsx-curly-brace-presence.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,12 @@ ruleTester.run('jsx-curly-brace-presence', rule, {
304304
`,
305305
parser: parsers.BABEL_ESLINT,
306306
options: [{children: 'never'}]
307+
},
308+
{
309+
code: `
310+
<MyComponent p={<Foo>Bar</Foo>}>
311+
</MyComponent>
312+
`
307313
}
308314
],
309315

0 commit comments

Comments
 (0)