jsx-eslint/eslint-plugin-react

jsx-one-expression-per-line should ignore inline elements

Open

#1,848 opened on Jun 25, 2018

 (22 comments) (52 reactions) (0 assignees)JavaScript (2,731 forks)batch import
help wanted

Repository metrics

Stars
 (9,293 stars)
PR merge metrics
 (PR metrics pending)

Description

It doesn't seem to make sense to one-line inline elements.

For example, one-lining the em element in the example below doesn't make sense.

<Styled.PasswordInstructions errored={ !!formErrors.userPassword }>
  Passwords must be at least 8 characters long and can&apos;t be
  things like <em>password</em>, <em>123456</em> or <em>abcdef</em>.
</Styled.PasswordInstructions>

Here is the "fixed" version.

<Styled.PasswordInstructions errored={ !!formErrors.userPassword }>
  Passwords must be at least 8 characters long and can&apos;t be
  things like
  <em>
    password
  </em>
  ,
  <em>
    123456
  </em>
  or
  <em>
    abcdef
  </em>
  .
</Styled.PasswordInstructions>

I could also see an option allowing the developer to choose which elements to ignore along with an ignoreInline option.

Contributor guide