繁体   English   中英

Eslint 和 Prettier。 无法防止 eslint-config-prettier 行长错误

[英]Eslint with Prettier. Unable to prevent eslint-config-prettier line-length errors

请参阅底部的编辑

我有一个 JavaScript 文件,我正在使用 Eslint 进行 linting。 我正在使用 Prettier 来格式化代码。

我个人对这个文件的选择是将行长增加到 Prettier 默认的 80 个字符以外的 2000 个字符。

所以我有一个 prettierrc.config.js:

module.exports = {
  printWidth: 2000
};

当我格式化代码时它会起作用,并且我有一个 .eslintrc.js

module.exports = {
  "parserOptions": {
    "ecmaVersion": 6
  },
  "env": {
    "es6": true,
    "browser": true
  },
  "extends": [
    "eslint-config-airbnb-base",
    "eslint-config-prettier"
  ],
  "plugins": [
    "eslint-plugin-import",
    "eslint-plugin-prettier"
  ],
  "rules": {
    "prettier/prettier": ["error", {}],
    "max-len": ["error", {"code": 2000, "ignoreUrls": true}],
    "linebreak-style": 0,
    "no-use-before-define": ["error", { "functions": false, "classes": false }],
    "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
    "no-underscore-dangle": 0,
    "import/no-amd": 0,
    "import/no-dynamic-require": 0,
  },
  "globals": {
    "define": true
  }
};

每次我 lint 文件时,它都会抱怨某些行的长度。

为清楚起见进行编辑

我正在使用eslint v4.19.1更漂亮的 1.10.2 配置文件被正确读取和使用。

编辑以获取更多信息 2018/05/30

我发现了 lint 错误的区别。 Max-len 工作正常,并且我在规则中提供的替代值得到尊重。

更漂亮的配置有一个问题是我的一些条件表达式的长度。 我可以看到它希望将它们放在带有额外空白的新行上。 现在这是我要覆盖的配置。 这似乎是与 max-len 不同的规则。 下面的示例是一个长度为 60 个字符的条件表达式,它触发了 lint 错误。 整行只有 84 个字符长(* 表示空格)。

**********} else if (firstSessionDate > this.sessionsData[i].SessionStartDateTime) {

根据ESLint 的文档,您在rules中包含的任何内容都优先于从继承自extends的规则,这意味着您可以部分或完全更改规则的行为。

这意味着您指定的max-len max-len规则是从eslint-config-prettier中选择的 max-len 规则。 你必须从你的配置文件中删除这条规则,ESLint 就会停止抱怨。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM