Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Comando npx eslint index.js não retorna o erro quando deveria retornar

Olá, estou fazendo o curso: Node.js: testes unitários e de Integração, aula 5 Introduzindo testes estáticos, segui exatamente como o professor ensinou, porém, quando executo o comando npx eslint index.js, mesmo o meu código contendo erros como falta de ponto e vírgula, espaço em excesso, etc, o erro não é acusado no terminal.

Segue a estrutura atual do meu código

obs: o arquivo eslint.config.mjs foi criado ao inves de ser criado o .eslintrc.json igual o do professor, então neste caso o .eslintrc.json tive que crair na mão.

também já tenho a extensão Eslint no meu vscode.

index.js

function somaHorasExtras (salario, valor_horas_extras)  {
    return salario + valor_horas_extras
}

console.log(somaHorasExtras(2000, 500))

.eslintrc.json

{
    "env": {
        "es2021": true,
        "node": true
    },
    "extends": [
        "airbnb-base"
    ],
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "rules": {
        "no-trailing-spaces": "error"
    }
}

eslint.config.mjs

import globals from "globals";
import pluginJs from "@eslint/js";


/** @type {import('eslint').Linter.Config[]} */
export default [
  {languageOptions: { globals: globals.node }},
  pluginJs.configs.recommended,
  {
    rules: {
      "no-trailing-spaces": "error"
    }
  }
];

package.json

{
  "name": "jest",
  "version": "1.0.0",
  "description": "- São testes curtos ...",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@eslint/js": "^9.13.0",
    "eslint": "^8.16.0",
    "globals": "^15.11.0"
  }
}
1 resposta
solução!

Olá Clebson! Tudo bem?

Primeiro, é importante garantir que o ESLint está configurado corretamente para o seu projeto. Pelo que você descreveu, parece que você tem dois arquivos de configuração: eslint.config.mjs e .eslintrc.json. Isso pode estar causando conflitos. O ESLint geralmente espera um único arquivo de configuração, então vamos tentar focar em um deles.

Aqui estão algumas sugestões que podem ajudar:

  1. Escolha um arquivo de configuração: Recomendo que você escolha um dos arquivos de configuração e remova o outro para evitar conflitos. Se você preferir usar o .eslintrc.json, remova o eslint.config.mjs, ou vice-versa.

  2. Verifique o arquivo de configuração escolhido: Certifique-se de que o arquivo de configuração que você está usando está sendo reconhecido pelo ESLint. No caso do .eslintrc.json, ele deve estar na raiz do seu projeto. Para o eslint.config.mjs, certifique-se de que ele está corretamente exportando as configurações.

  3. Execute o ESLint com o arquivo correto: Se você optar por usar o eslint.config.mjs, execute o ESLint especificando o arquivo de configuração com o comando:

    npx eslint -c eslint.config.mjs index.js
    

    Se estiver usando o .eslintrc.json, o comando que você já está usando deve funcionar:

    npx eslint index.js
    
  4. Verifique se as regras estão configuradas corretamente: No arquivo de configuração que você escolher, certifique-se de que as regras que você deseja aplicar estão definidas. Por exemplo, a regra "no-trailing-spaces": "error" deve estar presente e ativa.

  5. Atualize suas dependências: Certifique-se de que todas as suas dependências estão atualizadas. Você pode fazer isso executando:

    npm update
    
  6. Reinicie o VSCode: Às vezes, reiniciar o VSCode pode ajudar a garantir que todas as extensões e configurações sejam recarregadas corretamente.

Espero que essas dicas ajudem a resolver o problema e que o ESLint comece a detectar os erros no seu código.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.