ESLint-覆盖eslint-plugin-prettier中的规则

时间:2019-04-17 14:45:39

标签: eslint prettier

我将ESLint与更漂亮的pluginconfiguration结合使用:

// eslintrc.js
extends: [
  `eslint:recommended`,
  `plugin:react/recommended`,
  `plugin:@typescript-eslint/recommended`,
  `plugin:prettier/recommended`,
  `prettier/react`,
  `prettier/@typescript-eslint`
]

这很好用,但是我想禁用某些更漂亮的规则,该规则是删除“不需要的”括号(删除它们实际上会破坏我的代码):

// Replace `(state.counter)` with `state.counter` eslint(prettier/prettier)
return <div>{(state.counter)}</div>

从上面的消息中可以看到,它没有说明到底是哪个规则导致了此行为,因此我不知道要覆盖哪个规则。

我尝试覆盖eslint-prettier-config中找到的所有规则,但没有任何效果,我不想继续使用// eslint-disable-next-line prettier/prettier

2 个答案:

答案 0 :(得分:5)

当前无法通过配置从更漂亮的禁用该特定规则,但是要覆盖来自extends块的 eslint 中的规则,您可以这样写规则:

"rules": {
  "prettier/prettier": "off"
  "@typescript-eslint/no-use-before-define": [
    "error",
    { "functions": false, "variables": true, "classes": true },
  ],
}

或者仅对特定文件模式覆盖它,可以在overrides块中覆盖它。

"overrides": [
  {
    "files": ["*.html"],
    "rules": {
      "prettier/prettier": "off",
      "@typescript-eslint/unbound-method": "off"
    }
  }
]

在这里,我同时显示了您要查找的配置和嵌套包中的继承规则,以向未来的访问者展示如何做。

答案 1 :(得分:0)

漂亮不是那么可配置的。您可以尝试配置它们具有:https://prettier.io/docs/en/configuration.html

放入SELECT sr.id, se.supplierId, se.date, se.commodity, sp.date AS paymentDate, FROM supplies se INNER JOIN suppliers sr ON sr.id = se.supplierId LEFT JOIN supplier_payments sp ON sp.supplyId = se.id AND sp.isDeleted = 0 WHERE se.supplierId = 1 文件或这样的eslint配置:

.prettierrc