コンテンツへスキップ

@stylistic/

jsx-indent

JSXのインデントを強制します。

注:修正機能は、空白とタブのインデントを修正します。

ルール詳細

このルールは、一貫したインデントスタイルを強制することを目的としています。デフォルトのスタイルは4スペースです。

このルールの不正なコードの例

jsx
// 2 spaces indentation
<App>
  <Hello />
</App>

// no indentation
<App>
<Hello />
</App>

// 1 tab indentation
<App>
  <Hello />
</App>

ルールオプション

2番目のパラメータとしてオプションを受け取ります。タブベースのインデントの場合は"tab"、スペースインデントの場合は正の数を指定できます。属性のインデントをチェックしたり、論理式にインデントを追加するには、3番目のパラメータを使用して、それぞれcheckAttributes(デフォルトはfalse)とindentLogicalExpressions(デフォルトはfalse)をオンにします。

js
...
"@stylistic/jsx/jsx-indent": [<enabled>, 'tab'|<number>, {checkAttributes: <boolean>, indentLogicalExpressions: <boolean>}]
...

このルールの不正なコードの例

jsx
// 2 spaces indentation
// [2, 2]
<App>
    <Hello />
</App>

// tab indentation
// [2, 'tab']
<App>
  <Hello />
</App>

// [2, 2, {checkAttributes: true}]
<App render={
  <Hello render={
    (bar) => <div>hi</div>
}
  />
  }>
</App>

// [2, 2, {indentLogicalExpressions: true}]
<App>
  {condition && (
  <Hello />
  )}
</App>

このルールの正しいコードの例

jsx

// 2 spaces indentation
// [2, 2]
<App>
  <Hello />
</App>

// tab indentation
// [2, 'tab']
<App>
  <Hello />
</App>

// no indentation
// [2, 0]
<App>
<Hello />
</App>

// [2, 2, {checkAttributes: false}]
<App render={
  <Hello render={
    (bar) => <div>hi</div>
}
  />
  }>
</App>

// [2, 2, {indentLogicalExpressions: true}]
<App>
  {condition && (
    <Hello />
  )}
</App>

いつ使用しないか

JSXを使用していない場合は、このルールを無効にできます。

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