General
validation-br 2.0: Validação em TypeScript, zero dependências
0 views

Acabei de lançar a versão 2.0 do validation-br, uma biblioteca em TypeScript para validar documentos brasileiros: CPF, CNPJ (numérico e alfanumérico), CEP, Boleto, chave Pix, Pix Copia e Cola, Título de Eleitor, PIS/PASEP, CNH, RENAVAM e mais uma dezena de outros formatos.
A grande mudança da 2.0 é a forma como a validação funciona: cada documento agora é uma classe imutável, no estilo value object. Em vez de chamar uma função que devolve true ou false, você instancia o documento e ele já nasce validado.
import { CPF } from 'validation-br/cpf';
const cpf = new CPF('906.259.666-51');
cpf.value // -> '90625966651', o valor normalizado, sem máscara
cpf.mask() // -> '906.259.666-51'
Se o valor for inválido, o construtor lança uma exceção em vez de devolver false. Isso deixa o fluxo mais explícito: ou você tem um CPF de verdade em mãos, ou você trata o erro. Pra quem só quer um booleano rápido, os atalhos isCPF, isCNPJ etc. continuam existindo e funcionando exatamente como antes.
Um ponto que considero importante: o pacote não tem nenhuma dependência em produção. Zero. Só usa APIs nativas do JS/TS, o que significa um node_modules mais enxuto e uma superfície de ataque bem menor pra quem se preocupa com supply chain.
Exemplo: CNPJ alfanumérico
Desde 2026 a Receita Federal aceita CNPJ com letras no corpo do número (mantendo os dois últimos dígitos verificadores sempre numéricos). O validation-br já suporta isso, inclusive pra gerar exemplos fake pra teste:
import { CNPJ } from 'validation-br/cnpj';
// Gera um CNPJ alfanumérico de exemplo
CNPJ.fake({ alphanumeric: true }).mask();
// -> 'WX.BC2.1FX/0001-00'
new CNPJ('WX.BC2.1FX/0001-00').value;
// -> 'WXBC21FX000100', o valor normalizado
A mesma classe calcula o dígito verificador, aplica e remove máscara, e gera valores fake válidos, tanto no formato numérico tradicional quanto no alfanumérico novo.
Onde encontrar
Site e documentação completa: https://validation-br.js.org
Código no GitHub: https://github.com/klawdyo/validation-br
Instalação: npm install validation-br
Read original: https://dev.to/klawdyo/validation-br-20-validacao-em-typescript-zero-dependencias-h0p
PreviousVacuum: PostgreSQL Optimization Advisor & Monitoring for Laravel & FilamentNextValkey 9.1 vs Redis 8.4: The Fork Finally Grew Up
Related posts
Adventurer returns home to Hull after 28-year walk from South America
0Hacker News New
Vending machine has terms and conditions you must accept before using [video]
0Hacker News New
Tomorrow Corporation Tech Demo [video]
0Hacker News New
Does Social Status Run in Families?
0Hacker News New
Show HN: Svoxx – A multilingual freelance marketplace with social features
0Hacker News New
433MHz TUI scanner: using a FT232H connected to a CC1101
0Hacker News New