I've been banging my head into this all day - it seems that your are
correct and the docs are wrong - it still fails even if I use something
like:

{
  "env": {
    "browser": true,
    "jquery": true,
    "node": false
  },
  "parserOptions": {
    "ecmaFeatures": {
      "globalReturn": false
    }
  }
}

The docs (
http://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
) say "The configuration cascade works by using the closest .eslintrc file
to the file being linted as the highest priority, then any configuration
files in the parent directory, and so on.", but this clearly isn't the case
for the globalReturn option. I think I'm going to file a bug on ESLint
about that.



On Fri, May 27, 2016 at 4:27 PM, Ilya Volodin <[email protected]> wrote:

> Hi Nathan,
>
>
>
> I already answered your question on stackoverflow, but in case you haven’t
> seen it: ESLint performance deep-merge on all config files found in the
> path of the file you are currently linting. If anyone of them enables any
> environment that has globalReturn turned on, all of the files will be
> linted with globalReturn option (which will disable exported comments). In
> order to figure out if you have Node environment leaking through one of the
> higher-up config files, you can run eslint with “—print-config” flag and it
> will output the whole configuration that is used to lint a current file
> (you have to pass it a file that you want to lint). If you see
> Node/CommonJS environments in that list, or you see “modules”: true in the
> list of parserConfig, that means you can’t use exported comments. To track
> down where it’s coming from, you can run eslint with “—debug” flag, that
> should list all config files that are currently being used.
>
>
>
> Thanks,
>
>
>
> Ilya Volodin
>
>
>
> *From:* [email protected] [mailto:[email protected]] *On
> Behalf Of *Nathan Friedly
> *Sent:* Friday, May 27, 2016 9:02 AM
> *To:* ESLint <[email protected]>
> *Subject:* [ESLint] Help with /* exported functionName */ in browser env
>
>
>
> Hi everyone,
>
>
>
> I've read the docs for exported, specifically the part about how exported
> doesn't work in node/commonjs env and I believe I'm doing things correctly
> according to the instructions there. My ESLint env is set to browser/jquery
> and each of my functions has an /* exported functionName */ comment, but
> I keep getting caught by no-unused-vars rule. Can anyone take a look and
> let me know what I'm doing wrong?
>
>
>
> You can see the full source at
> https://github.com/watson-developer-cloud/visual-recognition-nodejs/tree/eslint-exported
>  (just
> run npm install; npm test) but I'll try and include the relevant bits
> below:
>
>
>
> Here's my .eslintrc (it extends this one
> <https://github.com/watson-developer-cloud/visual-recognition-nodejs/blob/eslint-exported/.eslintrc>,
> although I get the same behavior without the extends):
>
> {
>
>   "extends": "../../.eslintrc",
>
>   "env": {
>
>     "browser": true,
>
>     "jquery": true
>
>   }
>
> }
>
> This is one of the functions (here's the second
> <https://github.com/watson-developer-cloud/visual-recognition-nodejs/blob/eslint-exported/public/js/use.js#L19>
>  and third
> <https://github.com/watson-developer-cloud/visual-recognition-nodejs/blob/eslint-exported/public/js/demo.js#L30>
> ):
>
> /**
>
>  * Returns the next hour as Date
>
>  * @return {Date} the next hour
>
>  */
>
> /* exported nextHour */
>
> function nextHour() {
>
>   var oneHour = new Date();
>
>   oneHour.setHours(oneHour.getHours() + 1);
>
>   return oneHour;
>
> }
>
> Finally, this is the output I get from ESLint:
>
> /Users/nfriedly/visual-recognition-nodejs/public/js/demo.js
>
>   24:10  error  'nextHour' is defined but never used  no-unused-vars
>
>   37:10  error  'resize' is defined but never used    no-unused-vars
>
>
>
> /Users/nfriedly/visual-recognition-nodejs/public/js/use.js
>
>   26:10  error  'setupUse' is defined but never used  no-unused-vars
>
> It works if I replace the /* exported... comment with an //
> eslint-disable-next-line no-unused-vars but I know that's not the correct
> solution.
>
>
>
> Thanks in advance,
>
> -Nathan
>
> --
> 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.
>



-- 
Nathan Friedly
Minister / Web Developer / Ninja
http://nfriedly.com

-- 
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