ESLint “max-len” 忽略模式的问题

Issues with ESLint "max-len" ignore pattern

本文关键字:模式 问题 max-len ESLint      更新时间:2023-09-26

我试图忽略带有ESLint"max-len"规则和一些ES6代码的导入语句。我的规则集是在 index.js 的配置中编写的,规则本身的配置如下所示:

    'max-len': [
        2,
        80,
        4,
        {
            ignoreUrls: true,
            ignorePattern: /^import's.+'sfrom's.+;$/
        }
    ],

鉴于我提供的 RegExp,超过 80 个字符的行仍然会触发错误。我对规则本身有什么不了解的吗?

我还尝试了更简单的正则表达式和传递正则表达式字符串,例如:

'^import.*'

在这里找到: http://eslint.org/docs/rules/max-len

我也遇到了麻烦,但@loganfsmyth的建议对我有用。我使用的是 v3.14.0,我的所有规则都在一个.eslintrc文件中:

{
  ...
  "rules": {
    "max-len": [1, 80, 2, {
      "ignorePattern": "^import''s.+''sfrom''s.+;$",
      "ignoreUrls": true
    }],
    ...
  },
}

类似于 loganfsmyth 的评论和 ericgio 的回答,但没有双重转义,这对我使用 yaml 有用:

rules:
  ...
  max-len:
  - error
  - code: 80
    tabWidth: 2
    ignorePattern: ^import's.+'sfrom's.+;$
  ...

在我们的例子中,由于我们在 IntelliJ IDE 的最大行到下一行的范围内有软换行,因此稍微更新了对.eslintrc文件的更改效果很好:

            "max-len": [
                "error",
                {
                    "code": 180,
                    "ignorePattern":"^(import''s.+''sfrom''s.+|''} from)",
                    "ignoreUrls": true
                }
            ]

这使我们能够避免移动到几行的导入的 lint 问题,例如:

import {
    InvitationBookingSecondColumnComponent
} from './component/booking/invitation-booking/invitation-booking-second-column/invitation-booking-second-column.component';