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.
