Boas Práticas de Regras do Node.js
Como transformar as regras de serviços Node.js de documentação em prática de engenharia aplicada e auditável.
Como Usar Esta Lista
- Emparelhe com o Checklist de Regras do Projeto Node.js a cada trimestre.
- Cada regra deve ser mapeada para CI, lint ou revisão de código - não para sistema de honra.
- A equipe de plataforma mantém modelos que incorporam padrões aplicáveis por padrão.
A - Mecanismos de Aplicação
- CI falha em lint, typecheck, teste, auditoria - não avisos no README. Regras sem portões decaem em semanas.
- Modelos incluem
.npmrcengine-strict, ESLint, teste de exemplo, Dockerfile. Novos repositórios começam em conformidade. - Checklist de PR vincula o checklist de regras para funcionalidades principais. Portão humano para regras que a automação não pode cobrir.
- Substitua ADRs ao reverter decisões. O histórico do Git explica por que as regras mudaram.
- Ticket de auditoria de regras trimestral. O proprietário verifica o status de aprovação/falha do checklist por catálogo de serviços.
B - Tempo de Execução e Confiabilidade
- Integração de desligamento gracioso testada. Teste SIGTERM em CI ou script de implantação em staging.
- Readiness difere de liveness. Verificação de DB apenas em
/readypara evitar kill em cascata durante picos. - Regras de loop de eventos e IO síncrono em revisão de lint/arquitetura. Bloqueie
readFileSyncemsrc/via regra personalizada ou grep CI. - Timeouts de saída obrigatórios no wrapper do cliente HTTP.
fetchWithTimeoutúnico usado em toda a organização. - Jobs de worker carregam IDs de correlação da requisição que os acionou. Rastreie junções entre limites assíncronos.
C - Segurança e Dependências
- Zod (ou equivalente) em cada rota mutável. Sem
req.bodybruto nas profundezas dos serviços. - Verificação de segredos no push. Verificação de segredo do GitHub mais gitleaks em CI.
- Wrapper SSRF exigido para URLs de usuário. Sem
fetch(userInput)bruto em qualquer lugar. - Agendamento semanal de auditoria de dependências. Não apenas quando o Renovate abre PRs.
- RFC antes de nova dependência de produção. knip impede o acúmulo de dependências não utilizadas.
D - API e Observabilidade
- Manipulador de erros global com formato JSON único. Clientes e BFFs dependem da consistência.
- Chaves de idempotência em mutações financeiras. Índice único de DB impõe; não apenas cache de aplicação.
- Logs JSON estruturados apenas; Pino ou equivalente.
no-consoleemsrc/. - Métricas para sinais de ouro: latência, tráfego, erros, saturação. Mínimo de métricas RED por serviço.
- Esquemas OpenAPI ou Zod publicados para APIs públicas. Contrato fonte de verdade documentado.
E - Cultura e Propriedade
- Runbook de plantão vinculado e testado após alterações importantes. Regras 21-25 fatia operacional.
- Incidentes atualizam regras ou ADRs quando lacunas são encontradas. Ações de postmortem se tornam itens de checklist.
- Onboarding de juniores percorre o checklist nível 1. Segurança e tempo de execução antes da velocidade de funcionalidades.
- Exceções de plataforma com tempo limitado. Isenções de
engine-strictexpiram com ID de ticket. - Regras ensinadas via exemplos de revisão de código, não apenas slides. Vincule a documentação da regra nos comentários da revisão.
FAQs
Por que aplicar via CI e não README?
Regras de README são ignoradas sob pressão de prazo. Portões automatizados escalam com o tamanho da equipe.
E se a CI não puder aplicar uma regra?
Marque como manual no checklist de auditoria trimestral com responsabilidade de revisor nomeado.
Como as regras diferem da configuração de lint?
Regras declaram a intenção; lint/CI implementam um subconjunto. ADR explica exceções.
Monorepo com um checklist para todos os aplicativos?
Nível 1 universal; apêndice específico do aplicativo para o modelo de banco de dados e autenticação.
Regras para Serverless Lambda?
Sim - remova itens específicos de contêiner; mantenha validação, logging, idempotência, auditoria.
Como introduzir uma nova regra?
ADR ou RFC de plataforma, atualização de modelo, alteração de CI, comunicação em #engenharia, período de carência com lint de aviso.
Regras vs OWASP?
Regras operacionalizam o OWASP API Top 10 para a stack Node; consulte a documentação da seção de segurança para detalhes.
Quem é o proprietário dos modelos de plataforma?
Equipe de Plataforma/DevEx com feedback da equipe de serviço a cada trimestre.
As equipes podem optar por sair?
Apenas via ADR de exceção escrita com expiração e controles compensatórios - não opt-out silencioso.
Como medir a conformidade?
% de serviços que passam nas verificações automatizadas de nível 1 no painel do catálogo; auditoria manual trimestral para nível 3.
Relacionados
- Checklist de Regras do Projeto Node.js - auditoria de 25 regras
- Modelo ADR para Node - documentar decisões
- Regras de Segurança - detalhes das regras de segurança
Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 e NestJS 11.