1001Ferramentas
🔍Dev

Gerador ESLint (Airbnb)

Gere um .eslintrc.json com o preset Airbnb, o guia de estilo JavaScript mais popular. Padronize seu código React e Node e copie a configuração pronta.


  

Regras da Airbnb sem o trabalho de montar

Você quer que o time pare de discutir estilo em code review, e adotar um preset pronto é o caminho óbvio. O guia da Airbnb é o mais copiado do ecossistema JavaScript justamente por isso: alguém já tomou as decisões por você. A parte chata é lembrar a estrutura do arquivo, quais campos de env e parserOptions são obrigatórios e onde entra o suporte a hooks do React.

A saída traz extends com airbnb e airbnb/hooks, env para browser, node e es2022, parserOptions em ecmaVersion 2022 com sourceType module, mais dois ajustes práticos: no-console rebaixado para warn e import/prefer-default-export desligado. É um bloco fixo, sem opções na tela. Repare também no formato: é o .eslintrc.json antigo, não o flat config do eslint.config.js.

Isso importa porque o ESLint 9 usa flat config por padrão e ignora o .eslintrc a menos que você fique na série 8. Outro ponto: o extends não instala nada. Você ainda precisa do eslint-config-airbnb e dos plugins peer de import, react, react-hooks e jsx-a11y. Em projeto Node sem React, troque airbnb por airbnb-base e apague a linha de hooks. A geração acontece local, no navegador.

Perguntas frequentes

Por que o ESLint não encontra minha configuração?
Provavelmente você está no ESLint 9, que procura eslint.config.js e ignora o .eslintrc.json. Ou fixe a série 8, ou converta o arquivo para flat config.
Quais pacotes preciso instalar?
eslint, eslint-config-airbnb e os plugins que ele exige como peer: eslint-plugin-import, eslint-plugin-react, eslint-plugin-react-hooks e eslint-plugin-jsx-a11y. O comando npx install-peerdeps --dev eslint-config-airbnb resolve de uma vez.
Serve para projeto Node sem React?
Use airbnb-base no lugar de airbnb e apague a linha airbnb/hooks. Sem isso o ESLint reclama de plugins de React que você nunca instalou.

Ferramentas Relacionadas