コンテンツへスキップ

@stylistic/eslint-plugin

ESLint のためのスタイリスティックルールで、JavaScript、TypeScript、JSX の両方で動作します。

このプラグインは、以下のすべてのルールを提供します。

このプラグインを使用すると、TypeScript を優先して JavaScript を無効にする必要はほとんどなくなります。ルールは両方の言語で動作します。

共有設定

このプラグインには、すぐに使用できるいくつかの組み込み設定が用意されています。詳しくは、共有設定をご覧ください。

インストール

sh
npm i -D @stylistic/eslint-plugin

plugins リストに @stylistic を追加し、スタイリスティックルール@stylistic をプレフィックスとして付けます。

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

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

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

ルール

各ルールには、以下を示す絵文字が付いています。
💼
ルールは共有設定の一部です
🔧
報告された問題の一部は、--fix コマンドラインオプションで修正できます
ルール説明
array-bracket-newline配列の括弧を開いた後と閉じる前に改行を強制します🔧
array-bracket-spacing配列の括弧内のスペーシングの一貫性を強制します💼🔧
array-element-newline各配列要素の後に改行を強制します🔧
arrow-parensアロー関数の引数の周りに括弧を要求します💼🔧
arrow-spacingアロー関数内のアローの前後のスペーシングの一貫性を強制します💼🔧
block-spacingブロックを開いた後、およびブロックを閉じる前のブロック内のスペースを禁止または強制します💼🔧
brace-styleブロックの一貫した中括弧スタイルを強制します💼🔧
comma-dangle末尾のカンマを必須または禁止にします💼🔧
comma-spacingカンマの前後のスペーシングの一貫性を強制します💼🔧
comma-style一貫したカンマスタイルを強制します💼🔧
computed-property-spacing計算されたプロパティの括弧内のスペーシングの一貫性を強制します💼🔧
dot-locationドットの前後の改行の一貫性を強制します💼🔧
eol-lastファイルの最後に改行を必須または禁止にします💼🔧
func-call-spacing関数識別子とその呼び出しの間のスペーシングを必須または禁止にします。`function-call-spacing`のエイリアスです。🔧
function-call-argument-newline関数呼び出しの引数間の改行を強制します🔧
function-call-spacing関数識別子とその呼び出しの間のスペーシングを必須または禁止にします🔧
function-paren-newline関数の括弧内の一貫した改行を強制します🔧
generator-star-spacingジェネレーター関数内の `*` 演算子の周囲のスペーシングの一貫性を強制します🔧
implicit-arrow-linebreakアロー関数の本体の位置を強制します🔧
indent一貫したインデントを強制します💼🔧
indent-binary-ops二項演算子のインデント💼🔧
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の単一行のプロパティの最大数を強制します💼🔧
jsx-newlinejsx要素と式の後に改行を要求または禁止します。🔧
jsx-one-expression-per-line1行に1つのJSX要素を要求します💼🔧
jsx-pascal-caseユーザー定義のJSXコンポーネントにPascalCaseを強制します
jsx-props-no-multi-spacesインラインJSXプロパティ間の複数スペースを禁止します🔧
jsx-quotesJSX属性で二重引用符または単一引用符の一貫した使用を強制します💼🔧
jsx-self-closing-comp子要素のないコンポーネントの追加の終了タグを禁止します🔧
jsx-sort-propsプロパティのアルファベット順ソートを強制します🔧
jsx-tag-spacingJSXの開始括弧と終了括弧の内側および周囲の空白を強制します💼🔧
jsx-wrap-multilines複数行JSXの周囲の括弧の欠落を禁止します💼🔧
key-spacingオブジェクトリテラルプロパティのキーと値の間の一貫したスペーシングを強制します💼🔧
keyword-spacingキーワードの前後のスペーシングの一貫性を強制します💼🔧
line-comment-position行コメントの位置を強制します
linebreak-style一貫した改行スタイルを強制します🔧
lines-around-commentコメントの周りに空行を要求します🔧
lines-between-class-membersクラスメンバー間の空行を必須または禁止にします💼🔧
max-len最大行長を強制します
max-statements-per-line1行あたりに許可されるステートメントの最大数を強制します💼
member-delimiter-styleインターフェイスおよび型リテラルの特定のメンバー区切り文字スタイルを要求します💼🔧
multiline-comment-style複数行コメントの特定スタイルを強制します🔧
multiline-ternary三項演算子のオペランド間の改行を強制します💼🔧
new-parens引数なしでコンストラクターを呼び出すときに、括弧を強制または禁止します💼🔧
newline-per-chained-callメソッドチェーン内の各呼び出しの後に改行を要求します🔧
no-confusing-arrow比較と混同される可能性のあるアロー関数を禁止します🔧
no-extra-parens不要な括弧を禁止します💼🔧
no-extra-semi不要なセミコロンを禁止します🔧
no-floating-decimal数値リテラルの先頭または末尾の小数点記号を禁止します💼🔧
no-mixed-operators混合二項演算子を禁止します💼
no-mixed-spaces-and-tabsインデントに混合スペースとタブを使用することを禁止します💼
no-multi-spaces複数スペースを禁止します💼🔧
no-multiple-empty-lines複数空行を禁止します💼🔧
no-tabsすべてのタブを禁止します💼
no-trailing-spaces行末の末尾の空白を禁止します💼🔧
no-whitespace-before-propertyプロパティの前の空白を禁止します💼🔧
nonblock-statement-body-position単一行ステートメントの位置を強制します🔧
object-curly-newline開き中括弧の後と閉じ中括弧の前の改行の一貫性を強制します🔧
object-curly-spacing中括弧内のスペーシングの一貫性を強制します💼🔧
object-property-newlineオブジェクトプロパティを別の行に配置することを強制します🔧
one-var-declaration-per-line変数宣言の周りの改行を必須または禁止にします🔧
operator-linebreak演算子の一貫した改行スタイルを強制します💼🔧
padded-blocksブロック内のパディングを必須または禁止にします💼🔧
padding-line-between-statementsステートメント間のパディング行を必須または禁止にします🔧
quote-propsオブジェクトリテラルプロパティ名の周囲に引用符を要求します💼🔧
quotesバッククォート、二重引用符、または単一引用符のいずれかの一貫した使用を強制します💼🔧
rest-spread-spacingレスト演算子とスプレッド演算子およびそれらの式の間隔を強制します💼🔧
semiASIの代わりにセミコロンを必須または禁止にします💼🔧
semi-spacingセミコロンの前後のスペーシングの一貫性を強制します💼🔧
semi-styleセミコロンの位置を強制します🔧
space-before-blocksブロックの前の一貫したスペーシングを強制します💼🔧
space-before-function-paren`function`定義の開き括弧の前のスペーシングの一貫性を強制します💼🔧
space-in-parens括弧内のスペーシングの一貫性を強制します💼🔧
space-infix-opsinfix演算子の周りのスペーシングを要求します💼🔧
space-unary-ops単項演算子の前または後のスペーシングの一貫性を強制します💼🔧
spaced-commentコメント内の `//` または `/*` の後のスペーシングの一貫性を強制します💼🔧
switch-colon-spacingswitchステートメントのコロンの周囲のスペーシングを強制します🔧
template-curly-spacingテンプレート文字列の埋め込み式の周囲のスペーシングを必須または禁止にします💼🔧
template-tag-spacingテンプレートタグとそのリテラルの間のスペーシングを必須または禁止にします💼🔧
type-annotation-spacing型アノテーションの周囲の一貫したスペーシングを要求します💼🔧
type-generic-spacingTypeScript型ジェネリック内のスペーシングの一貫性を強制します💼🔧
type-named-tuple-spacing名前付きタプル内の型宣言の前にスペースを期待します💼🔧
wrap-iife即時`function`呼び出しの周囲に括弧を要求します💼🔧
wrap-regex正規表現リテラルの周囲に括弧を要求します🔧
yield-star-spacing`yield*`式の`*`の周りのスペーシングを必須または禁止にします💼🔧
合計95個のルール。

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