web-dev-qa-db-ja.com

ESLintで推奨される複数の構成を拡張する

ストーリー:

現在、推奨されるESLint構成を拡張しています

{
  "extends": "eslint:recommended",
  ...
  "plugins": [
    "angular",
    "jasmine",
    "protractor"
  ],
  "rules": {
    "no-multiple-empty-lines": 2,
    "no-trailing-spaces": 2,
    "jasmine/valid-expect": 2
  }
}

また、angularjasmine、およびprotractor ESLintプラグインを使用します。これらのプラグインには、独自の推奨構成も付属しています。 )(デフォルトのルールの厳密性レベルとデフォルトのルールパラメータ)。

質問:

推奨されるすべての構成(ESLintと使用されているすべてのプラグインに付属している構成)を同時に使用するにはどうすればよいですか?


次のことを試しました。

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ],
  ...
}

しかし、次のエラーが発生しました:

未定義のプロパティ「推奨」を読み取れません

14
alecxe

推奨されるすべての構成(ESLintと使用されているすべてのプラグインに付属している構成)を同時に使用するにはどうすればよいですか?

構文は正しく、複数の拡張機能は次のように読み込まれます。

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "plugin:angular/recommended"
  ]
}

ただし、これには、問題のプラグインが実際に推奨設定にバンドルされている必要があります。 eslint-plugin-angularしません 、そしてあなたはそれを自分でインストールしなければなりません:

npm install --save-dev eslint-config-angular

Eslint設定をに変更します

{
  "extends": [
    "eslint:recommended",
    "plugin:protractor/recommended",
    "plugin:jasmine/recommended",
    "angular"
  ]
}

そしてそれはうまくいくはずです。

29
dannyjolie