Oh yeah, this makes absolute sense. /*eslint-disable*/ disables all rules,
including your rule that finds the comments.
On Sep 25, 2014 2:18 PM, "Peter deHaan" <[email protected]> wrote:

> Ah, OK, it only works when I specify a rule in the /* eslint-disable */
> block. Seems fishy:
>
>     /*eslint-disable */
>     var Baz = 3;
>     /* eslint-enable */
>
> Gives me this (which is bad):
>     $ eslint --rulesdir rules app.js; echo $?
>     0
>
>
> But...
>
>     /*eslint-disable no-unused-vars */
>     var Baz = 3;
>     /* eslint-enable */
>
> Gives me this (which is good):
>     $ eslint --rulesdir rules app.js; echo $?
>
>     app.js
>       12:0  error  Unexpected `eslint-disable` in content
>  no-eslint-disable
>       14:0  error  Unexpected `eslint-enable` in content
> no-eslint-disable
>
>     ✖ 2 problems
>
>     1
>
>
> On Thu, Sep 25, 2014 at 2:02 PM, Peter deHaan <[email protected]>
> wrote:
>
>> That gives me:
>>
>> $ DEBUG=eslint:* eslint --rulesdir rules app.js
>>   eslint:cli-engine Loading rules from rules +0ms
>>   eslint:cli-engine Processing app.js +8ms
>>   eslint:cli-engine Linting /Users/pdehaan/dev/tmp/eslint-custom/app.js
>> +0ms
>>   eslint:config Constructing config for
>> /Users/pdehaan/dev/tmp/eslint-custom/app.js +1ms
>>   eslint:config Using .eslintrc files +0ms
>>   eslint:config Using /Users/pdehaan/dev/tmp/eslint-custom/.eslintrc +0ms
>>   eslint:config Merging command line environment settings +4ms
>> errata! `eslint-disable`
>> errata! `eslint-enable`
>>
>> app.js
>>   5:4  error  foo is defined but never used  no-unused-vars
>>
>> ✖ 1 problem
>>
>>
>> It's a bit perplexing.
>> My console log works, but not the context.report(). The context.report()
>> works if I move it outside of that `if` block, but then obviously throws
>> too many warnings (naturally)...
>>
>> OK, I think I sorted it out. It just doesn't work.
>> Changing my source code (and rule) from "eslint-disable" to
>> "fslint-disable" makes it work as expected, and now I get this:
>>
>>   12:0   error  Unexpected `eslint-disable` or `eslint-enable` in content
>>  no-eslint-disable
>>   14:0   error  Unexpected `eslint-disable` or `eslint-enable` in content
>>  no-eslint-disable
>>
>>
>> :shrug:
>>
>>
>> On Thu, Sep 25, 2014 at 1:41 PM, Nicholas Zakas <
>> [email protected]> wrote:
>>
>>> Try running with
>>>
>>> ```
>>> $ DEBUG=eslint:* eslint --rulesdir rules app.js
>>> ```
>>>
>>> And see what info you find.
>>>
>>> On Thu, Sep 25, 2014 at 12:37 PM, Peter deHaan <[email protected]>
>>> wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm trying to create a custom ESLint rule (v0.8.2) which prevents the
>>>> use of /* eslint-disable */ comments, but for some reason my
>>>> context.report() is not reporting violations as errors/warnings.
>>>> Does anybody have a couple minutes to take a look?
>>>>
>>>> My .eslintrc file is pretty simple:
>>>>
>>>> env:
>>>>   node: true
>>>> rules:
>>>>   no-alert: 1
>>>>   no-eslint-disable: 2
>>>>
>>>>
>>>>
>>>> My rules/no-eslint-disable.js is:
>>>>
>>>> "use strict";
>>>> module.exports = function (context) {
>>>>   var eslintEnableDisable = /^eslint-(enable|disable)/;
>>>>
>>>>   function checkComment(node) {
>>>>     var value = node.value.trim();
>>>>     if (eslintEnableDisable.test(value)) {
>>>>       context.report(node, "Unexpected `eslint-disable` or `eslint-enable` 
>>>> in content.");
>>>>       console.error("errata!");
>>>>     }
>>>>   }
>>>>
>>>>   return {
>>>>     "BlockComment": checkComment,
>>>>     "LineComment": checkComment
>>>>   };};
>>>>
>>>>
>>>>
>>>> My app.js test case is:
>>>>
>>>> /** * This is a copyright header. */
>>>> var foo = "bar"; // nice var bro
>>>> /*and a regular doc comment which may span multiple lines or include 
>>>> commented out code.var bar = "foo"; // circular much? */
>>>> /* eslint-disable */var window = alert;/* eslint-enable */
>>>>
>>>>
>>>>
>>>> When I run ESLint with my custom rule, I see my console.error()s but
>>>> not the warnings/errors via context.report().
>>>>
>>>> $ eslint --rulesdir rules app.js
>>>> errata! `eslint-disable`
>>>> errata! `eslint-enable`
>>>>
>>>> app.js
>>>>   5:4  error  foo is defined but never used  no-unused-vars
>>>>
>>>> ✖ 1 problem
>>>>
>>>> $ eslint -v # v0.8.2
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "ESLint" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> ______________________________
>>> Nicholas C. Zakas
>>> @slicknet
>>>
>>> Author, Professional JavaScript for Web Developers
>>> Buy it at Amazon.com:
>>> http://www.amazon.com/Professional-JavaScript-Developers-Nicholas-Zakas/dp/1118026691/ref=sr_1_3
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"ESLint" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to