Eslint error, configuration for rule "import/no-cycle" is invalid
Asked Answered
H

2

13

Running my lint script "lint": "eslint --ext .js .", gives me this error:

Error: .eslintrc » eslint-config-airbnb » //node_modules/eslint-config-airbnb-base/index.js » //node_modules/eslint-config-airbnb-base/rules/imports.js: Configuration for rule "import/no-cycle" is invalid: Value "∞" should be integer.

Package.json:

 "devDependencies": {
    "@babel/core": "7.9.0",
    "@babel/runtime": "7.9.2",
    "@babel/parser": "7.11.5",
    "@react-native-community/eslint-config": "1.0.0",
    "babel-eslint": "10.1.0",
    "babel-jest": "25.2.3",
    "babel-plugin-module-resolver": "4.0.0",
    "babel-preset-react-native": "4.0.1",
    "bluebird": "3.7.2",
    "catharsis": "0.8.11",
    "cross-env": "7.0.2",
    "escape-string-regexp": "2.0.0",
    "eslint": "6.8.0",
    "eslint-config-airbnb": "18.1.0",
    "eslint-config-react-native": "4.0.0",
    "eslint-plugin-import": "2.20.1",
    "eslint-plugin-jsx-a11y": "6.2.3",
    "eslint-plugin-react": "7.19.0",
    "eslint-plugin-react-hooks": "3.0.0",
    "eslint-plugin-react-native": "3.8.1",
    "husky": "4.2.3",
    "jest": "25.2.3",
    "jest-fetch-mock": "3.0.3",
    "jest-junit": "10.0.0",
    "jest-transform-stub": "2.0.0",
    "js2xmlparser": "4.0.1",
    "jsdoc": "3.6.6",
    "klaw": "3.0.0",
    "markdown-it": "10.0.0",
    "markdown-it-anchor": "5.2.7",
    "marked": "0.8.2",
    "metro-react-native-babel-preset": "0.59.0",
    "mkdirp": "1.0.4",
    "node": "12.10.0",
    "npm-check": "5.9.2",
    "react-test-renderer": "16.13.1",
    "redux-mock-store": "1.5.4",
    "requizzle": "0.2.3",
    "strip-json-comments": "3.1.0",
    "taffydb": "2.6.2",
    "underscore": "1.10.2"
  },
Hoyle answered 11/11, 2020 at 16:50 Comment(0)
Q
40

According to this thread https://github.com/airbnb/javascript/issues/2331#issuecomment-724114465

you need to update eslint-plugin-import to ^2.22.1 which supports value.

Quadrennium answered 12/11, 2020 at 9:41 Comment(0)
D
4

sharing here what i found that resolved this issue. all the peer dependencies were installed and correct version, however this error was still showing up.

I changed the node_modules/eslint-config-airbnb-base/rules/imports.js "∞" to an integer to continue debugging. Next run showed this error, ESLint couldn't determine the plugin "import" uniquely., which was the underlying problem. it turns out that eslint loads all configs from ancestor directories as described here, https://github.com/eslint/eslint/issues/13385#issuecomment-641252879.

I added "root":true to the .eslint config file and converted the update to the node_modules/eslint-config-airbnb-base/rules/imports.js. it now runs. hope it helps others.

Distraught answered 13/4, 2021 at 16:56 Comment(1)
I've tried everything and lost all day trying to fix it but adding "root":true to my .eslintrc.json fixed it. Thank you!Scarrow

© 2022 - 2024 — McMap. All rights reserved.