Se você trabalha com sistemas que consomem dados da Receita Federal, já sabe: o CNPJ mudou. O novo formato alfanumérico (ex: 12.ABC.345/0001-01) já é uma realidade e muitas bibliotecas de validação legadas simplesmente param de funcionar porque esperam apenas números.
Recentemente publiquei a cnpj-universal, uma biblioteca criada para ser a solução definitiva para quem precisa validar, formatar e gerar CNPJs.
Por que usar a cnpj-universal?
Diferente de implementações antigas, esta biblioteca foi construída pensando na transição. Ela valida tanto o formato clássico (numérico) quanto o novo formato alfanumérico, seguindo rigorosamente as notas técnicas da Receita Federal.
- Híbrida: Suporta os dois formatos simultaneamente.
- Minimalista: Zero dependências.
- Type-safe: Feita em TypeScript para evitar erros em tempo de desenvolvimento.
- Performance: Preparada para tree shaking.
Como usar
Instalação:
npm install cnpj-universal
Exemplo Prático:
import { validar, formatar, gerar } from 'cnpj-universal';
// Validando um CNPJ
const isValid = validar('12.345.678/0001-00'); // true/false
// Formatando (adiciona pontos, barra e traço)
const cnpjFormatado = formatar('12345678000100'); // "12.345.678/0001-00"
// Gerando um CNPJ válido para testes
const novoCnpj = gerar();
Principais Funcionalidades
- Validação rigorosa: Algoritmo de dígitos verificadores completo.
- Limpeza automática: Aceita strings com ou sem pontuação.
- Suporte a ESM e CommonJS: Funciona no seu projeto legado ou no mais moderno com Next.js/Vite.
Conclusão
Se você está cansado de copiar e colar funções de validação entre projetos, dê uma chance ao cnpj-universal.
Acesse o repositório, deixe uma ⭐ e contribua:
https://www.npmjs.com/package/cnpj-universal
LeandroGazoli
/
cnpj-universal
Validação de CNPJ numérico (legado) e alfanumérico (novo formato SERPRO) para NestJS e class-validator.
CNPJ Universal ⚡
Validador Type-Safe para CNPJ Numérico (Legado) e Alfanumérico (Novo Formato SERPRO).
Compatível com NestJS, class-validator e TypeScript/JavaScript puro, com suporte completo para ambos os formatos de CNPJ brasileiros.
📋 Índice
- Características
- Instalação
- Casos de Uso
- Uso Básico
- Compatibilidade
- Formatos Aceitos
- Sobre o Novo CNPJ Alfanumérico
- Tratamento de Erros
- Contribuindo
- Licença
✨ Características
✅ Validação Dual: Suporta CNPJ numérico (legado) e alfanumérico (novo formato SERPRO)
✅ Sem Dependências Externas: Apenas class-validator como peer dependency
✅ Type-Safe: Totalmente tipado em TypeScript
✅ NestJS Ready: Funciona como decorator em DTOs
✅ Flexível: Com ou sem máscara (XX.XXX.XXX/XXXX-XX)
✅ Batch Operations: Métodos utilitários para cálculo de dígitos verificadores
✅ Leve: ~2KB minificado
✅ Zero Breaking Changes: API estável desde v1.0.0
🚀 Instalação
npm install cnpj-universal
Com yarn:
yarn add cnpj-universal
Com pnpm:
pnpm…
Top comments (0)