ESlint: отключение определенного правила в проекте

Я прочитал документы о том, как отключить правила из файла, однако мне интересно, есть ли способ отключить или перезаписать правила из .eslintrc без перезаписи других предыдущих правил и предустановок, которые я определил. Я работаю в проекте AngularJS, поэтому я использовал extends собственность внутри моего .eslintrc файл.

Есть 3 конкретных правила из углового плагина ESlint, которые я хотел бы отключить, не отключая все остальное, что я использовал ранее.

Без rules Свойство все мои правила lint работают нормально (пробелы, грамматические ошибки и т. д.), но две ошибки lint, которые я не хочу, естественно, отображаются. Однако с rules свойство присоединено, все мои предыдущие правила больше не применяются (интервальные ошибки грамматики и т. д.).

Я мог бы просто объявить правило, чтобы отключить конкретное правило, которое я не хочу применять в верхней части моего файла, но это очень повторяется (это то, что я делал ранее).

{
  "rules": {
    "wrap-iife": [
      2,
      "inside"
    ],
    "max-len": [
      2,
      120
    ],
    "indent": [
      2,
      2
    ],
    "no-with": 2,
    "no-implicit-coercion": [
      2, {
        "string": true
      }
    ],
    "camelcase": [
      2, {
        "properties": "never"
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ]
  },
  "env": {
    "es6": true,
    "browser": true,
    "node": true
  },
  "ecmaFeatures": {
    "modules": true
  },
  "globals": {
    "angular": true
  },
  "extends": "angular",

  //I just want to disable these rules & still use everything else
  //but when I add this, everything else I had previously no longer
  //applies
  "rules": {
    "angular/controller-as-vm": "off",
    "angular/document-service": "off",
    "angular/window-service": "off"
  }
}

1 ответ

Решение

В вас .eslintrc у вас есть два rules ключи. Второе заменит первое. Вот файл с правилами, объединенными вместе:

{
  "rules": {
    "wrap-iife": [
      2,
      "inside"
    ],
    "max-len": [
      2,
      120
    ],
    "indent": [
      2,
      2
    ],
    "no-with": 2,
    "no-implicit-coercion": [
      2, {
        "string": true
      }
    ],
    "camelcase": [
      2, {
        "properties": "never"
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ],
    "angular/controller-as-vm": "off",
    "angular/document-service": "off",
    "angular/window-service": "off"
  },
  "env": {
    "es6": true,
    "browser": true,
    "node": true
  },
  "ecmaFeatures": {
    "modules": true
  },
  "globals": {
    "angular": true
  },
  "extends": "angular"
}

Файл конфигурации ESLint, который отключает все правила по отдельности.

Это файл конфигурации Eslint (eslintrc.json), в котором отключены все правила, так что вы можете изменять свой код на основе правила за правилом, а не изменять весь код в соответствии со всеми правилами?

https://github.com/ajmaurya99/eslint-rules

Другие вопросы по тегам