Универсальный логгер для TypeScript и JavaScript: удобный вывод в терминал, JSON с полями в начале, маскирование секретов и отсутствие runtime-зависимостей.
ehmicky/modern-errors
Библиотека для обработки ошибок в JavaScript/TypeScript: создание классов ошибок, обёртывание и объединение ошибок, нормализация некорректных исключений.
- Звёзды
- 1,487
- Форки
- 20
- Открытые issues
- 1
- Последний коммит
- 9 дней назад
Что это?
modern-errors — это библиотека JavaScript для единообразной обработки ошибок в Node.js и браузерах. Вы можете определять классы ошибок с помощью простого API на основе наследования, добавлять к ошибкам пользовательские свойства и оборачивать внутреннюю ошибку во внешнюю, используя стандартную опцию cause и сохраняя сообщение, стек и информацию о классе внутренней ошибки.
Библиотека также нормализует некорректные выбрасываемые значения — например, строки или объекты, не являющиеся экземплярами Error, — преобразуя их в корректные экземпляры ошибок. Вызов BaseError.normalize() в точке входа модуля гарантирует, что каждая выброшенная ошибка будет корректной и относиться либо к известному классу, либо к классу UnknownError по умолчанию. Это помогает отделять ожидаемые сбои от ошибок в коде.
Функциональность можно расширить с помощью плагинов для сериализации, обработки CLI, форматирования стеков вызовов, HTTP-ответов с ошибками и логирования через Winston. Пакет является ES-модулем, имеет строгую типизацию TypeScript и требует Node.js версии 18.18.0 или выше.
Ключевые возможности
- 01Создавайте классы ошибок с помощью простого API на основе наследования.
- 02Добавляйте к ошибкам пользовательские свойства, в том числе внутренние свойства, не перечисляемые при обходе.
- 03Оборачивайте внутренние ошибки с помощью стандартной опции cause, объединяя их сообщения и стеки вызовов.
- 04Объединяйте несколько ошибок в одну, в том числе ошибки пользовательских классов.
- 05Нормализуйте некорректные выбрасываемые значения, преобразуя их в корректные экземпляры ошибок.
- 06Расширяйте поведение с помощью плагинов и строгой типизации TypeScript.
Сценарии использования
- Определение общего набора классов ошибок для библиотеки Node.js или браузера.
- Отделение ожидаемых ошибок пользовательского ввода от непредвиденных ошибок в коде на границе модуля.
- Добавление контекста к ошибкам по мере их распространения между слоями кода.
- Сериализация ошибок в JSON и их восстановление с помощью плагина serialize.
Быстрый старт
- 1
Установите библиотеку с помощью npm
npm install modern-errors - 2
Создайте классы ошибок с помощью ModernError.subclass и импортируйте их там, где они нужны
Что важно знать
- Требуется Node.js версии 18.18.0 или новее.
- Это только ES-модуль, его нельзя загрузить с помощью require().
Темы
Частые вопросы
- Что такое modern-errors?
- Библиотека для обработки ошибок в JavaScript/TypeScript: создание классов ошибок, обёртывание и объединение ошибок, нормализация некорректных исключений. modern-errors — это библиотека JavaScript для единообразной обработки ошибок в Node.js и браузерах. Вы можете определять классы ошибок с помощью простого API на основе наследования, добавлять к ошибкам пользовательские свойства и оборачивать внутреннюю ошибку во внешнюю, используя стандартную опцию cause и сохраняя сообщение, стек и информацию о классе внутренней ошибки.
- modern-errors можно использовать бесплатно? Какая у него лицензия?
- modern-errors распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- modern-errors всё ещё поддерживается?
- Активно поддерживается. Последний коммит в modern-errors — 13 окт. 2026 г..
- Для чего можно использовать modern-errors?
- Определение общего набора классов ошибок для библиотеки Node.js или браузера. Отделение ожидаемых ошибок пользовательского ввода от непредвиденных ошибок в коде на границе модуля. Добавление контекста к ошибкам по мере их распространения между слоями кода. Сериализация ошибок в JSON и их восстановление с помощью плагина serialize.
- Как установить modern-errors?
- Установите библиотеку с помощью npm: npm install modern-errors Создайте классы ошибок с помощью ModernError.subclass и импортируйте их там, где они нужны
- Где скачать modern-errors?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ehmicky/modern-errors
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Клиент ADB на TypeScript для работы в браузерах Chromium, Node.js и Electron с подключением Android-устройств через WebUSB.
Библиотека JavaScript для извлечения доминирующих цветов и цветовых палитр из изображений в браузере и Node.js.
Расширение для VSCode, которое делает сообщения об ошибках TypeScript понятнее: форматирует типы, подсвечивает синтаксис и добавляет ссылки на документацию и пояснения.
CLI для оценки качества кода в проекте на 14 языках: формирует общий рейтинг и ранжирует файлы.
Open-source инструмент для API- и интеграционного тестирования: записывает реальный трафик через eBPF и воспроизводит его в виде тестов и моков данных без изменений кода.