Skip to content

Commit c9a2b86

Browse files
jfmengelssindresorhus
authored andcommitted
Add support for eslint-disable-next-line in no-abusive-eslint-disable (#39)
1 parent 7a828d2 commit c9a2b86

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

docs/rules/no-abusive-eslint-disable.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Enforce specifying rules to disable in `eslint-disable` comments
22

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

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

@@ -9,6 +9,9 @@ On a single line:
99
```js
1010
const message = 'foo';
1111
console.log(message); // eslint-disable-line no-console
12+
13+
// eslint-disable-next-line no-console
14+
console.log(message);
1215
```
1316

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

3841
console.log(message); // eslint-disable-line
42+
43+
// eslint-disable-next-line
44+
console.log(message);
3945
```
4046

4147

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

4854
console.log(message); // eslint-disable-line no-console
55+
56+
// eslint-disable-next-line no-console
57+
console.log(message);
4958
```

rules/no-abusive-eslint-disable.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

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

55
module.exports = function (context) {
66
return {

test/no-abusive-eslint-disable.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ ruleTester.run('no-abusive-eslint-disable', rule, {
3131
'/* eslint-disable no-eval */',
3232
`foo();
3333
/* eslint-disable no-eval */
34+
eval();`,
35+
`foo();
36+
/* eslint-disable-next-line no-eval */
3437
eval();`
3538
],
3639
invalid: [
@@ -49,6 +52,14 @@ ruleTester.run('no-abusive-eslint-disable', rule, {
4952
{
5053
code: 'foo();\n/* eslint-disable */\neval();',
5154
errors: [error('Specify the rules you want to disable at line 2:0')]
55+
},
56+
{
57+
code: 'foo();\n/* eslint-disable-next-line */\neval();',
58+
errors: [error('Specify the rules you want to disable at line 2:0')]
59+
},
60+
{
61+
code: '// eslint-disable-next-line\neval();',
62+
errors: [error('Specify the rules you want to disable at line 1:0')]
5263
}
5364
]
5465
});

0 commit comments

Comments
 (0)