Skip to content

Commit

Permalink
Add support for eslint-disable-next-line in `no-abusive-eslint-disa…
Browse files Browse the repository at this point in the history
…ble` (#39)
  • Loading branch information
jfmengels authored and sindresorhus committed Jun 18, 2016
1 parent 7a828d2 commit c9a2b86
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
11 changes: 10 additions & 1 deletion docs/rules/no-abusive-eslint-disable.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Enforce specifying rules to disable in `eslint-disable` comments

This rule makes you specify the rules you want to disable when using `eslint-disable` or `eslint-disable-line` comments.
This rule makes you specify the rules you want to disable when using `eslint-disable`, `eslint-disable-line` or `eslint-disable-next-line` comments.

If you want to disable an ESLint rule in a file or on a specific line, you can add a comment.

Expand All @@ -9,6 +9,9 @@ On a single line:
```js
const message = 'foo';
console.log(message); // eslint-disable-line no-console

// eslint-disable-next-line no-console
console.log(message);
```

On the whole (rest of the) file:
Expand Down Expand Up @@ -36,6 +39,9 @@ This rule enforces specifying the rules to disable. If you want to disable ESLin
console.log(message);

console.log(message); // eslint-disable-line

// eslint-disable-next-line
console.log(message);
```


Expand All @@ -46,4 +52,7 @@ console.log(message); // eslint-disable-line
console.log(message);

console.log(message); // eslint-disable-line no-console

// eslint-disable-next-line no-console
console.log(message);
```
2 changes: 1 addition & 1 deletion rules/no-abusive-eslint-disable.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

var disableRegex = /^eslint-disable(-line)?(\s+([\w-]+))?/;
var disableRegex = /^eslint-disable(-next-line|-line)?($|(\s+([\w-]+))?)/;

module.exports = function (context) {
return {
Expand Down
11 changes: 11 additions & 0 deletions test/no-abusive-eslint-disable.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ ruleTester.run('no-abusive-eslint-disable', rule, {
'/* eslint-disable no-eval */',
`foo();
/* eslint-disable no-eval */
eval();`,
`foo();
/* eslint-disable-next-line no-eval */
eval();`
],
invalid: [
Expand All @@ -49,6 +52,14 @@ ruleTester.run('no-abusive-eslint-disable', rule, {
{
code: 'foo();\n/* eslint-disable */\neval();',
errors: [error('Specify the rules you want to disable at line 2:0')]
},
{
code: 'foo();\n/* eslint-disable-next-line */\neval();',
errors: [error('Specify the rules you want to disable at line 2:0')]
},
{
code: '// eslint-disable-next-line\neval();',
errors: [error('Specify the rules you want to disable at line 1:0')]
}
]
});

0 comments on commit c9a2b86

Please sign in to comment.