コンテンツへスキップ

@stylistic/eslint-plugin-jsx

ESLint用のJSXスタイルルール。 eslint-plugin-react から移行されました。Reactから切り離されており、一般的なJSX構文をサポートしています。

元のルールにコミットしたすべてのコントリビューターに感謝します。

ヒント

JavaScriptとTypeScriptの両方のルールを含む@stylistic/eslint-pluginの使用をお勧めします。

インストール

sh
npm i -D @stylistic/eslint-plugin-jsx

プラグインリストに@stylistic/jsxを追加し、スタイルルールのプレフィックスをreactから@stylistic/jsに変更します。

js
// eslint.config.js
import stylisticJsx from '@stylistic/eslint-plugin-jsx'

export default [
  {
    plugins: {
      '@stylistic/jsx': stylisticJsx
    },
    rules: {
      'react/jsx-indent': ['error', 2],
      '@stylistic/jsx/jsx-indent': ['error', 2],
      // ...
    }
  }
]
js
// .eslintrc.js
module.exports = {
  plugins: [
   '@stylistic/jsx'
  ],
  rules: {
    'react/jsx-indent': ['error', 2],
    '@stylistic/jsx/jsx-indent': ['error', 2],
    // ...
  }
}

詳細は移行ガイドをご覧ください。

ルール

各ルールには、次の絵文字が表示されています。
💼
このルールは共有設定の一部です。
🔧
報告された問題の一部は、--fixコマンドラインオプションで修正できます。
ルール説明
jsx-child-element-spacingJSX属性と式内の波括弧内のスペースを強制または禁止します。
jsx-closing-bracket-locationJSXでの閉じ括弧の位置を強制します。💼🔧
jsx-closing-tag-location複数行JSXの閉じタグの位置を強制します。💼🔧
jsx-curly-brace-presenceリテラルのみで十分な場合に不要なJSX式を禁止するか、JSXの子または属性内のリテラルでJSX式を強制します。💼🔧
jsx-curly-newlineJSX属性と式内の波括弧での改行の一貫性を強制します。💼🔧
jsx-curly-spacingJSX属性と式内の波括弧内のスペースを強制または禁止します。💼🔧
jsx-equals-spacingJSX属性の等号周りのスペースを強制または禁止します。💼🔧
jsx-first-prop-new-lineJSXの最初のプロパティの位置を強制します。💼🔧
jsx-function-call-newlineJSX要素が関数の引数として使用される場合、その前後に改行を強制します。💼🔧
jsx-indentJSXのインデントを強制します。💼🔧
jsx-indent-propsJSXのプロパティのインデントを強制します。💼🔧
jsx-max-props-per-lineJSXの1行あたりのプロパティの最大数を強制します。💼🔧
jsx-newlinejsx要素と式の後に改行を要求または禁止します。🔧
jsx-one-expression-per-line1行につき1つのJSX要素を要求します。💼🔧
jsx-pascal-caseユーザー定義のJSXコンポーネントにPascalCaseを強制します。
jsx-props-no-multi-spacesインラインJSXプロパティ間の複数スペースを禁止します。🔧
jsx-self-closing-comp子を持たないコンポーネントの余分な閉じタグを禁止します。🔧
jsx-sort-propsプロパティのアルファベット順ソートを強制します。🔧
jsx-tag-spacingJSXの開始と終了ブラケットの内側と周囲の空白を強制します。💼🔧
jsx-wrap-multilines複数行JSXの周りの括弧の不足を禁止します。💼🔧
合計20個のルール。

MITライセンスでリリースされています。