Logger universal para TypeScript e JavaScript, com saída de terminal formatada, JSON estruturado com campos primeiro, mascaramento de segredos e nenhuma dependência em tempo de execução.
ehmicky/modern-errors
Biblioteca de tratamento de erros para JavaScript/TypeScript que cria classes de erro, encapsula e agrega erros e normaliza exceções inválidas.
- Estrelas
- 1,487
- Forks
- 20
- Issues abertas
- 1
- Último commit
- há 9 dias
O que é?
modern-errors é uma biblioteca JavaScript para tratar erros de forma consistente no Node.js e nos navegadores. Você define classes de erro com uma API simples de subclasses, adiciona propriedades personalizadas aos erros e encapsula um erro interno em outro usando a opção padrão `cause`, preservando a mensagem, a stack e as informações da classe do erro interno.
A biblioteca também normaliza valores inválidos lançados, como strings ou objetos que não são instâncias de `Error`, transformando-os em instâncias de erro válidas. Chamar `BaseError.normalize()` no ponto de entrada de um módulo garante que todo erro lançado seja válido e pertença a uma classe conhecida ou à classe padrão `UnknownError`, o que ajuda a separar falhas esperadas de bugs.
A funcionalidade pode ser ampliada com plugins para serialização, tratamento de CLI, stacks com formatação aprimorada, respostas de erro HTTP e logging com Winston. O pacote é um ES module, tem tipos TypeScript estritos e requer Node.js 18.18.0 ou posterior.
Recursos principais
- 01Cria classes de erro com uma API simples de subclasses.
- 02Adiciona propriedades personalizadas aos erros, inclusive propriedades internas não enumeráveis.
- 03Encapsula erros internos com a opção padrão `cause`, combinando suas mensagens e stacks.
- 04Agrega vários erros em um só, inclusive quando pertencem a classes de erro personalizadas.
- 05Normaliza valores inválidos lançados, transformando-os em instâncias de erro válidas.
- 06Amplia o comportamento com plugins e tipos TypeScript estritos.
Casos de uso
- Definir um conjunto compartilhado de classes de erro para uma biblioteca de Node.js ou navegador.
- Separar erros esperados de entrada do usuário de bugs inesperados na fronteira de um módulo.
- Adicionar contexto aos erros conforme se propagam pelas camadas do código.
- Serializar erros em JSON e restaurá-los com o plugin serialize.
Início rápido
- 1
Instale a biblioteca com npm
npm install modern-errors - 2
Crie classes de erro com ModernError.subclass e importe-as onde precisar
Antes de usar
- Requer Node.js 18.18.0 ou mais recente.
- É exclusivamente um módulo ES e não pode ser carregado com require().
Tópicos
Perguntas frequentes
- O que é modern-errors?
- Biblioteca de tratamento de erros para JavaScript/TypeScript que cria classes de erro, encapsula e agrega erros e normaliza exceções inválidas. modern-errors é uma biblioteca JavaScript para tratar erros de forma consistente no Node.js e nos navegadores. Você define classes de erro com uma API simples de subclasses, adiciona propriedades personalizadas aos erros e encapsula um erro interno em outro usando a opção padrão `cause`, preservando a mensagem, a stack e as informações da classe do erro interno.
- modern-errors é gratuito? Qual é a licença?
- modern-errors é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- modern-errors ainda é mantido?
- Manutenção ativa. O último commit de modern-errors foi em 13 de out. de 2026.
- Para que posso usar modern-errors?
- Definir um conjunto compartilhado de classes de erro para uma biblioteca de Node.js ou navegador. Separar erros esperados de entrada do usuário de bugs inesperados na fronteira de um módulo. Adicionar contexto aos erros conforme se propagam pelas camadas do código. Serializar erros em JSON e restaurá-los com o plugin serialize.
- Como instalar modern-errors?
- Instale a biblioteca com npm: npm install modern-errors Crie classes de erro com ModernError.subclass e importe-as onde precisar
- Onde consigo modern-errors?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ehmicky/modern-errors
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma reimplementação em TypeScript do cliente ADB que roda em navegadores Chromium, Node.js e Electron e se conecta a dispositivos Android via WebUSB.
Biblioteca JavaScript que extrai as cores predominantes e paletas de cores de imagens no navegador e no Node.js.
Extensão do VSCode que reformata mensagens de erro do TypeScript em tipos legíveis, com destaque de sintaxe, links para documentação e explicações.
CLI que avalia a qualidade do código de um projeto em 14 linguagens e gera um relatório com pontuação geral e classificação por arquivo.
Ferramenta open source de testes de API e integração que registra tráfego real via eBPF e o reproduz como testes e mocks de dados, sem alterações no código.