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