DEV Community

Rafael Citario
Rafael Citario

Posted on • Edited on

Como usar Eslint

Como utilizar o ESLint

Vamos iniciar instalando o ESLint em nosso projeto.

Se você estiver usando NPM:

npm init @eslint/config
Enter fullscreen mode Exit fullscreen mode

Se você estiver usando YARN:

yarn init @eslint/config
Enter fullscreen mode Exit fullscreen mode

Se você estiver usando PNPM:

pnpm init @eslint/config
Enter fullscreen mode Exit fullscreen mode

Esses comandos fornecem uma instalação rápida.

Também é possível instalar utilizando o comando

install
Enter fullscreen mode Exit fullscreen mode

ou

i
Enter fullscreen mode Exit fullscreen mode

No exemplo abaixo, estou instalando o ESLint junto com as configurações da Rocketseat:

Para PNPM:

pnpm add -D eslint @rocketseat/eslint-config
Enter fullscreen mode Exit fullscreen mode

-D me permite instalar somente em ambiente de desenvolvimento.
Sendo assim, entendemos que a instalação não é um ponto critico para nosso projeto quando ele estiver em produção.

Após a instalação

Caso você tenha feito a instalação através do Yarn ou NPM, é bem provável que o arquivo .eslintrc tenha sido criado na raiz da sua aplicação. Caso não tenha sido criado, podemos fazer isso manualmente.

O arquivo .eslintrc suporta formatos

{
 .js,
 .json, 
 .yaml
}
Enter fullscreen mode Exit fullscreen mode

Abaixo utilizaremos .eslintrc.json.

Com o arquivo .eslintrc.json criado, utilizamos as seguintes configurações:

{
  "env": {
      "browser": true,
      "es2021": true
  },
  "extends": "eslint:recommended",
  "parserOptions": {
      "ecmaVersion": "latest",
      "sourceType": "module"
  },
}
Enter fullscreen mode Exit fullscreen mode

Caso você tenha criado o arquivo {.js}:

module.exports = {
  "env": {
      "browser": true,
      "es2021": true
  },
  "extends": "eslint:recommended",
  "parserOptions": {
      "ecmaVersion": "latest",
      "sourceType": "module"
  },
}
Enter fullscreen mode Exit fullscreen mode

Como optei por utilizar a configuração da @rocketseat, então precisamos passar algumas configurações.

Em

{"extends": }
Enter fullscreen mode Exit fullscreen mode

Passaremos o valor:

{"extends": ["@rocketseat/eslint-config/node"]}
Enter fullscreen mode Exit fullscreen mode

Mas de onde veio esta configuração?

Após a instalação do pacote @rocketseat/eslint-config podemos olhar dentro de nossa pasta node_modules/

. <-- nossa pasta raiz
  ├── node_modules/
      └── @rocketseat
          ├── next.js
          ├── node.js
          ├── react.js
          ├── Readme.md
Enter fullscreen mode Exit fullscreen mode

Navegando entre os diretórios, encontramos a estrutura de pastas acima contendo 3 arquivos:

  • next.js
  • node.js
  • react.js

Estes arquivos são o que chamaremos em @rocketseat/eslint-config/{'o arquivo desejado'}

Caso fique em dúvida, você também encontra um README.MD que pode ajudar a entender melhor cada configuração.

Configuração no package.json

Em scripts adicionamos:

"lint": "eslint src --ext .ts --fix"
Enter fullscreen mode Exit fullscreen mode

Informando a "extensão dos arquivos" que queremos formatar:

--ext .ts

Caso tenha mais arquivos em sua aplicação pode-se adicionar em fileira ex: --ext .ts, .tsx, .js.

Informando ao ESLint que ele pode corrigir todos os erros que encontrar automaticamente

--fix

Por último, tenha sempre instalada a extensão ESLint em seu VSCode.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay