Eslint Not Ignoring Node_Modules Folder

Eslint Not Ignoring Node_Modules Folder

Somehow after updating Babel from 6 to 7 my eslint started giving such a warning in node_modules:

So, from my understanding node_modules folder is not ignored and that is why the issue popped up. So, reading through eslint docs:

I tried adding "ignorePatterns": ["node_modules/"], to the .eslintrc file but got an error:

Module build failed: Error: ESLint configuration in /Users/vlasenkona/Desktop/gris-seqr2/ui/.eslintrc is invalid: - Unexpected top-level property "ignorePatterns".

So, I tried creating .eslintignore file and added there just node_modules/ but the warning stayed the same. How could I ignore the node_modules folder? The versions of the packages I am using:

"eslint": "^5.16.0",
"babel-eslint": "^9.0.0",
"eslint-config-airbnb": "^16.1.0",
"eslint-import-resolver-babel-module": "^5.1.2",
"eslint-loader": "1.9.0",
"eslint-plugin-flowtype": "2.39.1",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-jsx-a11y": "^6.1.0",
"eslint-plugin-react": "^7.10.0",
"eslint-plugin-react-perf": "^2.0.8",

The .eslintrc looks like that:

{
  "extends": [
    "airbnb",
    "plugin:react-perf/recommended"
  ],  
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaFeatures": {
      "experimentalObjectRestSpread": true
    }   
  },  
  "env": {
    "mocha": true,
    "es6": true,
    "browser": true,
    "node": true,
    "jest": true
  },  
  "settings": {
    "import/resolver": {
      "babel-module": {}
    }   
  },  
  "rules": {
    "semi": [2, "never"],
    "no-shadow": ["error", { "allow": ["error"] }], 
    "arrow-body-style": 0,
    "func-names": 0,
    "function-paren-newline": 0,
    "max-len": 0, //["warn", 80, 2], 
    "no-console": 0,
    "no-multi-str": 0,
    "no-param-reassign": 0,
    "no-plusplus": 0,
    "brace-style": 0,
    "object-curly-newline": 0,
    "padded-blocks": 0,
    "react/jsx-first-prop-new-line": 0,
    "react/jsx-wrap-multilines": 0,
    "react/prefer-stateless-function": 0,
    "react/sort-comp": 0,  // more freedom in arranging class functions
    "import/prefer-default-export": 0,
    "react/forbid-prop-types": 0,
    "no-class-assign": 0,
    "react/jsx-filename-extension": [ 1, { "extensions": [".js", ".jsx"]} ],
    "react/require-default-props": 0,
    "react/require-optimization": 2,
    "react/jsx-max-props-per-line": 0,
    "react/jsx-no-target-blank": 0,
    "spaced-comment": 0,

    "jsx-a11y/iframe-has-title": 0,
    "jsx-a11y/tabindex-no-positive": 0,
    "jsx-a11y/click-events-have-key-events": 0,
    "jsx-a11y/anchor-is-valid": 0
  }
}

Update

I tried adding the following to newly created .eslintignore:

node_modules/*
./node_modules/**
**/node_modules/**

But neither works. Interestingly enough, if I open ./node_modules/draftjs-md-converter/dist/index.js and put at the very beginning and end of the file /*eslint-disable */ the warning still remains, so maybe it is not an eslint problem: just totally misleading warning?..

10

3 Answers

In my case, ESLint (v7.8.1) was ignoring node_modules directories properly, but not my dist directory. I added this to .eslintignore:

client/dist/

and that resolved the issue.

1

Edit: I shouldn't have had a second node_modules folder in the first place, it works with using only the main folder now


Ignoring node_modules/ in the .eslintignore file in the root folder worked for me.

node_modules/* did not, it caused "An unhandled exception occurred: Failed to load config "airbnb" to extend from." or similar errors when linting the sub-project.

Our project structure looks like this:

root-project

  • node_modules
  • projects
    • sub-project
      • node_modules
      • package.json
      • .eslintrc.json
      • ...
  • src
  • .eslintignore
  • .eslintrc.json
  • ...

I've got the same problem. Solution: Make sure your file ".eslintrc" is in the root directory of your project. Where is package.json, node_modules and other things. Good luck.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling
Author

James H. Sterling

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.