how to silence warnings about ignored files in eslint

Eslint

Eslint Problem Overview


After setting up eslint and adding some files in the ignore list, every time that eslint is run it produces warnings about files that are ignored:

 /path/to/file/name.min.js
  0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override

How can this warning be silenced?

Eslint Solutions


Solution 1 - Eslint

One workaround I know at the moment is --quiet option, which suppresses all warnings. Of course that doesn't make sense if you have "warn" rules in your config.

Another way not to show that warning is to use dir names: eslint src instead of globbing patterns: eslint src/*.

Solution 2 - Eslint

Check if you're running eslint with an unquoted glob argument.
If so, put the glob in quotes.

eslint src/** ❌ Bad (no quotes = OS will expand into many args)

eslint "src/**" ✔️ Good (quotes = a single string argument)

Why?

If you call eslint using a cli glob pattern not in quotes, e.g. eslint src/**, that glob gets expanded into all matching files and passed to eslint as a gigantic list of cli arguments. e.g. eslint path/to/file/name.min.js src/foo.js src/bar.js src/manymore.js .....

So when eslint ignores a file due to your ignore pattern, yet that file was explicitly passed as a command line argument, eslint is warning us > eslint speaking:
> "Um, I ignored /path/to/file/name.min.js because of an ignore pattern, but you explicitly passed it to me to lint, so this must not be what you wanted, right?"

But when you pass the glob in quotes, e.g. eslint "src/**", the glob is not expanded to many arguments; rather, it's just a single string argument, and eslint is the one who knows it's a glob but since it takes care of figuring out which files to match it can do so while respecting eslintignore. So there's nothing weird going on that eslint thinks it should warn you about.

Solution 3 - Eslint

You can't and they don't plan on fixing it since they don't consider it a bug. So if you pass in a file that's being ignored them it will tell you it didn't process linting rules because it's ignored: https://github.com/eslint/eslint/issues/5623

We run pre-commit hooks to lint code before committing, so ended up needing to write some additional code to differentiate between actual Warnings and File ignored warnings and only fail linting if an actual warning or error is thrown.

Solution 4 - Eslint

I found the REAL answer here:

https://github.com/eslint/eslint/issues/5623

The problem in my case was in the way I called eslint. I used eslint src/* but it should be eslint src/. (Or in your case it might be eslint . instead of eslint *)

The reason why you get the warning is that by using the star, you are telling the eslint that you want to lint EVERY single file which does not make sense if you ignore some files. So by omiting the star you are making the eslint to decide what to lint and it will skip the ignored files without any warning.

Solution 5 - Eslint

Eslint throws this warning on telling it to lint a file, at the same time as having the file ignored. src/* is actually passing every file single file uniquely, while only passing src would let eslint ignore the files without warnings

If you are using lint-staged, it will pass every single staged file that matches the lint-staged regex. If matching, and you put it inside ignore, eslint gets confused and outputs a warning

 "lint-staged": {
    "*.{ts,tsx,js}": [ // <-- this regex needs to be changed to not match your files
      "eslint --fix --max-warnings 0 --ignore-path '.eslintignore' --plugin tsc --rule 'tsc/config: [2, {configFile: \"./tsconfig.json\"}]'",
      "prettier --ignore-path .eslintignore --write"
    ],
    "*.js": "eslint --cache --fix",
    "*.{js,css,md}": "prettier --write"
  },

For me, I just wanted to exclude some js files, so I just removed the js matching inside "*.{ts,tsx,js}"

Solution 6 - Eslint

try with --ext. In my case, I replaced matching from:

eslint modules/**/*{js,vue}

to:

eslint --ext .js,.vue .

Warnings with File ignored because... are gone, but others warnings remain.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSimonWView Question on Stackoverflow
Solution 1 - EslinttibaltView Answer on Stackoverflow
Solution 2 - EslintDarynView Answer on Stackoverflow
Solution 3 - EslintJens BodalView Answer on Stackoverflow
Solution 4 - EslintdannymoView Answer on Stackoverflow
Solution 5 - EslintGabriel PeterssonView Answer on Stackoverflow
Solution 6 - EslintChromeKKView Answer on Stackoverflow