eslint-config-hiporepo
v1.2.2
Published
Pacote de configuração para o time HipoRepo
Readme
Configurando ESLint do HipoRepo
Regras ESLint padronizadas para projetos TypeScript do time, como NestJS, NextJS e outros.
🚀 Instalação
Instale o pacote e suas dependências (peerDependencies):
npm install -D eslint eslint-config-hiporepo @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-import⚙️ Configuração
Crie um arquivo eslint.config.mjs e adicione esse trecho:
import hiporepo from 'eslint-config-hiporepo';
export default [
...hiporepo
];🌟 Regras Aplicadas
🔠 Formatação Básica
- indent: usar 2 espaços para indentação
- semi: usar ';' ao final de cada declaração
- quotes: strings devem usar aspas simples ('')
- max-len: linhas não devem ultrapassar 110 caracteres (exceto URLs)
↔️ Espaçamento
- space-infix-ops: espaços ao redor de operadores (+, -, =, etc)
- space-in-parens: não usar espaços dentro de parênteses
- space-before-function-paren: não usar espaço antes de parênteses de função
- keyword-spacing: não usar espaço após keywords como if/for/while
- object-curly-spacing: usar espaços dentro de chaves { }
- array-bracket-spacing: não usar espaços dentro de colchetes [ ]
📦 Organização de Código
- import/order: organizar imports em grupos com linhas vazias entre eles
- no-multiple-empty-lines: no máximo 2 linhas vazias consecutivas
- no-multi-spaces: evitar múltiplos espaços em sequência
- no-lone-blocks: evitar blocos de código isolados sem contexto
🎯 Controle de Fluxo
- curly: usar chaves {} em todos os blocos (if, else, for, etc)
- brace-style: chaves devem estar na linha seguinte (estilo Stroustrup)
- arrow-parens: usar parênteses em arrow functions mesmo com um parâmetro
🏷️ Tipagem e Variáveis
- no-unused-vars: alerta sobre variáveis não utilizadas
- one-var: declarar cada variável em uma linha separada
- no-console: não deixar consoles perdidos (log, error, etc)
🏛️ Convenções de Nomeação
- Classes: PascalCase (ex:
UserController) - Interfaces: PascalCase (ex:
IUserModel) - Variáveis: camelCase (ex:
userCount) ou UPPER_CASE para constantes - Funções: camelCase (ex:
getUserData) - Enum Members: UPPER_CASE (ex:
MAX_SIZE)
🛠️ Requisitos
- Node 18+ (use o 22 LTS)
- ESLint 9+
- TypeScript
🧠 Dica
Baixar as extenções ESLint e SonarQube for IDE no VS Code para feedback em tempo real
