見やすいターミナル出力、フィールド優先の構造化JSON、秘密情報のマスキングに対応した、ランタイム依存ゼロのTypeScript・JavaScript向け汎用ロガー。
ehmicky/modern-errors
JavaScript/TypeScript向けのエラーハンドリングライブラリ。エラークラスの作成、エラーのラップや集約、無効な例外の正規化ができます。
- スター
- 1,487
- フォーク
- 20
- 未解決の Issue
- 1
- 最終コミット
- 9 日前
これは何?
modern-errorsは、Node.jsとブラウザで一貫した方法でエラーを扱うためのJavaScriptライブラリです。シンプルなサブクラスAPIでエラークラスを定義し、エラーに独自のプロパティを追加できます。また、標準のcauseオプションを使って内側のエラーを外側のエラーでラップしつつ、内側のエラーのメッセージ、スタック、クラス情報を保持できます。
文字列やErrorインスタンスではないオブジェクトなど、throwされた無効な値も、適切なエラーインスタンスに正規化します。モジュールのエントリーポイントでBaseError.normalize()を呼び出せば、throwされたエラーがすべて有効になり、既知のクラスまたはデフォルトのUnknownErrorクラスに分類されるため、想定内の失敗とバグを切り分けやすくなります。
シリアライズ、CLI処理、整形されたスタックトレース、HTTPエラーレスポンス、Winstonロギング用のプラグインで機能を拡張できます。このパッケージはES moduleで、厳密なTypeScript型を備え、Node.js 18.18.0以降が必要です。
主な機能
- 01シンプルなサブクラスAPIでエラークラスを作成できます。
- 02エラーに独自のプロパティを追加できます。列挙不可の内部プロパティにも対応しています。
- 03標準のcauseオプションで内側のエラーをラップし、メッセージとスタックを統合できます。
- 04カスタムエラークラスを含む複数のエラーを1つに集約できます。
- 05throwされた無効な値を適切なエラーインスタンスに正規化できます。
- 06プラグインと厳密なTypeScript型で機能を拡張できます。
ユースケース
- Node.jsまたはブラウザ向けライブラリで、共通のエラークラス群を定義する。
- モジュール境界で、想定されるユーザー入力エラーと予期しないバグを切り分ける。
- コードの各層を伝播するエラーにコンテキストを追加する。
- serializeプラグインを使ってエラーをJSONにシリアライズし、復元する。
クイックスタート
- 1
npmでライブラリをインストールする
npm install modern-errors - 2
ModernError.subclassでエラークラスを作成し、必要な場所でインポートする
使う前に知っておきたいこと
- Node.js 18.18.0以降が必要です。
- ESモジュール専用のため、require()では読み込めません。
トピック
よくある質問
- modern-errors とは?
- JavaScript/TypeScript向けのエラーハンドリングライブラリ。エラークラスの作成、エラーのラップや集約、無効な例外の正規化ができます。 modern-errorsは、Node.jsとブラウザで一貫した方法でエラーを扱うためのJavaScriptライブラリです。シンプルなサブクラスAPIでエラークラスを定義し、エラーに独自のプロパティを追加できます。また、標準のcauseオプションを使って内側のエラーを外側のエラーでラップしつつ、内側のエラーのメッセージ、スタック、クラス情報を保持できます。
- modern-errors は無料で使えますか?ライセンスは?
- modern-errors は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- modern-errors は今もメンテナンスされていますか?
- 活発にメンテナンス中。modern-errors の最終コミットは 2026年10月13日 です。
- modern-errors は何に使えますか?
- Node.jsまたはブラウザ向けライブラリで、共通のエラークラス群を定義する。 モジュール境界で、想定されるユーザー入力エラーと予期しないバグを切り分ける。 コードの各層を伝播するエラーにコンテキストを追加する。 serializeプラグインを使ってエラーをJSONにシリアライズし、復元する。
- modern-errors のインストール方法は?
- npmでライブラリをインストールする: npm install modern-errors ModernError.subclassでエラークラスを作成し、必要な場所でインポートする
- modern-errors はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ehmicky/modern-errors
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
WebUSB経由でAndroid端末に接続する、Chromiumブラウザー、Node.js、Electronで動作するADBクライアントのTypeScriptによる再実装。
ブラウザーとNode.jsの両方で画像から代表色やカラーパレットを抽出するJavaScriptライブラリ。
TypeScriptのエラーメッセージを、読みやすくシンタックスハイライトされた型に整形し、ドキュメントや解説へのリンクを追加するVSCode拡張機能です。
14言語に対応したCLIでプロジェクトのコード品質を採点し、総合スコアとファイル別ランキングを含むレポートを生成します。
eBPFで実際のトラフィックを記録し、コードを変更せずにテストやデータモックとして再生できる、オープンソースのAPI・統合テストツール。