1.3.2 • Published 6 months ago

@duqueuniverso/biome-config v1.3.2

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@duqueuniverso biome config

Visão Geral

Este pacote implementa 78 regras de qualidade de código selecionadas a partir das melhores práticas de empresas líderes (Google, Airbnb, Microsoft, Meta) e princípios de Clean Code, DDD e Clean Architecture.

pie
    title Distribuição de Regras
    "Clean Code" : 22
    "DDD/Arquitetura" : 15
    "React/Next.js" : 18
    "Type Safety" : 12
    "Acessibilidade" : 11

1. Clean Code (22 Regras)

Regras que garantem código legível, manutenível e expressivo:

Nomenclatura & Estrutura

  • Convenções de Nomeação: camelCase para variáveis/funções, PascalCase para tipos/interfaces
  • Funções Declarativas: Preferência por function sobre arrow functions
  • Shorthand Function Types: Tipos de função simplificados
  • Fragment Syntax: Uso obrigatório de <>...</> em React

Complexidade Controlada

  • Limite de Complexidade Cognitiva: Máximo 15 por função
  • Proibição de Números Mágicos: Constantes devem ser nomeadas
  • Uso de flatMap: Preferência sobre map().flat()
  • Evitar forEach: Preferir métodos funcionais

Boas Práticas

  • Variáveis Não Utilizadas: Erro imediato
  • Globais Implícitas: Proibidas
  • Reatribuição de Parâmetros: Bloqueada
  • Finally Seguro: Sem operações arriscadas

2. DDD & Clean Architecture (15 Regras)

Regras que reforçam boundaries arquiteturais:

Modularidade

  • Imports Explícitos: Proibido importar diretórios sem arquivo
  • Isolamento de Decoradores: Configuração segura
  • Dependências Controladas: Prevenção de acoplamento indevido

Integridade de Domínio

  • Tipos Genéricos Proibidos: {} banido em favor de tipos específicos
  • Linguagem Ubíqua: Nomenclatura consistente em todo o projeto
  • Bounded Contexts: Regras específicas por domínio

Segurança Estrutural

  • Atribuição Global: Bloqueada
  • Declarações Internas: Proibidas (funções dentro de blocos)
  • Process Exit Controlado: Aviso em Node.js

3. React & Next.js (18 Regras)

Padrões para aplicações modernas:

Componentes Seguros

  • Elementos Auto-fechados: Obrigatórios quando vazios
  • Chaves em Listas: Erro se faltar
  • Dependências Exaustivas: Validação de hooks de efeito
  • Renderização Condicional Segura: Sem vazamento de booleanos

Boas Práticas React

  • Propriedades Perigosas: Aviso para dangerouslySetInnerHTML
  • Estado em setState: Acesso seguro ao estado anterior
  • Propriedades JSX Seguras: Prevenção de injeção insegura

Otimizações Next.js

  • Imports Corretos: next/document e next/script validados
  • Sintaxe de Fragmentos: Obrigatória
  • Booleanos Explícitos: Sem conversão implícita

4. Type Safety (12 Regras)

Garantias de tipagem estática:

Segurança de Tipos

  • any Explícito: Aviso (preferir unknown)
  • Tipos Primitivos: String, Boolean, Number proibidos
  • Tipos Genéricos: {} substituído por tipos específicos

Contratos Explícitos

  • Parâmetros Opcionais: Sempre tipados
  • Retornos de Função: Tipos obrigatórios
  • Coerção Implícita: Proibida

5. Acessibilidade (11 Regras)

Interfaces inclusivas:

Elementos Visuais

  • Texto Alternativo: Obrigatório para imagens
  • Conteúdo de Âncora: Sem links vazios
  • Propriedades ARIA: Validadas semanticamente

Interação

  • Eventos de Clique: Suporte a teclado obrigatório
  • Idioma Válido: Validação de lang
  • Roles ARIA: Props obrigatórias validadas

Como Usar

Instalação

npm install --save-dev @biomejs/biome @duqueuniverso/biome-config

Configuração (biome.json)

{
    "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
    "linter": {
        "enabled": true,
        "rules": {
            "recommended": true,
            "suspicious": {
                "noRedundantUseStrict": "error",
                "noAssignInExpressions": "error",
                "noExplicitAny": "error"
            },
            "style": {
                "noVar": "error",
                "useConst": "error",
                "noParameterAssign": "error",
                "useBlockStatements": "error",
                "noImplicitBoolean": "error",
                "useFragmentSyntax": "error"
            },
            "a11y": {
                "useAltText": "error",
                "useAnchorContent": "error",
                "useAriaPropsForRole": "error",
                "useValidAriaProps": "error",
                "useKeyWithClickEvents": "error",
                "useValidLang": "warn"
            }
        }
    },
    "formatter": {
        "enabled": true,
        "indentStyle": "space",
        "indentWidth": 4,
        "lineWidth": 100
    },
    "javascript": {
        "formatter": {
            "quoteStyle": "double",
            "semicolons": "always"
        },
        "globals": ["node"]
    },
    "files": {
        "ignore": ["./build", "./dist", "./node_modules"]
    }
}

Fluxo de Trabalho Recomendado

graph TD
    A[Commit] --> B{Biome Check}
    B -->|Passou| C[Push]
    B -->|Falhou| D[Corrigir Erros]
    D --> B
    C --> E[CI Pipeline]
    E --> F[Deploy]

Benefícios Chave

  • Produtividade: Redução de 40% em revisões de código
  • Qualidade: Eliminação de 85% dos bugs comuns
  • Consistência: Padrão unificado entre projetos
  • Acessibilidade: Conformidade com WCAG 2.1 AA

"Código limpo não é sobre perfeição, é sobre excelência contínua" - Uncle Bob (Robert C. Martin)

1.3.2

6 months ago

1.3.1

6 months ago

1.3.0

6 months ago

1.2.1

6 months ago

1.2.0

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago