---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 125
  claims_with_evidence: 119
  claims_without_evidence: 6
confidence_derived: 0.95
---

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

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：119 / 125、根拠なし：6
- 優先レビュー（高）
  1. **UT-DLL-003（DllPlugin constructor異常系）**：バリデーションスキーマファイルの具体的なルールは未確認
  2. **UT-DLL-011（DllReferencePlugin constructor異常系）**：バリデーションスキーマファイルの具体的なルールは未確認
  3. **UT-DLL-105, UT-DLL-106（extname境界値）**：拡張子なしやドット末尾のケースの正確な挙動はコードから推論
  4. **UT-DLL-109（ManifestPlugin constructor異常系）**：バリデーションスキーマファイルの具体的なルールは未確認

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `lib/DllPlugin.js` - DllPluginクラスの実装（constructor, apply）
- E-02: `lib/DllReferencePlugin.js` - DllReferencePluginクラスの実装（constructor, apply, DllManifestError）
- E-03: `lib/DllEntryPlugin.js` - DllEntryPluginクラスの実装（constructor, apply）
- E-04: `lib/DllModule.js` - DllModuleクラスの実装（全メソッド）
- E-05: `lib/DllModuleFactory.js` - DllModuleFactoryクラスの実装（constructor, create）
- E-06: `lib/DelegatedPlugin.js` - DelegatedPluginクラスの実装（constructor, apply）
- E-07: `lib/DelegatedModule.js` - DelegatedModuleクラスの実装（全メソッド）
- E-08: `lib/DelegatedModuleFactoryPlugin.js` - DelegatedModuleFactoryPluginクラスの実装（constructor, apply）
- E-09: `lib/LibManifestPlugin.js` - LibManifestPluginクラスの実装（constructor, apply）
- E-10: `lib/LibraryTemplatePlugin.js` - LibraryTemplatePluginクラスの実装（constructor, apply）
- E-11: `lib/ManifestPlugin.js` - ManifestPluginクラスとextname関数の実装

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | UT-DLL-001: DllPlugin constructorで有効なオプションが設定される | E-01 (L29-39) | ○ |
| C-02 | UT-DLL-002: entryOnly=false指定時の動作 | E-01 (L36-38) | ○ |
| C-03 | UT-DLL-003: 不正オプションでバリデーションエラー | E-01 (L18-25) | △ |
| C-04 | UT-DLL-004: 静的entryでDllEntryPluginが適用される | E-01 (L47-58) | ○ |
| C-05 | UT-DLL-005: 複数エントリでDllEntryPlugin複数生成 | E-01 (L49-58) | ○ |
| C-06 | UT-DLL-006: 動的エントリでエラースロー | E-01 (L59-63) | ○ |
| C-07 | UT-DLL-007: LibManifestPluginが適用される | E-01 (L66) | ○ |
| C-08 | UT-DLL-008: entryOnly=falseでFlagAllModulesAsUsedPlugin適用 | E-01 (L67-69) | ○ |
| C-09 | UT-DLL-009: entryOnly=trueでFlagAllModulesAsUsedPlugin非適用 | E-01 (L67-69) | ○ |
| C-10 | UT-DLL-010: DllReferencePlugin constructor正常系 | E-02 (L41-46) | ○ |
| C-11 | UT-DLL-011: DllReferencePlugin constructor異常系 | E-02 (L24-31) | △ |
| C-12 | UT-DLL-012: DelegatedSourceDependencyファクトリ登録 | E-02 (L54-62) | ○ |
| C-13 | UT-DLL-013: manifestファイルパス読み込み | E-02 (L64-99) | ○ |
| C-14 | UT-DLL-014: ファイル読み込みエラー処理 | E-02 (L70) | ○ |
| C-15 | UT-DLL-015: JSONパースエラーでDllManifestError | E-02 (L79-95) | ○ |
| C-16 | UT-DLL-016: manifestオブジェクト直接指定 | E-02 (L100-103) | ○ |
| C-17 | UT-DLL-017: compileフックでプラグイン適用 | E-02 (L105-153) | ○ |
| C-18 | UT-DLL-018: manifestからデータ取得 | E-02 (L128-132) | ○ |
| C-19 | UT-DLL-019: data.error時の早期リターン | E-02 (L121-123) | ○ |
| C-20 | UT-DLL-020: パースエラーをcompilation.errorsに追加 | E-02 (L155-171) | ○ |
| C-21 | UT-DLL-021: fileDependenciesへの追加 | E-02 (L169) | ○ |
| C-22 | UT-DLL-022: DllManifestErrorメッセージ形式 | E-02 (L176-187) | ○ |
| C-23 | UT-DLL-023: DllEntryPlugin constructor | E-03 (L26-30) | ○ |
| C-24 | UT-DLL-024: ファクトリ登録（DllEntryPlugin） | E-03 (L38-51) | ○ |
| C-25 | UT-DLL-025: makeフックでエントリ追加 | E-03 (L52-72) | ○ |
| C-26 | UT-DLL-026: EntryDependencyのloc設定 | E-03 (L56-62) | ○ |
| C-27 | UT-DLL-027: addEntryエラー伝播 | E-03 (L67-69) | ○ |
| C-28 | UT-DLL-028: 空entries | E-03 (L56) | ○ |
| C-29 | UT-DLL-029: DllModule constructor | E-04 (L47-54) | ○ |
| C-30 | UT-DLL-030: getSourceTypes | E-04 (L59-61) | ○ |
| C-31 | UT-DLL-031: identifier | E-04 (L66-68) | ○ |
| C-32 | UT-DLL-032: readableIdentifier | E-04 (L74-76) | ○ |
| C-33 | UT-DLL-033: build処理 | E-04 (L86-90) | ○ |
| C-34 | UT-DLL-034: codeGeneration | E-04 (L96-107) | ○ |
| C-35 | UT-DLL-035: needBuild（未ビルド） | E-04 (L114-116) | ○ |
| C-36 | UT-DLL-036: needBuild（ビルド済み） | E-04 (L114-116) | ○ |
| C-37 | UT-DLL-037: size=12 | E-04 (L122-124) | ○ |
| C-38 | UT-DLL-038: updateHash | E-04 (L131-134) | ○ |
| C-39 | UT-DLL-039: updateHash（空名前） | E-04 (L132) | ○ |
| C-40 | UT-DLL-040: serialize | E-04 (L139-142) | ○ |
| C-41 | UT-DLL-041: deserialize | E-04 (L147-150) | ○ |
| C-42 | UT-DLL-042: updateCacheModule | E-04 (L159-162) | ○ |
| C-43 | UT-DLL-043: cleanupForCache | E-04 (L167-170) | ○ |
| C-44 | UT-DLL-044: DllModuleFactory constructor | E-05 (L16-19) | ○ |
| C-45 | UT-DLL-045: DllModuleFactory create | E-05 (L26-35) | ○ |
| C-46 | UT-DLL-046: 生成モジュールプロパティ検証 | E-05 (L29-33) | ○ |
| C-47 | UT-DLL-047: DelegatedPlugin constructor | E-06 (L20-22) | ○ |
| C-48 | UT-DLL-048: DelegatedPlugin compilation | E-06 (L30-38) | ○ |
| C-49 | UT-DLL-049: DelegatedPlugin compile | E-06 (L40-45) | ○ |
| C-50 | UT-DLL-050: associatedObjectForCache | E-06 (L42) | ○ |
| C-51 | UT-DLL-051: DelegatedModule constructor | E-07 (L69-83) | ○ |
| C-52 | UT-DLL-052: DelegatedModule getSourceTypes | E-07 (L88-90) | ○ |
| C-53 | UT-DLL-053: libIdent（文字列） | E-07 (L96-99) | ○ |
| C-54 | UT-DLL-054: libIdent（Module） | E-07 (L96-99) | ○ |
| C-55 | UT-DLL-055: DelegatedModule identifier | E-07 (L105-109) | ○ |
| C-56 | UT-DLL-056: DelegatedModule readableIdentifier | E-07 (L115-117) | ○ |
| C-57 | UT-DLL-057: DelegatedModule needBuild（未ビルド） | E-07 (L124-126) | ○ |
| C-58 | UT-DLL-058: DelegatedModule needBuild（ビルド済み） | E-07 (L124-126) | ○ |
| C-59 | UT-DLL-059: DelegatedModule build | E-07 (L136-149) | ○ |
| C-60 | UT-DLL-060: 依存関係リセット | E-07 (L140) | ○ |
| C-61 | UT-DLL-061: exports未定義フォールバック | E-07 (L146) | ○ |
| C-62 | UT-DLL-062: codeGeneration（require型） | E-07 (L155-198, L175-177) | ○ |
| C-63 | UT-DLL-063: codeGeneration（object型） | E-07 (L178-180) | ○ |
| C-64 | UT-DLL-064: sourceModule欠損時 | E-07 (L161-164) | ○ |
| C-65 | UT-DLL-065: OriginalSource使用 | E-07 (L188-189) | ○ |
| C-66 | UT-DLL-066: RawSource使用 | E-07 (L190-191) | ○ |
| C-67 | UT-DLL-067: DelegatedModule size=42 | E-07 (L204-206) | ○ |
| C-68 | UT-DLL-068: DelegatedModule updateHash | E-07 (L213-217) | ○ |
| C-69 | UT-DLL-069: DelegatedModule serialize | E-07 (L222-231) | ○ |
| C-70 | UT-DLL-070: DelegatedModule deserialize | E-07 (L237-248) | ○ |
| C-71 | UT-DLL-071: DelegatedModule updateCacheModule | E-07 (L257-264) | ○ |
| C-72 | UT-DLL-072: DelegatedModule cleanupForCache | E-07 (L269-274) | ○ |
| C-73 | UT-DLL-073: DelegatedModuleFactoryPlugin constructorデフォルト | E-08 (L35-39) | ○ |
| C-74 | UT-DLL-074: DelegatedModuleFactoryPlugin constructorカスタム | E-08 (L37-38) | ○ |
| C-75 | UT-DLL-075: scope指定時のfactorizeフック | E-08 (L46-95) | ○ |
| C-76 | UT-DLL-076: scope未指定時のmoduleフック | E-08 (L96-112) | ○ |
| C-77 | UT-DLL-077: scopeモードでのDelegatedModule生成 | E-08 (L48-70) | ○ |
| C-78 | UT-DLL-078: 拡張子フォールバック | E-08 (L71-91) | ○ |
| C-79 | UT-DLL-079: scope不一致スキップ | E-08 (L93) | ○ |
| C-80 | UT-DLL-080: scopeプレフィックス不一致 | E-08 (L53) | ○ |
| C-81 | UT-DLL-081: 非scopeモードでの一致 | E-08 (L97-108) | ○ |
| C-82 | UT-DLL-082: 非scopeモードでの不一致 | E-08 (L110) | ○ |
| C-83 | UT-DLL-083: libIdentがnull | E-08 (L99) | ○ |
| C-84 | UT-DLL-084: LibManifestPlugin constructor | E-09 (L43-45) | ○ |
| C-85 | UT-DLL-085: マニフェストファイル出力 | E-09 (L52-141) | ○ |
| C-86 | UT-DLL-086: format=true | E-09 (L120-121) | ○ |
| C-87 | UT-DLL-087: format=false | E-09 (L122) | ○ |
| C-88 | UT-DLL-088: entryOnly=trueフィルタ | E-09 (L87-95) | ○ |
| C-89 | UT-DLL-089: name設定 | E-09 (L76-81) | ○ |
| C-90 | UT-DLL-090: type設定 | E-09 (L116) | ○ |
| C-91 | UT-DLL-091: initialチャンクフィルタ | E-09 (L63-66) | ○ |
| C-92 | UT-DLL-092: 重複パスエラー | E-09 (L71-74) | ○ |
| C-93 | UT-DLL-093: mkdirpエラー | E-09 (L131) | ○ |
| C-94 | UT-DLL-094: providedExportsが配列 | E-09 (L107-109) | ○ |
| C-95 | UT-DLL-095: providedExportsが非配列 | E-09 (L107-109) | ○ |
| C-96 | UT-DLL-096: libIdentがnull | E-09 (L100) | ○ |
| C-97 | UT-DLL-097: LibraryTemplatePlugin constructor | E-10 (L26-34) | ○ |
| C-98 | UT-DLL-098: デフォルトtype='var' | E-10 (L28) | ○ |
| C-99 | UT-DLL-099: output.library設定 | E-10 (L42-43) | ○ |
| C-100 | UT-DLL-100: EnableLibraryPlugin適用 | E-10 (L44) | ○ |
| C-101 | UT-DLL-101: extname通常 | E-11 (L44-52) | ○ |
| C-102 | UT-DLL-102: extnameクエリパラメータ | E-11 (L45) | ○ |
| C-103 | UT-DLL-103: extname gz拡張子 | E-11 (L49-51) | ○ |
| C-104 | UT-DLL-104: extname map拡張子 | E-11 (L49-51) | ○ |
| C-105 | UT-DLL-105: extname拡張子なし | E-11 (L44-52) | △ |
| C-106 | UT-DLL-106: extname末尾ドット | E-11 (L47-48) | △ |
| C-107 | UT-DLL-107: ManifestPluginデフォルトオプション | E-11 (L58-69) | ○ |
| C-108 | UT-DLL-108: ManifestPluginカスタムオプション | E-11 (L62-68) | ○ |
| C-109 | UT-DLL-109: ManifestPlugin バリデーションエラー | E-11 (L31-38) | △ |
| C-110 | UT-DLL-110: processAssetsフック | E-11 (L77-238) | ○ |
| C-111 | UT-DLL-111: entrypoints=true | E-11 (L125-155) | ○ |
| C-112 | UT-DLL-112: entrypoints=false | E-11 (L125) | ○ |
| C-113 | UT-DLL-113: HotUpdateChunkスキップ | E-11 (L204) | ○ |
| C-114 | UT-DLL-114: HMRアセットスキップ | E-11 (L218-220) | ○ |
| C-115 | UT-DLL-115: filterオプション | E-11 (L192-198) | ○ |
| C-116 | UT-DLL-116: generateオプション | E-11 (L227-229) | ○ |
| C-117 | UT-DLL-117: publicPath置換 | E-11 (L181-184) | ○ |
| C-118 | UT-DLL-118: publicPath='auto' | E-11 (L183) | ○ |
| C-119 | UT-DLL-119: sourceFilename追跡 | E-11 (L188-189) | ○ |
| C-120 | UT-DLL-120: auxiliaryFiles処理 | E-11 (L206-208) | ○ |
| C-121 | UT-DLL-121: ファイル重複排除 | E-11 (L169-170) | ○ |
| C-122 | UT-DLL-122: カスタムserialize | E-11 (L233) | ○ |
| C-123 | UT-DLL-123: manifest:trueフラグ | E-11 (L234) | ○ |
| C-124 | UT-DLL-124: entrypoint parents設定 | E-11 (L143-151) | ○ |
| C-125 | UT-DLL-125: parents空配列 | E-11 (L147-149) | ○ |

## 4) 不足情報（Unknown / Missing）
- バリデーションスキーマの具体的な内容（C-03, C-11, C-109）: 異常系テストケースの入力値・期待結果はスキーマファイルの確認が必要
  - 候補：`schemas/plugins/DllPlugin.json` / `schemas/plugins/DllReferencePlugin.json` / `schemas/plugins/ManifestPlugin.json`
- extname関数の境界値ケース（C-105, C-106）: 拡張子のないファイル名やドットのみのファイル名の挙動は実行テストで確認すべき
  - 候補：extname関数の実行テスト / Node.js path.extname との比較

## 5) リスクフラグ（レビュー観点）
- 0: DllPlugin, DllReferencePlugin, DllEntryPlugin, DllModule, DllModuleFactory, DelegatedPlugin, DelegatedModule, LibraryTemplatePlugin - ソースコードから直接的に読み取れるテストケース
- 1: DelegatedModuleFactoryPlugin, LibManifestPlugin, ManifestPlugin - 非同期処理やファイルシステム操作を含み、モック設計の正確性に依存
- 1: バリデーション関連テストケース（C-03, C-11, C-109）- スキーマファイル未確認のため入力値の妥当性が不明

## 6) レビュアーチェックリスト（最小）
- [ ] バリデーションスキーマファイル（DllPlugin.json, DllReferencePlugin.json, ManifestPlugin.json）を確認し、異常系テストケースの入力値が適切か検証する
- [ ] extname関数の境界値テスト（UT-DLL-105, UT-DLL-106）の期待結果が正しいか実行テストで確認する
- [ ] DelegatedModuleFactoryPlugin.apply のscope/非scopeモードのテストケースが全条件分岐をカバーしているか確認する
- [ ] LibManifestPlugin.apply の非同期処理フローのテストケースが全エラーパスをカバーしているか確認する
- [ ] ManifestPlugin.apply の多数の内部関数（removeHash, getName, handleFile）の境界値テストが十分か確認する
- [ ] 各プラグインのapplyメソッドでwebpackフックに登録されるコールバックのテストが、フックの呼び出し順序を考慮しているか確認する
