---
generated_at: 2026-03-01 10:00:00
metrics:
  claims_total: 139
  claims_with_evidence: 135
  claims_without_evidence: 4
confidence_derived: 0.97
---

# 根拠レポート：lib-errors 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧CSVの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：135 / 139、根拠なし：4
- 優先レビュー（高）
  1. **C-054 (AbstractMethodError constructor)**：スタックトレースからメソッド名を動的取得するため、実行環境依存の動作がある
  2. **C-063 (sortModules)**：モジュール内プライベート関数のため外部から直接テストが困難
  3. **C-064/C-065 (createModulesListMessage)**：moduleGraphのモック構成に依存し、正確な期待値の検証が難しい
  4. **C-089 (ModuleBuildError hideStack+empty message)**：hideStack=true かつ message='' の複合条件での挙動は実装の細部に依存

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `lib/WebpackError.js` - 基底エラークラスの定義（constructor, inspect, serialize, deserialize）
- E-02: `lib/HookWebpackError.js` - フックエラークラスとユーティリティ関数（makeWebpackError, makeWebpackErrorCallback, tryRunOrWebpackError）
- E-03: `lib/ErrorHelpers.js` - スタックトレース整形ユーティリティ（cutOffByFlag, cutOffLoaderExecution, cutOffWebpackOptions, cutOffMultilineMessage, cutOffMessage, cleanUp, cleanUpWebpackOptions）
- E-04: `lib/formatLocation.js` - ロケーションフォーマット関数（formatPosition, formatLocation）
- E-05: `lib/AbstractMethodError.js` - 抽象メソッドエラー（createMessage, Message, AbstractMethodError）
- E-06: `lib/AsyncDependencyToInitialChunkError.js` - 非同期依存チャンクエラー
- E-07: `lib/CaseSensitiveModulesWarning.js` - 大文字小文字警告（sortModules, createModulesListMessage, CaseSensitiveModulesWarning）
- E-08: `lib/ChunkRenderError.js` - チャンクレンダリングエラー
- E-09: `lib/CodeGenerationError.js` - コード生成エラー
- E-10: `lib/CommentCompilationWarning.js` - コメントコンパイル警告
- E-11: `lib/ConcurrentCompilationError.js` - 並行コンパイルエラー
- E-12: `lib/EnvironmentNotSupportAsyncWarning.js` - 非同期未サポート警告（constructor, static check）
- E-13: `lib/FalseIIFEUmdWarning.js` - IIFE UMD警告
- E-14: `lib/HarmonyLinkingError.js` - Harmonyリンキングエラー
- E-15: `lib/InvalidDependenciesModuleWarning.js` - 無効依存警告
- E-16: `lib/NoModeWarning.js` - モード未設定警告
- E-17: `lib/NodeStuffInWebError.js` - Node.js Web非互換エラー
- E-18: `lib/UnhandledSchemeError.js` - 未ハンドルスキームエラー
- E-19: `lib/UnsupportedFeatureWarning.js` - 未サポート機能警告
- E-20: `lib/ModuleBuildError.js` - モジュールビルドエラー（constructor, serialize, deserialize）
- E-21: `lib/ModuleDependencyError.js` - モジュール依存エラー
- E-22: `lib/ModuleDependencyWarning.js` - モジュール依存警告
- E-23: `lib/ModuleError.js` - モジュールエラー（constructor, serialize, deserialize）
- E-24: `lib/ModuleWarning.js` - モジュール警告（constructor, serialize, deserialize）
- E-25: `lib/ModuleHashingError.js` - モジュールハッシングエラー
- E-26: `lib/ModuleNotFoundError.js` - モジュール未発見エラー（previouslyPolyfilledBuiltinModules定数含む）
- E-27: `lib/ModuleParseError.js` - モジュールパースエラー（WASM_HEADER定数、constructor, serialize, deserialize）
- E-28: `lib/ModuleRestoreError.js` - モジュール復元エラー
- E-29: `lib/ModuleStoreError.js` - モジュールストアエラー

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | WebpackError constructorでメッセージ付きインスタンスが生成される | E-01 (L17-38) | ○ |
| C-002 | WebpackError constructorでcauseオプションが設定される | E-01 (L23-24) | ○ |
| C-003 | WebpackError constructorでデフォルトプロパティがundefined | E-01 (L27-37) | ○ |
| C-004 | WebpackError constructorでmessage=undefinedが処理される | E-01 (L23) | ○ |
| C-005 | WebpackErrorがErrorを継承している | E-01 (L17) | ○ |
| C-006 | inspect()がstack+detailsを返す | E-01 (L43-49) | ○ |
| C-007 | inspect()でdetailsなしの場合stackのみ返す | E-01 (L43-49) | ○ |
| C-008 | inspect()でcauseありの場合stackとcauseを返す | E-01 (L43-49) | ○ |
| C-009 | serialize()で7プロパティを書き出す | E-01 (L54-62) | ○ |
| C-010 | deserialize()で7プロパティを復元する | E-01 (L67-75) | ○ |
| C-011 | HookWebpackError constructorで内部エラーとフック名が設定される | E-02 (L28-38) | ○ |
| C-012 | HookWebpackError constructorでhideStack=true | E-02 (L35) | ○ |
| C-013 | HookWebpackError constructorでstackに内部エラースタック追加 | E-02 (L36) | ○ |
| C-014 | HookWebpackError constructorでdetailsにプラグイン情報設定 | E-02 (L37) | ○ |
| C-015 | HookWebpackError constructorでerror=null処理 | E-02 (L29) | ○ |
| C-016 | HookWebpackErrorがWebpackErrorを継承 | E-02 (L22) | ○ |
| C-017 | HookWebpackError serialize | E-02 (L43-49) | ○ |
| C-018 | HookWebpackError deserialize | E-02 (L55-62) | ○ |
| C-019 | makeWebpackErrorでWebpackError以外をラップ | E-02 (L74-77) | ○ |
| C-020 | makeWebpackErrorでWebpackErrorをパススルー | E-02 (L75) | ○ |
| C-021 | makeWebpackErrorCallbackでerr=null時の正常パス | E-02 (L96) | ○ |
| C-022 | makeWebpackErrorCallbackでWebpackErrorパススルー | E-02 (L89-91) | ○ |
| C-023 | makeWebpackErrorCallbackで通常ErrorをHookWebpackErrorにラップ | E-02 (L93) | ○ |
| C-024 | tryRunOrWebpackErrorで正常実行結果を返す | E-02 (L110-118) | ○ |
| C-025 | tryRunOrWebpackErrorでWebpackErrorを再スロー | E-02 (L113-114) | ○ |
| C-026 | tryRunOrWebpackErrorで通常ErrorをHookWebpackErrorにラップしてスロー | E-02 (L116) | ○ |
| C-027 | cutOffByFlagでフラグ行以降をカット | E-03 (L17-25) | ○ |
| C-028 | cutOffByFlagでフラグなしの場合元のスタック返却 | E-03 (L17-25) | ○ |
| C-029 | cutOffByFlagで空文字列の処理 | E-03 (L17-25) | ○ |
| C-030 | cutOffByFlagで1行のみフラグ含む場合 | E-03 (L17-25) | ○ |
| C-031 | cutOffLoaderExecutionでLOADER_EXECUTIONフラグカット | E-03 (L8, L31) | ○ |
| C-032 | cutOffWebpackOptionsでWEBPACK_OPTIONSフラグカット | E-03 (L10, L37) | ○ |
| C-033 | cutOffMultilineMessageでメッセージ行除去 | E-03 (L44-56) | ○ |
| C-034 | cutOffMultilineMessageで空メッセージの場合 | E-03 (L44-56) | ○ |
| C-035 | cutOffMessageで最初の行がメッセージと一致時除去 | E-03 (L63-70) | ○ |
| C-036 | cutOffMessageで不一致時元のスタック返却 | E-03 (L69) | ○ |
| C-037 | cutOffMessageで改行なしメッセージ一致時空文字列 | E-03 (L65-66) | ○ |
| C-038 | cutOffMessageで改行なしメッセージ不一致時元の文字列 | E-03 (L66) | ○ |
| C-039 | cleanUpでローダーフラグとメッセージカット | E-03 (L77-81) | ○ |
| C-040 | cleanUpWebpackOptionsでオプションフラグとメッセージカット | E-03 (L88-92) | ○ |
| C-041 | formatPositionでline+column時'line:column'返却 | E-04 (L16-24) | ○ |
| C-042 | formatPositionでlineのみ時'line:?'返却 | E-04 (L19-20) | ○ |
| C-043 | formatPositionでnull入力時空文字列 | E-04 (L16, L23) | ○ |
| C-044 | formatPositionでundefined入力時空文字列 | E-04 (L16, L23) | ○ |
| C-045 | formatPositionで非オブジェクト入力時空文字列 | E-04 (L16, L23) | ○ |
| C-046 | formatLocationで同一行のstart-endColumn形式 | E-04 (L32-41) | ○ |
| C-047 | formatLocationで行範囲のみのstartLine-endLine形式 | E-04 (L42-51) | ○ |
| C-048 | formatLocationで異なる行のstart-end形式 | E-04 (L52) | ○ |
| C-049 | formatLocationでstartのみの場合 | E-04 (L54-55) | ○ |
| C-050 | formatLocationでname+indexの場合 | E-04 (L57-58) | ○ |
| C-051 | formatLocationでnameのみの場合 | E-04 (L60-61) | ○ |
| C-052 | formatLocationでnull入力時空文字列 | E-04 (L31, L64) | ○ |
| C-053 | formatLocationでundefined入力時空文字列 | E-04 (L31, L64) | ○ |
| C-054 | AbstractMethodError constructorでメソッド名がメッセージに含まれる | E-05 (L23-35, L48-53) | △ |
| C-055 | AbstractMethodErrorがWebpackErrorを継承 | E-05 (L48) | ○ |
| C-056 | createMessageでメソッド名あり | E-05 (L16-18) | ○ |
| C-057 | createMessageでメソッド名なし | E-05 (L16-18) | ○ |
| C-058 | AsyncDependencyToInitialChunkError constructor基本 | E-06 (L20-31) | ○ |
| C-059 | AsyncDependencyToInitialChunkError module/loc設定 | E-06 (L28-30) | ○ |
| C-060 | CaseSensitiveModulesWarning constructor基本 | E-07 (L58-69) | ○ |
| C-061 | CaseSensitiveModulesWarning name設定 | E-07 (L67) | ○ |
| C-062 | CaseSensitiveModulesWarning module設定 | E-07 (L68) | ○ |
| C-063 | sortModulesのソート正確性 | E-07 (L17-27) | △ |
| C-064 | createModulesListMessageの基本生成 | E-07 (L34-50) | △ |
| C-065 | createModulesListMessageのUsed by情報 | E-07 (L42-47) | △ |
| C-066 | ChunkRenderError constructor基本 | E-08 (L19-34) | ○ |
| C-067 | ChunkRenderError message設定 | E-08 (L31) | ○ |
| C-068 | ChunkRenderError details設定 | E-08 (L33) | ○ |
| C-069 | CodeGenerationError constructor基本 | E-09 (L18-31) | ○ |
| C-070 | CommentCompilationWarning constructor基本 | E-10 (L18-25) | ○ |
| C-071 | ConcurrentCompilationError constructor基本 | E-11 (L10-18) | ○ |
| C-072 | EnvironmentNotSupportAsyncWarning constructor基本 | E-12 (L21-31) | ○ |
| C-073 | EnvironmentNotSupportAsyncWarning module設定 | E-12 (L30) | ○ |
| C-074 | EnvironmentNotSupportAsyncWarning check静的メソッドで警告追加 | E-12 (L39-43) | ○ |
| C-075 | EnvironmentNotSupportAsyncWarning checkでサポート環境は警告なし | E-12 (L40) | ○ |
| C-076 | FalseIIFEUmdWarning constructor基本 | E-13 (L11-17) | ○ |
| C-077 | HarmonyLinkingError constructor基本 | E-14 (L9-17) | ○ |
| C-078 | InvalidDependenciesModuleWarning constructor基本 | E-15 (L18-36) | ○ |
| C-079 | InvalidDependenciesModuleWarning 3件以下でdetails空 | E-15 (L28-30, L34) | ○ |
| C-080 | InvalidDependenciesModuleWarning 4件以上でand more | E-15 (L28-29) | ○ |
| C-081 | InvalidDependenciesModuleWarning 空依存リスト | E-15 (L19) | ○ |
| C-082 | NoModeWarning constructor基本 | E-16 (L10-23) | ○ |
| C-083 | NodeStuffInWebError constructor基本 | E-17 (L19-30) | ○ |
| C-084 | UnhandledSchemeError constructor基本 | E-18 (L16-25) | ○ |
| C-085 | UnsupportedFeatureWarning constructor基本 | E-19 (L18-27) | ○ |
| C-086 | ModuleBuildError constructor(hideStack=false) | E-20 (L22-56) | ○ |
| C-087 | ModuleBuildError constructorでfrom情報 | E-20 (L27) | ○ |
| C-088 | ModuleBuildError constructor(hideStack=true)でdetails設定 | E-20 (L33-40) | ○ |
| C-089 | ModuleBuildError hideStack=trueかつmessage空の場合 | E-20 (L38-39) | ○ |
| C-090 | ModuleBuildError stackなしmessageありの場合 | E-20 (L41-42) | ○ |
| C-091 | ModuleBuildError stackもmessageもなしの場合 | E-20 (L43-44) | ○ |
| C-092 | ModuleBuildError errが文字列の場合 | E-20 (L47) | ○ |
| C-093 | ModuleBuildError errがnullの場合 | E-20 (L29, L47) | ○ |
| C-094 | ModuleBuildError serialize | E-20 (L61-67) | ○ |
| C-095 | ModuleBuildError deserialize | E-20 (L72-78) | ○ |
| C-096 | ModuleDependencyError constructor基本 | E-21 (L21-41) | ○ |
| C-097 | ModuleDependencyError details設定(hideStack=false) | E-21 (L26-29) | ○ |
| C-098 | ModuleDependencyError hideStack=trueの場合 | E-21 (L35-39) | ○ |
| C-099 | ModuleDependencyWarning constructor基本 | E-22 (L21-41) | ○ |
| C-100 | ModuleDependencyWarning details設定(hideStack=false) | E-22 (L26-29) | ○ |
| C-101 | ModuleDependencyWarning err=nullの場合 | E-22 (L22) | ○ |
| C-102 | ModuleError constructor基本 | E-23 (L20-42) | ○ |
| C-103 | ModuleError from情報 | E-23 (L23) | ○ |
| C-104 | ModuleError details(スタック)設定 | E-23 (L38-41) | ○ |
| C-105 | ModuleError messageなしオブジェクト | E-23 (L25-29) | ○ |
| C-106 | ModuleError serialize | E-23 (L47-53) | ○ |
| C-107 | ModuleError deserialize | E-23 (L58-64) | ○ |
| C-108 | ModuleWarning constructor基本 | E-24 (L20-39) | ○ |
| C-109 | ModuleWarning from情報 | E-24 (L23) | ○ |
| C-110 | ModuleWarning details(スタック)設定 | E-24 (L36-39) | ○ |
| C-111 | ModuleWarning 非オブジェクト警告 | E-24 (L28-29) | ○ |
| C-112 | ModuleWarning serialize | E-24 (L44-50) | ○ |
| C-113 | ModuleWarning deserialize | E-24 (L55-61) | ○ |
| C-114 | ModuleHashingError constructor基本 | E-25 (L18-27) | ○ |
| C-115 | ModuleNotFoundError constructor基本 | E-26 (L50-87) | ○ |
| C-116 | ModuleNotFoundError ポリフィル情報(crypto) | E-26 (L13-42, L54-77) | ○ |
| C-117 | ModuleNotFoundError ポリフィル非対象 | E-26 (L55-61) | ○ |
| C-118 | ModuleNotFoundError details設定 | E-26 (L83) | ○ |
| C-119 | ModuleNotFoundError module/loc/error設定 | E-26 (L82-86) | ○ |
| C-120 | ModuleParseError ローダーあり | E-27 (L47-52) | ○ |
| C-121 | ModuleParseError ローダーなし | E-27 (L43-46) | ○ |
| C-122 | ModuleParseError ローダー空配列 | E-27 (L53-55) | ○ |
| C-123 | ModuleParseError WASMバイナリ検出 | E-27 (L16, L30-42) | ○ |
| C-124 | ModuleParseError WASM型指定済み | E-27 (L33) | ○ |
| C-125 | ModuleParseError loc付きソース表示 | E-27 (L58-87) | ○ |
| C-126 | ModuleParseError バイナリファイルソース省略 | E-27 (L67-72) | ○ |
| C-127 | ModuleParseError locなしstackあり | E-27 (L88-90) | ○ |
| C-128 | ModuleParseError serialize | E-27 (L103-109) | ○ |
| C-129 | ModuleParseError deserialize | E-27 (L114-120) | ○ |
| C-130 | ModuleRestoreError constructor基本 | E-28 (L17-42) | ○ |
| C-131 | ModuleRestoreError stackありの場合 | E-28 (L22-24) | ○ |
| C-132 | ModuleRestoreError stackなしmessageあり | E-28 (L25-26) | ○ |
| C-133 | ModuleRestoreError 文字列エラー | E-28 (L31) | ○ |
| C-134 | ModuleRestoreError nullエラー | E-28 (L21, L31) | ○ |
| C-135 | ModuleStoreError constructor基本 | E-29 (L17-42) | ○ |
| C-136 | ModuleStoreError stackありの場合 | E-29 (L22-24) | ○ |
| C-137 | ModuleStoreError stackなしmessageあり | E-29 (L25-26) | ○ |
| C-138 | ModuleStoreError 文字列エラー | E-29 (L31) | ○ |
| C-139 | ModuleStoreError nullエラー | E-29 (L21, L31) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-054 (AbstractMethodError constructor)**: `Message`コンストラクタ内でError.captureStackTraceを使用してスタックトレースからメソッド名を動的取得しているため、実行環境（Node.jsバージョン等）によってスタックトレースの形式が異なる可能性がある。テスト時にスタックトレースの形式が期待通りであることの保証が必要。
  - 候補：Node.js V8エンジンのスタックトレースフォーマット仕様 / 各バージョンの互換性情報
- **C-063 (sortModules)**: モジュール内のプライベート関数であり、外部からの直接テストには関数のエクスポートまたはCaseSensitiveModulesWarningを経由した間接テストが必要。
  - 候補：CaseSensitiveModulesWarningのconstructorを通じた間接テスト
- **C-064/C-065 (createModulesListMessage)**: moduleGraphのgetIncomingConnectionsByOriginModuleメソッドの返却値の構造が外部定義であるため、正確なモック構成にはModuleGraphの実装詳細が必要。
  - 候補：lib/ModuleGraph.js のgetIncomingConnectionsByOriginModule実装

## 5) リスクフラグ（レビュー観点）
- **リスク1 (中リスク)**: AbstractMethodErrorのスタックトレース解析は実行環境依存。CI環境とローカル環境で挙動が異なる可能性がある。
- **リスク0 (低リスク)**: 大多数のエラークラスは単純なコンストラクタであり、テストケースの網羅性は高い。
- **リスク1 (中リスク)**: ModuleParseErrorのWASMバイナリ検出は、Buffer.fromの使用とマジックバイトの一致に依存しており、テストデータの正確性が重要。
- **リスク0 (低リスク)**: serialize/deserializeのテストはモック関数で十分カバー可能だが、実際のシリアライゼーションフローとの統合テストは本テストケース一覧のスコープ外。

## 6) レビュアーチェックリスト（最小）
- [ ] AbstractMethodError (C-054) のテストで、スタックトレースからのメソッド名取得が実行環境で動作するか確認
- [ ] sortModulesとcreateModulesListMessage (C-063, C-064, C-065) はCaseSensitiveModulesWarningの間接テストでカバーされているか確認
- [ ] ModuleNotFoundError (C-116) のポリフィル案内テストで、previouslyPolyfilledBuiltinModulesの全モジュールをカバーする必要があるか検討
- [ ] ModuleParseError (C-123) のWASMバイナリ検出テストで使用するバイナリデータが正しいか確認
- [ ] serialize/deserializeテストのモック構成が実際のObjectMiddlewareの呼び出し仕様と整合しているか確認
- [ ] 全エラークラスがWebpackErrorを継承していることの確認テストが十分か確認
