Definition for rule '@typescript-eslint/no-redeclare' was not found

…衆ロ難τιáo~ 提交于 2021-01-27 05:06:52

问题


In all my .ts or .tsx files I have this warning on the first character in the file like in the screenshot below:

I'm using a standard CRA setup. Here's my package.json:

{
  "name": "my-project",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "firebase": "^8.0.1",
    "formik": "^2.2.3",
    "i18next": "^19.8.3",
    "i18next-browser-languagedetector": "^6.0.1",
    "i18next-xhr-backend": "^3.2.2",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-firebaseui": "^4.1.0",
    "react-i18next": "^11.7.3",
    "react-router-dom": "^5.2.0",
    "react-scripts": "^4.0.0",
    "react-select": "^3.1.0",
    "react-spinners": "^0.9.0",
    "react-syntax-highlighter": "^15.3.0",
    "react-transition-group": "^4.4.1",
    "styled-components": "^5.2.1",
    "yup": "^0.29.3"
  },
  "devDependencies": {
    "@cypress/webpack-preprocessor": "^5.4.10",
    "@types/firebase": "^3.2.1",
    "@types/jest": "^26.0.15",
    "@types/react": "^16.9.56",
    "@types/react-dom": "^16.9.9",
    "@types/react-router-dom": "^5.1.6",
    "@types/react-select": "^3.0.23",
    "@types/react-syntax-highlighter": "^13.5.0",
    "@types/styled-components": "^5.1.4",
    "@types/yup": "^0.29.9",
    "cypress": "^5.5.0",
    "eslint-plugin-cypress": "^2.11.2",
    "i18next-parser": "^3.3.0",
    "typescript": "^4.0.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "eject": "react-scripts eject",
    "cypress:open": "cypress open",
    "test": "react-scripts test --runInBand",
    "extract": "i18next --config i18next-parser.config.js"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

and my tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react",
    "types": ["cypress"],
    "noFallthroughCasesInSwitch": true
  },
  "include": [
    "src"
  ]
}

Any idea what I'm missing?


回答1:


I had recently updated my dependencies on my project when I saw this same error. A simple restart of Visual Code appears to have eliminated the error.




回答2:


I had the same issue. The way I fixed it was to (a) update the parser and (b) create the file eslintrc.json that uses this last version.

"@typescript-eslint/eslint-plugin": "^4.7.0",
"@typescript-eslint/parser": "^4.7.0",
"eslint-config-airbnb-typescript": "^12.0.0",
"eslint-config-prettier": "^6.15.0",

And the eslintrc.json is like:

module.exports = {
  "env": {
      "es2020": true,
      "node": true
  },
  "extends": [
    "react-app",
    "airbnb",
    "eslint:recommended",
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
      "ecmaVersion": 11,
      "sourceType": "module"
  },
  "plugins": [
    "prettier",
    "@typescript-eslint"
  ],
  "rules": {
    "prettier/prettier": ["error"],
    "no-console": ["error"]
  }
};



回答3:


I had the same issue and I fixed it by adding the following rules to Eslint config that I found on the typescript-eslint repository.

{
  // note you must disable the base rule as it can report incorrect errors
  "no-redeclare": "off",
  "@typescript-eslint/no-redeclare": ["error"]
}

make sure to restart the typescript server!



来源:https://stackoverflow.com/questions/64740337/definition-for-rule-typescript-eslint-no-redeclare-was-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!