किसी विशिष्ट फ़ाइल के लिए एस्लिंट नियम को बंद करना


404

क्या संपूर्ण फ़ाइल के लिए एस्लिंट नियम को बंद करना संभव है? कुछ इस तरह:

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

(अनुगामी-अक्षम-लाइन के अनुरूप।) यह मेरे साथ अक्सर होता है, कि एक निश्चित फ़ाइल में, मैं कई स्थानों पर एक विशिष्ट नियम तोड़ रहा हूं, जो उस फ़ाइल के लिए ठीक माना जाता है, लेकिन मैं अक्षम नहीं करना चाहता पूरी परियोजना के लिए नियम और न ही मैं उस विशिष्ट फ़ाइल के लिए अन्य नियमों को अक्षम करना चाहता हूं।


1
आप फ़ाइल की पहली पंक्ति के रूप में एक नियम जोड़ सकते हैं: / * एस्लिंट नो-यूज़-बिफोर-डिफाइन: 2 * /
joaumg

2
सही, यह काम करता है, धन्यवाद। मैंने अभी डॉक्स में अनुभाग की अनदेखी की: eslint.org/docs/user-guide/configuring.html#configuring-rules
टॉमस

जवाबों:


404

आप फ़ाइल के शीर्ष पर कॉन्फ़िगरेशन डालकर फ़ाइल के लिए एक विशेष नियम को बंद / बदल सकते हैं।

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

or

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

और जानकारी


8
वहाँ एक नियम है .eslintrcकि इस तरह से फ़ाइल के शीर्ष करने के लिए सभी फ़ाइल विशिष्ट नियमों को लागू करने का एक तरीका है ?
जेरेमी

9
@ जेरेमी मेरा जवाब देखिए। आपको बस .eslintignoreअपने प्रोजेक्ट रूट डायरेक्टरी में एक फ़ाइल जोड़ने की आवश्यकता है ।
प्राग्रामर

Html या ejs फ़ाइल के बारे में कैसे, कि यह काम नहीं करता है .eslintignoreऔर /* eslint no-use-before-define: 0 */ // --> OFFया तो?
जीत

क्या एक लाइन पर कई इग्नोर करना संभव है?
चेशायरोक्टोपस

4
मैंने कोशिश की / * गूढ़-अक्षम नियम-नाम * / और यह काम किया
मार्कोस परेरा

304

फ़ाइल के लिए एक विशिष्ट नियम को अक्षम करने के लिए:

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

ध्यान दें कि वहाँ एक बग है जहां एक पंक्ति टिप्पणी नहीं चलेगी

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

इस पोस्ट को देखें


28
यह उस ब्लॉक के भीतर सभी एस्लिंट नियमों को अक्षम कर देगा, न कि केवल एक no-use-before-defineको अनदेखा करने का इरादा
जेरेमी

13
मूल रूप से यह संपूर्ण विचार है। सवाल यह है कि "इसके लिए eslint नियम बंद करने के लिए संभव है पूरी फ़ाइल ?"
Wahome

27
@ "क्या" संपूर्ण फ़ाइल के लिए एस्लिंट नियम को बंद करना संभव है ? " नियम शब्द एकवचन है । आपका उत्तर सभी नियम बहुवचन को बंद कर देता है ।
spencer.sm

8
विवरण में उन्होंने उल्लेख किया कि वह विशिष्ट नियम को अक्षम करने जैसे प्रयास करना चाहते हैं- प्रश्न को फिर से पढ़ें!
मार्वेन त्रबेल्सी

5
यह सच है, यह पूरे प्रश्न को संबोधित नहीं करता है, लेकिन फिर भी एक उपयोगी उत्तर है क्योंकि यह धागा "गूढ़ उपेक्षा फ़ाइल" के दौरान शीर्ष परिणाम है
रॉबिन मेट्रल

143

आप अपनी परियोजना की रूट निर्देशिका में एक फ़ाइल बनाकर विशिष्ट फ़ाइलों और निर्देशिकाओं को अनदेखा करने के लिए ESLint को बता सकते हैं .eslintignore:

.eslintignore

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

अनदेखा पैटर्न .gitignoreविनिर्देश के अनुसार व्यवहार करते हैं । (अपने संपादक को पुनः आरंभ करना न भूलें।)


10
क्या इस फ़ाइल में केवल विशिष्ट नियमों को अनदेखा करना संभव है?
जे। हेस्टर


2
बहुत अच्छा! आप ** का उपयोग करके पुनरावर्ती तरीके से निर्देशिकाओं, उपनिर्देशिकाओं, उप-सूचियों में फाइलें भी जोड़ सकते हैं। उदाहरण के लिए spec/javascripts/**/*.js:।
विक्टर

बिल्कुल सही - यह उन फ़ाइलों के लिए विशेष रूप से उपयोगी है जो स्वतः उत्पन्न होती हैं और बार-बार बदली जाती हैं (जैसे aws-export.js यदि आप AWS के एम्पलीफाय या मोबाइलहब का उपयोग कर रहे हैं)
bogan27

यह अभी भी एक चेतावनी देता है
डैन-क्लैल्सन

117

आप इस तरह से एक नियम को अक्षम / सक्षम कर सकते हैं:

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

करने के लिए इसी तरह के eslint-disable-lineरूप में प्रश्न में उल्लेख किया है। यदि आप इसे पुनः सक्षम करते समय जटिल नियम कॉन्फ़िगरेशन को पुनर्स्थापित नहीं करना चाहते हैं तो यह एक बेहतर तरीका हो सकता है।


मैं इसे पसंद करता हूं, क्योंकि यह उस स्तर (चेतावनी, त्रुटि) को पुनर्स्थापित करता है जिसे मैंने अपने एस्लिंट कॉन्फ़िगरेशन में परिभाषित किया है।
जंकापंक

यह वह उपाय है जो मेरे लिए काम करता है। नियम को बंद करना और चालू नहीं करना था।
जोशू

65

नियमों की संख्या के आधार पर आप (सभी, या कुछ) को अनदेखा करना चाहते हैं, और इसे अक्षम करने की गुंजाइश (लाइन (एस), फ़ाइल, एस), हर जगह) हमारे पास 2 × 3 = 6 मामले हैं।


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: आप "वन फाइल" के लिए "ऑल रूल्स" को निष्क्रिय करना चाहते हैं।

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

केस 1.3: आप "कुछ फाइल" के लिए "सभी नियम" को निष्क्रिय करना चाहते हैं

ऐसा करने के 3 तरीके हैं:

  1. आप 1.2 के साथ जा सकते हैं और /* eslint-disable */फ़ाइलों के ऊपर जोड़ सकते हैं , एक-एक करके।
  2. आप फ़ाइल का नाम रख सकते हैं .eslintignore। यह अच्छी तरह से काम करता है खासकर यदि आपके पास एक रास्ता है जिसे आप अनदेखा करना चाहते हैं। (उदा apidoc/**)
  3. वैकल्पिक रूप से, अगर आप एक अलग है नहीं करना चाहती .eslintignoreफ़ाइल, आप जोड़ सकते हैं "eslintIgnore": ["file1.js", "file2.js"]में package.jsonनिर्देशानुसार यहाँ

2) "कुछ नियम" अक्षम करना

केस 2.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: आप "कुछ नियमों" को "एक फ़ाइल" के लिए अक्षम करना चाहते हैं

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

अधिक उदाहरण यहाँ

## केस 2.3: आप "कुछ फाइल" के लिए "कुछ नियम" को निष्क्रिय करना चाहते हैं

यह सीधे-सीधे कम है। यहां दिए गए निर्देश के अनुसार आपको उन्हें अपने सेक्शन के "excludedFiles"ऑब्जेक्ट में रखना चाहिए ।"overrides".eslintrc


4
पुनश्च। केस 5: आप "ऑल फाइल्स" के लिए "ऑल रूल्स" को डिसेबल करना चाहते हैं - npm uninstall eslint! : पी
आइडिन

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"   
     }
 }
]

यह विशिष्ट फ़ाइल के बारे में ओपी के प्रश्न का उत्तर नहीं देता है।
19 को wscourge

इसे फ़ाइल में करने के लिए बढ़िया विकल्प।
जोसेफ एंजेलफ्रॉस्ट

8
बेहद हामी भरे जवाब!
एडम

बहुत अच्छा काम करता है! IMHO यह स्वीकृत उत्तर होना चाहिए। यह तरीका eslintrc फ़ाइल में रहता है (स्रोत फ़ाइलों को साफ रखता है) और विशिष्ट फ़ाइलों के लिए विशिष्ट नियमों के व्यवहार को ओवरराइड कर सकता है। +1
akagixxer

48

अपनी फ़ाइल में नियम चेतावनी अस्थायी रूप से अक्षम करने के लिए, निम्न प्रारूप में ब्लॉक टिप्पणियों का उपयोग करें:

/* eslint-disable */

यह तब तक ESLint को अक्षम कर देगा

/* eslint-enable */

टिप्पणी पहुँच गई।

आप यहाँ इस विषय के बारे में अधिक पढ़ सकते हैं ।


36

स्वीकृत उत्तर ने मेरे लिए काम नहीं किया (हो सकता है कि एक अलग संस्करण ... eslint v3.19.0)

अपनी फ़ाइल के शीर्ष पर निम्नलिखित रखें

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

यह पूरी फ़ाइल के लिए नियम को अक्षम कर देगा


7
... या एकाधिक, जैसे/* eslint-disable no-unused-vars, no-console, import/no-extraneous-dependencies, spaced-comment */
फ्रैंक Nocke

1
वही, स्वीकृत जवाब मेरे काम नहीं आया। दो मतभेद: बदल रहा है eslintकरने के लिए eslint-disableऔर छोड़ने : 0। Eslint@4.19.1 का उपयोग करना।
नरकंत

10
/*eslint-disable */

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

/*eslint-enable */

यह मेरे लिए काम किया


4
यह उस ब्लॉक के भीतर सभी एस्लिंट नियमों को अक्षम कर देगा, न कि केवल एक no-use-before-defineको अनदेखा करने का इरादा
जेरेमी

इसने मेरी मदद की, धन्यवाद! इस प्रश्न पर भी विचार करें, सभी नियमों को अक्षम करते हुए, इच्छित नियम को भी निष्क्रिय करें
Fabiano Soriani

7

आप इसे उदाहरण के लिए फ़ाइल के शीर्ष पर रख सकते हैं:

/* eslint-disable no-console */

1

आप उपयोग करके किसी फ़ाइल के लिए विशिष्ट नियम बंद कर सकते हैं /*eslint [<rule: "off"], >]*/

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

संस्करण: eslint@4.3.0


किसी एक नियम को केवल एक पूर्ण फ़ाइल के लिए अक्षम करने की आवश्यकता होने पर यह पूरी तरह से ठीक है।
उमाकांत पाटिल

0

आप एस्लेंट ओवरराइड्स को उन फाइलों पर विशिष्ट नियमों को बंद करने के लिए कॉन्फ़िगर कर सकते हैं जो नीचे दिए गए ग्लोब पैटर्न से मेल खाते हैं।

यहां, मैं no-duplicate-stringसभी फाइलों के परीक्षण के लिए नियम को बंद करना चाहता हूं ।

overrides: [
  {
    files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
    rules: {
      'sonarjs/no-duplicate-string': 'off'
    }
  }
]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.