'How to configure package.json to run eslint script

So I am using eslint as a linter for my react project and I would like it to check all of my .js files.

I am able to do this through the script:

"lint": "eslint back/*.js && eslint backTest/*.js && eslint front/actions/*.js"

how can I get it to examine every .js file recursively, something like:

"lint": "eslint -r *.js"

This would save me having to type out each file inidvidually

Thanks in advance for the help



Solution 1:[1]

eslint . --ext .js to lint files with the .js extension.

The . targets files in the current directory and all subdirectories.

To include other file extensions, eslint . --ext .js,.jsx or eslint . --ext .js --ext .jsx.

The eslint documentation covers this option.

Solution 2:[2]

I'm not sure if the accepted answer is outdated, but by looking at the docs,

By default, it uses .js as the only file extension.

Also, according to a member's comment on the project's Github, using . equals running in all subdirectories. It seems to me that running eslint . should suffice (though it doesn't cover the new ES Module .mjs files).

Solution 3:[3]

To add to TranBrian10's solution, I installed eslint locally, so calling eslint in the terminal results in a command not found error.

I was able to get around this by using npx eslint instead:

`eslint . --ext .js` -> `npx eslint . --ext .js`

And as GollyJer noted, this won't work for Windows due to the . syntax

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Dan Dascalescu
Solution 3 Mark Thompson