特定のファイルのeslintルールをオフにする


404

ファイル全体のeslintルールをオフにすることは可能ですか?次のようなもの:

// eslint-disable-file no-use-before-define 

(eslint-disable-lineに類似しています。)あるファイルで、そのファイルに問題がないと見なされている多くの場所で特定のルールに違反していることがよくありますが、無効にしたくありませんプロジェクト全体のルールも、その特定のファイルの他のルールも無効にしたくない。


1
次のように、ファイルの最初の行としてルールを追加できます。/ * eslint no-use-before-define:2 * /
joaumg

2
完璧、それはうまくいきます、ありがとう。私はドキュメントのセクションを見過ごしました:eslint.org/docs/user-guide/configuring.html#configuring-rules
Tomas Kulich

回答:


404

ファイルの先頭に構成を配置することで、ファイルの特定のルールをオフ/変更できます。

/* eslint no-use-before-define: 0 */  // --> OFF

or

/* eslint no-use-before-define: 2 */  // --> ON

より詳しい情報


8
このような.eslintrcすべてのファイル固有のルールをファイルの先頭に適用するルールを配置する方法はありますか?
2016年

9
@ジェレミー私の答えを見てください。.eslintignoreプロジェクトのルートディレクトリにファイルを追加するだけです。
プログラハンマー2016

どのように動作しているようですしないHTMLまたはEJSファイル、およそ.eslintignore/* eslint no-use-before-define: 0 */ // --> OFFどちらか?
Jeet 2017年

1行で複数の無視を実行することは可能ですか?
cheshireoctopus

4
私は/ * eslint-disable rule-name * /を試しました、そしてそれはうまくいきました
Marcos Pereira

304

ファイルの特定のルールを無効にするには:

/* eslint-disable no-use-before-define */

eslintには単一行コメントが機能しないバグがあることに注意してください-

// eslint-disable max-classes-per-file
// This fails!

この投稿をチェック


28
これによりno-use-before-define、無視することを意図したものだけでなく、そのブロック内のすべてのeslintルールが無効になります
Jeremy

13
基本的にはそれが全体のアイデアです。問題は、「ファイル全体の eslintルールをオフにすることは可能ですか?」
Wahome、

27
@Wahome「ファイル全体のeslint ルールをオフにすることは可能ですか?」ルールという言葉は単数形です。あなたの答えはすべての規則を複数形にすることを止めます
spencer.sm 2018

8
説明の中で、彼は特定のルールを無効にするようなものを望んでいると述べました-もう一度質問を読んでください!
Marwen Trabelsi 2018年

5
確かに、これは質問全体に対処するものではありませんが、「eslint ignore file」をグーグル検索するときにこのスレッドがトップ結果であるため、有用な回答です
RobinMétralOct

143

プロジェクトのルートディレクトリにファイルを作成することで、特定のファイルとディレクトリ無視するようにESLintに指示できます.eslintignore

.eslintignore

build/*.js
config/*.js
bower_components/foo/*.js

無視パターンは、.gitignore仕様に従って動作します。(エディタを再起動することを忘れないでください。)


10
このファイルの特定のルールのみを無視することは可能ですか?
J.ヘスターズ


2
非常に素晴らしい!**を使用して、ディレクトリ、サブディレクトリ、サブサブディレクトリに再帰的にファイルを追加することもできます。次に例を示しますspec/javascripts/**/*.js
Victor

完璧-これは、自動生成され、頻繁に変更されるファイル(AWSのAmplifyまたはMobileHubを使用している場合はaws-exports.jsなど)に特に役立ちます
bogan27

これでも警告が表示されます
dan-klasson

117

次のようなルールを無効/有効にすることもできます:

/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */

eslint-disable-line質問で述べたのと同じです。複雑なルール構成を再度有効にするときに復元する必要がない場合は、この方法が適している場合があります。


eslint構成で定義したレベル(警告、エラー)が復元されるため、これを使用します。
Jankapunkt

これは私のために働いたソリューションです。ルールをオフにしてからオンにしても機能しませんでした。
JoshJoe 2018

65

無視するルールの数(すべてまたは一部)と、それを無効にする範囲(行、ファイル、すべての場所)に基づいて、2×3 = 6のケースがあります。


1)「すべてのルール」を無効にする

ケース1.1:「1つ以上の行」の「すべてのルール」を無効にしたい

Put `/* eslint-disable-line */` at the **end of the line(s)**, 
or `/* eslint-disable-next-line */` right **before the line**.

ケース1.2:「1つのファイル」の「すべてのルール」を無効にしたい

Put the comment of `/* eslint-disable */` at the top of the file.

ケース1.3:「一部のファイル」の「すべてのルール」を無効にしたい

これを行うには、3つの方法があります。

  1. あなたは1.2で行って追加することができます /* eslint-disable */使用して、ファイルの上に1つずつます。
  2. ファイル名をに入れることができます.eslintignore。これは、無視したいパスがある場合に特に有効です。(例apidoc/**
  3. あなたは別の持ってしたくない場合は別の方法として、.eslintignoreファイルを、あなたは追加することができます "eslintIgnore": ["file1.js", "file2.js"]package.json指示されたとおり、ここ

2)「一部のルール」を無効にする

ケース2.1:「1つ以上の行」の「一部のルール」を無効にしたい

You can put `/* eslint-disable-line quotes */` (replace `quotes` with your rules) at the end of the line(s), 
or `/* eslint-disable-next-line no-alert, quotes, semi */` before the line.

ケース2.2:「1つのファイル」の「一部のルール」を無効にしたい

Put the `/* eslint-disable no-use-before-define */` comment at the top of the file.  

その他の例はこちら

##ケース2.3:「一部のファイル」の「一部のルール」を無効にしたい

これは簡単ではありません。ここで説明するように"excludedFiles"、それらを"overrides"セクションのオブジェクトに配置する必要があります。.eslintrc


4
PS。ケース5:「すべてのファイル」の「すべてのルール」を無効にしたい- npm uninstall eslint!:p
Aidin

2
また、/* */スタイルコメントはに対してのみ使用できることに注意してくださいeslint-disable// eslint-disable no-use-before-defineうまくいきません。それはうまく// eslint-disable-next-lineいきます。
アイディン

56

.eslintrc.js構成ファイルに「オーバーライド」を追加することをお勧めします。たとえば、アクションで終了するすべてのjsファイルのキャメルケースルールを無効にしない場合は、.eslintrc.jsのルールスコープの後にこのコードを追加します。

"rules": {    
...........    
},
"overrides": [
 {
  "files": ["*Actions.js"],
     "rules": {
        "camelcase": "off"   
     }
 }
]

特定のファイルに関するOPの質問には答えません。
wscourge

ファイル内で行うのに最適な方法です。
Josef Engelfrost

8
非常に過小評価されている答え!
アダム

よく働く!私見これは受け入れられる答えであるべきです。この方法はeslintrcファイルにとどまり(ソースファイルをクリーンに保ちます)、特定のファイルの特定のルールの動作を上書きできます。+1
akagixxer

48

ファイル内のルール警告を一時的に無効にするには、次の形式のブロックコメントを使用します。

/* eslint-disable */

これにより、ESLintが無効になるまで

/* eslint-enable */

コメントが届きました。

このトピックの詳細については、こちらをご覧ください


36

受け入れられた回答は私にとってはうまくいきませんでした(おそらくeslintの別のバージョン...?私はを使用してeslint v3.19.0います)が、次の解決策を見つけました...

以下をファイルの上部に配置します

/* eslint-disable no-use-before-define */

これにより、ファイル全体のルールが無効になります


7
...または複数のように/* eslint-disable no-unused-vars, no-console, import/no-extraneous-dependencies, spaced-comment */
フランクノッケ2017

1
同じ同じ、受け入れられた答えは私にとってはうまくいきませんでした。2つの違い:変更eslinteslint-disableと落とします: 0。eslint@4.19.1を使用します。
hellatan

10
/*eslint-disable */

//suppress all warnings between comments
alert('foo');

/*eslint-enable */

それは私のために働いた


4
これによりno-use-before-define、無視することを意図したものだけでなく、そのブロック内のすべてのeslintルールが無効になります
Jeremy

これは私を助けました、ありがとう!すべてのルールを無効にすると、意図されたルールも無効になり、この質問の回答も考慮してください
Fabiano Soriani '25 / 01/17

7

たとえば、これをファイルの先頭に置くだけです。

/* eslint-disable no-console */

1

次を使用して、ファイルの特定のルールをオフにすることができます /*eslint [<rule: "off"], >]*/

/* eslint no-console: "off", no-mixed-operators: "off" */

バージョン: eslint@4.3.0


1つの完全なファイルに対してのみ1つのルールを無効にする必要がある場合、これは完全に問題なく機能しました。
Umakant Patil

0

eslintオーバーライドプロパティを設定して、以下のようなglobパターンに一致するファイルの特定のルールをオフにすることができます。

ここでは、no-duplicate-stringすべてのファイルをテストするルールをオフにしたいと思います。

overrides: [
  {
    files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
    rules: {
      'sonarjs/no-duplicate-string': 'off'
    }
  }
]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.