Hey Carl,

Glad you were able to solve your issue! Regarding the behavior of
configuration files, the documentation can be found here:
https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
.

If you feel that the documentation can be improved in some way, please feel
free to file an issue.

All the best,
Kai

On Sun, Jan 26, 2020 at 2:12 AM Carl Gross <[email protected]> wrote:

> Hi Nicholas,
>
> I'm back--sorry for the delay.
>
> OK I did everything you suggested, including adding the 'env' info (with
> the correct syntax, and it appears to have worked.  That's great--thanks so
> much for that!
>
> >> When you create a project-level config, the home directory config is
> ignored.
>
> OK thanks.  That was my big question:  if I have a project-level config
> *and* a home directory config, does one supersede the other, or supplement
> the other, or something else?  I couldn't seem to find that info anywhere
> in the ESLint documentation.  Is it there?  If not, maybe it might be
> worthwhile to make it clear to newbies that this is the behavior.  I might
> even be able to add that with a pull request, if so desired.  But during
> this exercise, it was even confusing to me why I didn't have a config file
> in my project's directory at all, and in light of that, *where* ESLint
> looked next for a config.  i.e. what is the hierarchy for ESLint config
> files?
>
> Anyway, that's just a suggestion.  But if I'm the only person that has
> reached out about this issue, then it's probably not worth addressing.
> Chalk it up to user error :-)
>
> Thanks again,
>
> Carl
>
>
>
> On Thu, Jan 23, 2020 at 8:06 AM Nicholas Zakas <[email protected]>
> wrote:
>
>> Okay, so what’s happening is that ESLint is falling back to the config in
>> your home directory. When you create a project-level config, the home
>> directory config is ignored. In general, we recommend always using a
>> project config that contains all of the settings appropriate for your
>> project. That way, you can check in the config and anyone who works on the
>> project can make use of it without any additional steps.
>>
>> So if you copy your home directory config into your project directory and
>> then add in the “env” info, you should be set.
>>
>> For specific syntax, I’d suggest reading through these:
>> https://eslint.org/docs/user-guide/configuring#specifying-environments
>> https://eslint.org/docs/user-guide/configuring#configuration-file-formats
>>
>> https://eslint.org/docs/user-guide/configuring#extending-configuration-files
>>
>>
>>
>> On Wed, Jan 22, 2020 at 6:01 AM Carl Gross <[email protected]> wrote:
>>
>>> OK thanks for that.  In my console, I navigated to the JS file
>>> in-question and ran that command.  It seemed to complete as expected.  The
>>> full output is here.  https://pastebin.com/BQT4txGQ  In it I see these
>>> lines which may be of interest:
>>>
>>> 2020-01-22T13:51:56.815Z eslint:cascading-config-array-factory Loading
>>> the config file of the home directory.
>>> 2020-01-22T13:51:56.815Z eslint:config-array-factory Loading JSON
>>> config file: C:\Users\snarl\.eslintrc.json
>>> 2020-01-22T13:51:56.816Z eslint:config-array-factory Config file found:
>>> C:\Users\snarl\.eslintrc.json
>>> 2020-01-22T13:51:56.816Z eslint:config-array-factory Loading {extends:
>>> "plugin:@wordpress/eslint-plugin/recommended"} relative to C:\Users\
>>> snarl\.eslintrc.json
>>> 2020-01-22T13:51:56.816Z eslint:config-array-factory Loading plugin
>>> "@wordpress/eslint-plugin" from C:\Users\snarl\.eslintrc.json
>>>
>>> I then had a look at the file C:\Users\snarl\.eslintrc.json.  The
>>> contents of that file are here:  https://pastebin.com/8DVfF8h4
>>>
>>> Thoughts?  Should I try adding my env: browser code to that file?  If
>>> so, what's the correct code/syntax?  Would the contents of .eslintrc.json
>>> then be:
>>>
>>> {
>>>     "extends": [
>>>         "plugin:@wordpress/eslint-plugin/recommended"
>>>     ].
>>>     "env": {
>>>       "browser": true,
>>>     }
>>>
>>> }
>>>
>>> Are the square braces and curly braces interchangeable?
>>>
>>> Thanks!
>>>
>>> On Wednesday, January 22, 2020 at 2:49:48 AM UTC+7, Nicholas Zakas wrote:
>>>>
>>>> You may want to take a look at the Getting Started guide:
>>>> https://eslint.org/docs/user-guide/getting-started
>>>>
>>>> in general you’d use “npx eslint filename.js —debug”
>>>>
>>>> You can also run without —debug time see what you’d get as output, as
>>>> sometimes it’s different than what VS Code gives you. (We don’t own the VS
>>>> Code integration, so sometimes things can get out of sync.)
>>>>
>>>> On Tue, Jan 21, 2020 at 8:46 AM Carl Gross <[email protected]> wrote:
>>>>
>>> Hey thanks for that.  Here are my follow-ups.
>>>>>
>>>>> >> I’d suggest deleting your new eslintrc file first
>>>>>
>>>>> OK I'll do that first.
>>>>>
>>>>> >> If you run ESLint on the command line inside your project and use
>>>>> the —debug flag, you should be able to figure out which config files are
>>>>> being used by ESLint.
>>>>>
>>>>> I've never used ESLint from the command line.  Would I run:
>>>>>
>>>>> *eslint filename.js --debug*
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Carl
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tuesday, January 21, 2020 at 11:37:47 PM UTC+7, Nicholas Zakas
>>>>> wrote:
>>>>>>
>>>>>> It sounds like you might have other configuration files in your
>>>>>> hierarchy. If you run ESLint on the command line inside your project and
>>>>>> use the —debug flag, you should be able to figure out which config files
>>>>>> are being used by ESLint. I’d suggest deleting your new eslintrc file
>>>>>> first, run with —debug, and see where config is being loaded from.
>>>>>>
>>>>>> FWIW, you are setting the environment correctly. We just need to
>>>>>> figure out which config is being read at which time.
>>>>>>
>>>>>> On Tue, Jan 21, 2020 at 8:23 AM Carl Gross <[email protected]> wrote:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I'm currently using ESLint in my project, and have configured it to
>>>>>>> run inside VSCode, and enforce a custom ruleset
>>>>>>> <https://www.npmjs.com/package/@wordpress/eslint-plugin/v/1.0.0>.
>>>>>>> So far it is working as expected, and flagging lines in my code where
>>>>>>> violations occur.  I now need to specify that the `environment` is
>>>>>>> `browser` (as suggested in the solution to this issue
>>>>>>> <https://github.com/eslint/eslint/issues/4015>).  How exactly do I
>>>>>>> do that, yet keep everything else about ESLint working as-is?
>>>>>>>
>>>>>>>  - That GitHub issue indicates I need to edit my `.eslintrc` file.
>>>>>>> But I don't see any such file in the root of my project.  I *do* see
>>>>>>> `.eslint` files in several different dependency folders, e.g.
>>>>>>>
>>>>>>>
>>>>>>> C:\Users\snarl\development-snarl\development-wordpress\linting-wordpress\node_modules\is-callable
>>>>>>>
>>>>>>> I could be wrong, but those don't seem related.
>>>>>>>
>>>>>>>  - I tried creating a new file--*.eslintrc.json*--in the root of my
>>>>>>> project, and adding to that file:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *{  "env": {    "browser": true  }}*
>>>>>>>
>>>>>>>
>>>>>>> But when I did this, and re-checked ESLint inside VSCode, it stopped
>>>>>>> flagging the rules in my custom ruleset (examples
>>>>>>> <https://i.imgur.com/GEcPnWg.jpg>), and actually flagged a new rule
>>>>>>> (screenshot <https://i.imgur.com/tHIVUIy.jpg>).  This seems to
>>>>>>> completely supersede some of my existing ESLint settings, rather than
>>>>>>> supplement them.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/eslint/CAFa23ms5p13gV7ZRFHAHB9RJYUe8f%2B7vkx9Y1toMzpUo9UF2sw%40mail.gmail.com
>>>>>>> <https://groups.google.com/d/msgid/eslint/CAFa23ms5p13gV7ZRFHAHB9RJYUe8f%2B7vkx9Y1toMzpUo9UF2sw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>>>
>>>>>> ______________________________
>>>>>> Nicholas C. Zakas
>>>>>> @slicknet
>>>>>>
>>>>>> Author, Principles of Object-Oriented JavaScript
>>>>>> <http://amzn.to/29Pmfrm>
>>>>>> Author, Understanding ECMAScript 6 <http://amzn.to/29K1mIy>
>>>>>>
>>>>> --
>>>>> 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].
>>>>>
>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/eslint/c5f77688-93c6-49f4-8a7c-7184782445bd%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/eslint/c5f77688-93c6-49f4-8a7c-7184782445bd%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>>
>>>> ______________________________
>>>> Nicholas C. Zakas
>>>> @slicknet
>>>>
>>>> Author, Principles of Object-Oriented JavaScript
>>>> <http://amzn.to/29Pmfrm>
>>>> Author, Understanding ECMAScript 6 <http://amzn.to/29K1mIy>
>>>>
>>> --
>>> 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].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/eslint/0b5e9df3-d812-4b69-9f99-631ba1ec395c%40googlegroups.com
>>> <https://groups.google.com/d/msgid/eslint/0b5e9df3-d812-4b69-9f99-631ba1ec395c%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>
>>
>>> --
>>
>> ______________________________
>> Nicholas C. Zakas
>> @slicknet
>>
>> Author, Principles of Object-Oriented JavaScript <http://amzn.to/29Pmfrm>
>> Author, Understanding ECMAScript 6 <http://amzn.to/29K1mIy>
>>
> --
> 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/eslint/CAFa23msN6dM3fMh84gD5be45N%3DRyGbc38xXwDgWczb-nsm%2BTJg%40mail.gmail.com
> <https://groups.google.com/d/msgid/eslint/CAFa23msN6dM3fMh84gD5be45N%3DRyGbc38xXwDgWczb-nsm%2BTJg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
-- 
Kai Cataldo
Independent Software Developer & maintainer of ESLint <https://eslint.org/>
and Babel <https://babeljs.io/>
kaicataldo.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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/eslint/CAKfCaPgTF69o%2Bg-RvhHXhWMkk7-bLe%3D6Sw_%2BEEBFKRHgg%3DXiDA%40mail.gmail.com.

Reply via email to