2
respostas

[Bug] Erro no ESLint

Não sei o que fiz de errado, mas sempre que tento rodar o comando lint, ele retorna o seguinte:

> eslint "src/**/*{.js,.jsx}" --quiet


Oops! Something went wrong! :(

ESLint: 9.0.0

Error: Could not find config file.
    at locateConfigFileToUse (/home/renan/Github/bytebank/node_modules/.pnpm/eslint@9.0.0/node_modules/eslint/lib/eslint/eslint.js:349:21)
    at async calculateConfigArray (/home/renan/Github/bytebank/node_modules/.pnpm/eslint@9.0.0/node_modules/eslint/lib/eslint/eslint.js:384:49)
    at async ESLint.lintFiles (/home/renan/Github/bytebank/node_modules/.pnpm/eslint@9.0.0/node_modules/eslint/lib/eslint/eslint.js:814:25)
    at async Object.execute (/home/renan/Github/bytebank/node_modules/.pnpm/eslint@9.0.0/node_modules/eslint/lib/cli.js:461:23)
    at async main (/home/renan/Github/bytebank/node_modules/.pnpm/eslint@9.0.0/node_modules/eslint/bin/eslint.js:165:22)
2 respostas

Olá, como vai você? Espero que esteja bem!

O erro que você está vendo geralmente ocorre quando o ESLint não consegue encontrar um arquivo .eslintrc na raiz do seu projeto. Este arquivo é necessário para que o ESLint saiba quais regras aplicar ao seu código.

Vamos verificar algumas coisas:

  1. Certifique-se de que o arquivo .eslintrc existe na raiz do seu projeto. Este arquivo deve estar no mesmo nível que o seu package.json.

  2. Verifique se o conteúdo do seu arquivo .eslintrc está correto. Com base no conteúdo da aula, ele deve ser algo assim:

{
  "extends": [
    "eslint:recommended",
    "plugin:import/errors",
    "plugin:react/recommended",
    "plugin:jsx-a11y/recommended",
    "plugin:react-hooks/recommended",
    "prettier"
  ],
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true
    }
  },
  "rules": {
    "react/prop-types": "off",
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
    "react/self-closing-comp": "warn",
    "no-unused-vars": "off",
    "import/no-unresolved": "off"
  },
  "plugins": [
    "react",
    "import",
    "jsx-a11y"
  ],
  "env": {
    "es6": true,
    "browser": true,
    "jest": true,
    "node": true
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  }
}
  1. Se o arquivo .eslintrc existir e estiver correto, tente reinstalar o ESLint e os plugins relacionados. Você pode fazer isso com os seguintes comandos:
npm uninstall eslint eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks
npm install -D eslint eslint-config-prettier eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks

Espero que isso resolva o problema!

Se o erro persistir, por favor, compartilhe mais detalhes para que possamos ajudar a encontrar uma solução.

Abraços e bons estudos!

Eu tinha instalado as dependência usando pnpm. Então apaguei a node_modules e reinstalei tudo com o npm, mas o problema continua.

P.S.: Sim, eu criei o arquivo .eslintrc e colei o conteúdo passado na aula, que é:

{
    "extends": [
      "eslint:recommended",
      "plugin:import/errors",
      "plugin:react/recommended",
      "plugin:jsx-a11y/recommended",
      "plugin:react-hooks/recommended",
      "prettier"
    ],
    "parserOptions": {
      "ecmaVersion": "latest",
      "sourceType": "module",
      "ecmaFeatures": {
        "jsx": true
      }
    },
    "rules": {
      "react/prop-types": "off",
      "react/jsx-uses-react": "off",
      "react/react-in-jsx-scope": "off",
      "react/self-closing-comp": "warn",
      "no-unused-vars": "off",
      "import/no-unresolved": "off"
    },
    "plugins": [
      "react",
      "import",
      "jsx-a11y"
    ],
    "env": {
      "es6": true,
      "browser": true,
      "jest": true,
      "node": true
    },
    "settings": {
      "react": {
        "version": "detect"
      }
    }
  }

P.S.(2): Meu package.json está assim:

{
  "name": "bytebank",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "format": "prettier --write \"src/**/*{.js, .jsx, .ts, .tsx}\"",
    "lint": "eslint \"src/**/*{.js, .jsx, .ts, .tsx}\" --quiet"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "devDependencies": {
    "eslint": "^9.2.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jsx-a11y": "^6.8.0",
    "eslint-plugin-react": "^7.34.1",
    "eslint-plugin-react-hooks": "^4.6.2",
    "prettier": "^3.2.5"
  }
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software