跳至内容

@stylistic/eslint-plugin

ESLint 的风格规则,适用于 JavaScript、TypeScript 和 JSX。

此插件提供以下所有规则:

使用此插件,您不再需要主要禁用 JavaScript 以支持 TypeScript。规则适用于两种语言。

共享配置

此插件提供一些内置配置,您可以直接使用。了解更多关于 共享配置

安装

sh
npm i -D @stylistic/eslint-plugin

@stylistic 添加到您的插件列表中,并在 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-spacing强制或禁止 JSX 属性和表达式中大括号内的空格
jsx-closing-bracket-location强制 JSX 中的结束括号位置💼🔧
jsx-closing-tag-location强制多行 JSX 的闭合标签位置💼🔧
jsx-curly-brace-presence禁止在仅有字面量的情况下使用不必要的 JSX 表达式,或强制在 JSX 子元素或属性中对字面量使用 JSX 表达式💼🔧
jsx-curly-newline强制 JSX 属性和表达式中花括号内的换行符保持一致💼🔧
jsx-curly-spacing强制或禁止 JSX 属性和表达式中大括号内的空格💼🔧
jsx-equals-spacing强制或禁止在 JSX 属性中的等号周围使用空格💼🔧
jsx-first-prop-new-line强制 JSX 中第一个属性的正确位置💼🔧
jsx-function-call-newline当 JSX 元素用作函数参数时,强制在 JSX 元素前后换行。💼🔧
jsx-indent强制 JSX 缩进💼🔧
jsx-indent-props强制 JSX 中属性的缩进💼🔧
jsx-max-props-per-line强制 JSX 中单行上的属性数量最大值💼🔧
jsx-newline要求或禁止在 jsx 元素和表达式后换行。🔧
jsx-one-expression-per-line要求每行一个 JSX 元素💼🔧
jsx-pascal-case强制用户定义的 JSX 组件使用 PascalCase
jsx-props-no-multi-spaces禁止在内联 JSX 属性之间使用多个空格🔧
jsx-quotes强制在 JSX 属性中始终使用双引号或单引号💼🔧
jsx-self-closing-comp禁止为没有子元素的组件添加额外的闭合标签🔧
jsx-sort-props强制按字母顺序排序属性🔧
jsx-tag-spacing强制在 JSX 开闭括号内和周围使用空格💼🔧
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-line强制每行允许的最大语句数💼
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强制在剩余和展开运算符及其表达式之间使用空格💼🔧
semi要求或禁止使用分号而不是 ASI💼🔧
semi-spacing强制分号前后一致使用空格💼🔧
semi-style强制分号的位置🔧
space-before-blocks强制在块之前一致使用空格💼🔧
space-before-function-paren强制在`function`定义的左括号之前一致使用空格💼🔧
space-in-parens强制在括号内一致使用空格💼🔧
space-infix-ops要求在中缀运算符周围使用空格💼🔧
space-unary-ops强制在单目运算符之前或之后一致使用空格💼🔧
spaced-comment强制在注释中的`//`或`/*`之后一致使用空格💼🔧
switch-colon-spacing强制在switch语句的冒号周围使用空格🔧
template-curly-spacing要求或禁止模板字符串中嵌入表达式周围的空格💼🔧
template-tag-spacing要求或禁止模板标签与其文字之间的空格💼🔧
type-annotation-spacing要求类型注释周围的空格一致💼🔧
type-generic-spacing强制 TypeScript 类型泛型内部的空格一致💼🔧
type-named-tuple-spacing期望在命名元组中的类型声明之前有空格💼🔧
wrap-iife要求在立即 `function` 调用周围使用括号💼🔧
wrap-regex要求在正则表达式文字周围使用括号🔧
yield-star-spacing要求或禁止 `yield*` 表达式中 `*` 周围的空格💼🔧
总共 95 条规则。