jsx-eslint/eslint-plugin-react

react/jsx-indent with ternary and react fragment DON'T play nice 馃槙

Open

#3288 opened on May 11, 2022

View on GitHub
聽(4 comments)聽(1 reaction)聽(0 assignees)JavaScript聽(8,630 stars)聽(2,797 forks)batch import
bughelp wanted

Description

Conflicting rules in jsx-intend -->

{buttons
  .map((b, i) => (i === 2)
    ? <>
        <ThemedView/>
        <ImageButton/>
      </>
    : <ImageButton/>
)}

Tells me Expected indentation of 12 space characters but found 14 (for line 4+5) AND Expected indentation of 10 space characters but found 12 (line 6)

But:

  1. 4+5 SHOULD be indented (and is normally just fine, even with fragment, when not in combination with ternary operator) --> I don't care about that, I can just bring them in line with opening fragment then it work, just wanted to mention
  2. if I bring the react-fragment closing tag (line 6) to 10 spaces, it says Expected closing tag to match indentation of opening which it's auto-fix is to bring it in line with opening fragment (10->12), which just loops the error! --> conflicting rule in this case

Contributor guide