diff --git a/lib/rules/jsx-curly-brace-presence.js b/lib/rules/jsx-curly-brace-presence.js
index 0f17143ffa..5bc3b744db 100755
--- a/lib/rules/jsx-curly-brace-presence.js
+++ b/lib/rules/jsx-curly-brace-presence.js
@@ -405,13 +405,19 @@ module.exports = {
}
},
+ 'JSXAttribute > JSXExpressionContainer > JSXFragment'(node) {
+ if (userConfig.propElementValues === OPTION_NEVER) {
+ reportUnnecessaryCurly(node.parent);
+ }
+ },
+
JSXExpressionContainer(node) {
if (shouldCheckForUnnecessaryCurly(node, userConfig)) {
lintUnnecessaryCurly(node);
}
},
- 'JSXAttribute > JSXElement, Literal, JSXText'(node) {
+ 'JSXAttribute > JSXElement, JSXAttribute > JSXFragment, Literal, JSXText'(node) {
if (shouldCheckForMissingCurly(node, userConfig)) {
reportMissingCurly(node);
}
diff --git a/tests/lib/rules/jsx-curly-brace-presence.js b/tests/lib/rules/jsx-curly-brace-presence.js
index 59d756737b..671afc0bb3 100755
--- a/tests/lib/rules/jsx-curly-brace-presence.js
+++ b/tests/lib/rules/jsx-curly-brace-presence.js
@@ -932,6 +932,13 @@ ruleTester.run('jsx-curly-brace-presence', rule, {
output: `} />`,
errors: [{ messageId: 'missingCurly' }],
},
+ {
+ code: `> />`,
+ options: [{ props: 'always', children: 'always', propElementValues: 'always' }],
+ features: ['no-ts'],
+ output: `>} />`,
+ errors: [{ messageId: 'missingCurly' }],
+ },
{
code: `} />`,
options: [{ props: 'never', children: 'never', propElementValues: 'never' }],
@@ -939,6 +946,13 @@ ruleTester.run('jsx-curly-brace-presence', rule, {
output: ` />`,
errors: [{ messageId: 'unnecessaryCurly' }],
},
+ {
+ code: `>} />`,
+ options: [{ props: 'never', children: 'never', propElementValues: 'never' }],
+ features: ['no-ts'],
+ output: `> />`,
+ errors: [{ messageId: 'unnecessaryCurly' }],
+ },
{
code: ``,
options: [{ props: 'never', children: 'never', propElementValues: 'never' }],