Turning off eslint rule for a specific line

JavascriptJshintEslint

Javascript Problem Overview


In order to turn off linting rule for a particular line in JSHint we use the following rule:

/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */

I have been trying to locate the equivalent of the above for eslint.

Javascript Solutions


Solution 1 - Javascript

To disable next line:

// eslint-disable-next-line no-use-before-define
var thing = new Thing();

Or use the single line syntax:

var thing = new Thing(); // eslint-disable-line no-use-before-define

See the eslint docs

Solution 2 - Javascript

Update

ESlint has now been updated with a better way disable a single line, see @goofballLogic's excellent answer.

Old answer:

You can use the following

/*eslint-disable */

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

/*eslint-enable */

Which is slightly buried in the "configuring rules" section of the docs;

To disable a warning for an entire file, you can include a comment at the top of the file e.g.

/*eslint eqeqeq:0*/

Solution 3 - Javascript

You can also disable a specific rule/rules (rather than all) by specifying them in the enable (open) and disable (close) blocks:

/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert */

via @goofballMagic's link above: http://eslint.org/docs/user-guide/configuring.html#configuring-rules

Solution 4 - Javascript

From Configuring ESLint - Disabling Rules with Inline Comments:

/* eslint-disable no-alert, no-console */


/* eslint-disable */

alert('foo');

/* eslint-enable */


/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert, no-console */


/* eslint-disable */

alert('foo');


/* eslint-disable no-alert */

alert('foo');


alert('foo'); // eslint-disable-line

// eslint-disable-next-line
alert('foo');


alert('foo'); // eslint-disable-line no-alert

// eslint-disable-next-line no-alert
alert('foo');


alert('foo'); // eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no-alert, quotes, semi
alert('foo');


foo(); // eslint-disable-line example/rule-name

Solution 5 - Javascript

Answer

You can use an inline comment: // eslint-disable-next-line rule-name.

Example

// eslint-disable-next-line no-console
console.log('eslint will ignore the no-console on this line of code');

Reference

ESLint - Disabling Rules with Inline Comments

Solution 6 - Javascript

The general end of line comment, // eslint-disable-line, does not need anything after it: no need to look up a code to specify what you wish ES Lint to ignore.

If you need to have any syntax ignored for any reason other than a quick debugging, you have problems: why not update your delint config?

I enjoy // eslint-disable-line to allow me to insert console for a quick inspection of a service, without my development environment holding me back because of the breach of protocol. (I generally ban console, and use a logging class - which sometimes builds upon console.)

Solution 7 - Javascript

Or for multiple ignores on the next line, string the rules using commas

// eslint-disable-next-line class-methods-use-this, no-unused-vars

Solution 8 - Javascript

To disable a single rule for the rest of the file below:

/* eslint no-undef: "off"*/
const uploadData = new FormData();

Solution 9 - Javascript

To disable all rules on a specific line:

alert('foo'); // eslint-disable-line

Solution 10 - Javascript

single line comment did not work for me inside a react dumb functional component, I have used file level disabling by adding /* eslint-disable insertEslintErrorDefinitionHere */

(normally if you are using vs code and getting eslint error, you can click on the line which gives error and a bulb would show up in vs code, right click on the light bulb and choose any disable option and vs code will do it for you.)

Solution 11 - Javascript

My answer, similar to others given, but shows how you can also add a comment to yourself on the same line.

// eslint-disable-line // THIS WON"T WORK

Use -- if you also need to write a comment on that line (eg. maybe why eslint is disabled)

// eslint-disable-line -- comment to self (This DOES work)

Can be used in conjunction with specific eslint rules to ignore:

// eslint-disable-line no-console -- comment to self (This Also Works!)

Solution 12 - Javascript

You can add the files which give error to .eslintignore file in your project.Like for all the .vue files just add /*.vue

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionruntimeZeroView Question on Stackoverflow
Solution 1 - JavascriptgoofballLogicView Answer on Stackoverflow
Solution 2 - JavascriptNick TomlinView Answer on Stackoverflow
Solution 3 - JavascriptDarren ShewryView Answer on Stackoverflow
Solution 4 - Javascriptuser8202629View Answer on Stackoverflow
Solution 5 - JavascriptBrylie Christopher OxleyView Answer on Stackoverflow
Solution 6 - JavascriptLee GoddardView Answer on Stackoverflow
Solution 7 - JavascriptRaymond WachagaView Answer on Stackoverflow
Solution 8 - JavascriptFarhan SalamView Answer on Stackoverflow
Solution 9 - JavascriptDebbie EllisView Answer on Stackoverflow
Solution 10 - JavascriptSidView Answer on Stackoverflow
Solution 11 - JavascriptSherylHohmanView Answer on Stackoverflow
Solution 12 - JavascriptYubin ShinhmarView Answer on Stackoverflow