---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 146
  claims_with_evidence: 142
  claims_without_evidence: 4
confidence_derived: 0.97
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：142 / 146、根拠なし：4
- 優先レビュー（高）
  1. **UT-RSV-072（PnP環境対応）**：process.versions.pnpの環境依存テスト
  2. **UT-RSV-093（UNCパス対応）**：Windows固有のパス処理
  3. **UT-RSV-117（FIFO判定）**：FIFOファイルの特殊ケース
  4. **UT-RSV-095（グローバルパス取得）**：環境依存のrequire.resolve.paths

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

- E-01: `packages/jest-resolve/src/resolver.ts` - Resolverクラスのメイン実装
- E-02: `packages/jest-resolve/src/defaultResolver.ts` - デフォルトリゾルバ実装
- E-03: `packages/jest-resolve/src/ModuleNotFoundError.ts` - エラークラス実装
- E-04: `packages/jest-resolve/src/nodeModulesPaths.ts` - node_modulesパス生成
- E-05: `packages/jest-resolve/src/shouldLoadAsEsm.ts` - ESMモジュール判定
- E-06: `packages/jest-resolve/src/fileWalkers.ts` - ファイルシステム操作
- E-07: `packages/jest-resolve/src/utils.ts` - ユーティリティ関数
- E-08: `packages/jest-resolve/src/types.ts` - 型定義
- E-09: `packages/jest-resolve/src/index.ts` - エクスポート定義
- E-10: `packages/jest-resolve/src/__tests__/resolve.test.ts` - 既存テストファイル

## 3) Claims と根拠の対応（レビューの主戦場）

### Resolverクラス（resolver.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | constructor: デフォルトオプションでインスタンス生成 | E-01 L63-83 | ○ |
| C-02 | constructor: hasCoreModulesのデフォルト値 | E-01 L67-68 | ○ |
| C-03 | constructor: moduleDirectoriesのデフォルト値 | E-01 L69 | ○ |
| C-04 | constructor: nativeプラットフォームサポート判定 | E-01 L76-78 | ○ |
| C-05 | tryCastModuleNotFoundError: エラーキャスト | E-01 L87-100 | ○ |
| C-06 | clearDefaultResolverCache: キャッシュクリア | E-01 L102-105 | ○ |
| C-07 | findNodeModule: モジュール解決 | E-01 L107-140 | ○ |
| C-08 | findNodeModuleAsync: 非同期解決 | E-01 L142-185 | ○ |
| C-09 | resolveModuleFromDirIfExists: モジュール解決 | E-01 L190-263 | ○ |
| C-10 | resolveModule: モジュール解決（エラースロー） | E-01 L344-359 | ○ |
| C-11 | isCoreModule: コアモジュール判定 | E-01 L457-463 | ○ |
| C-12 | normalizeCoreModuleSpecifier: node:プレフィックス処理 | E-01 L465-467 | ○ |
| C-13 | getModule: モジュール取得 | E-01 L469-475 | ○ |
| C-14 | getModulePath: パス変換 | E-01 L477-482 | ○ |
| C-15 | getPackage: パッケージ取得 | E-01 L484-490 | ○ |
| C-16 | getMockModule: モックモジュール取得 | E-01 L492-507 | ○ |
| C-17 | getModulePaths: モジュールパス配列取得 | E-01 L530-544 | ○ |
| C-18 | getGlobalPaths: グローバルパス取得 | E-01 L546-552 | ○ |
| C-19 | getModuleID: モジュールID生成 | E-01 L554-586 | ○ |
| C-20 | resolveStubModuleName: moduleNameMapper適用 | E-01 L738-796 | ○ |
| C-21 | loadResolver: リゾルバロード | E-01 L906-933 | ○ |

### defaultResolver（defaultResolver.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | ビルトインモジュール処理 | E-02 L79-81 | ○ |
| C-23 | PnP環境対応 | E-02 L83-85 | △ |
| C-24 | file://URL処理 | E-02 L87-89 | ○ |
| C-25 | pathsフォールバック | E-02 L125-153 | ○ |
| C-26 | handleResolveResult | E-02 L59-64 | ○ |

### ModuleNotFoundError（ModuleNotFoundError.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | constructor: エラー生成 | E-03 L20-24 | ○ |
| C-28 | buildMessage: メッセージ構築 | E-03 L26-49 | ○ |
| C-29 | duckType: 静的メソッド | E-03 L51-54 | ○ |

### nodeModulesPaths（nodeModulesPaths.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | パス生成基本動作 | E-04 L18-74 | ○ |
| C-31 | Windowsパス対応（C:） | E-04 L32-33 | ○ |
| C-32 | UNCパス対応（\\\\） | E-04 L34-36 | △ |
| C-33 | シンボリックリンク解決 | E-04 L40-46 | ○ |
| C-34 | findGlobalPaths | E-04 L76-88 | △ |

### shouldLoadAsEsm（shouldLoadAsEsm.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | .mjs判定 | E-05 L49-51 | ○ |
| C-36 | .cjs判定 | E-05 L53-55 | ○ |
| C-37 | type:module判定 | E-05 L61-70 | ○ |
| C-38 | キャッシュ動作 | E-05 L32-39 | ○ |
| C-39 | clearCachedLookups | E-05 L18-22 | ○ |

### fileWalkers（fileWalkers.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-40 | getResolver/setResolver | E-06 L16-22 | ○ |
| C-41 | clearFsCache | E-06 L24-29 | ○ |
| C-42 | readPackageCached | E-06 L87-99 | ○ |
| C-43 | findClosestPackageJson | E-06 L104-125 | ○ |
| C-44 | isFile | E-06 L130-132 | ○ |
| C-45 | isDirectory | E-06 L134-136 | ○ |
| C-46 | realpathSync | E-06 L138-140 | ○ |
| C-47 | FIFO判定 | E-06 L53 | △ |

### utils（utils.ts）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-48 | resolveTestEnvironment | E-07 L92-123 | ○ |
| C-49 | resolveWatchPlugin | E-07 L133-152 | ○ |
| C-50 | resolveRunner | E-07 L162-181 | ○ |
| C-51 | resolveSequencer | E-07 L183-202 | ○ |
| C-52 | replaceRootDirInPath | E-07 L21-30 | ○ |

## 4) 不足情報（Unknown / Missing）

| Claim ID | 説明 | 理由 |
|---|---|---|
| C-23 | PnP環境対応 | process.versions.pnpの環境依存であり、通常環境でのテストが困難 |
| C-32 | UNCパス対応 | Windowsプラットフォーム固有の動作であり、macOS/Linuxでは検証不可 |
| C-34 | findGlobalPaths | require.resolve.pathsの戻り値が環境依存 |
| C-47 | FIFO判定 | FIFOファイルの作成・テストは環境依存性が高い |

## 5) リスクフラグ（レビュー観点）

| リスクレベル | 項目 | 説明 |
|---|---|---|
| 1（中リスク） | PnP環境テスト | Yarn PnP環境でのみ発動するコードパスがある |
| 1（中リスク） | Windows固有パス | UNCパス、ドライブレター等のWindows固有処理 |
| 0（低リスク） | キャッシュ動作 | キャッシュの副作用を正しくテストする必要がある |
| 0（低リスク） | 非同期処理 | async/awaitの正しい動作を確認する必要がある |

## 6) レビュアーチェックリスト（最小）

- [ ] Resolverクラスの主要メソッド（resolveModule, findNodeModule）のテストケースが網羅されているか
- [ ] moduleNameMapperのキャプチャグループ置換が正しくテストされているか
- [ ] コアモジュール判定（isCoreModule）の境界条件が適切か
- [ ] ModuleNotFoundErrorのメッセージ構築が正しくテストされているか
- [ ] ESMモジュール判定（shouldLoadAsEsm）の各拡張子パターンがカバーされているか
- [ ] ファイルシステム操作（isFile, isDirectory）のエッジケースが考慮されているか
- [ ] utils.tsの各resolve関数のプレフィックス解決が正しくテストされているか
- [ ] キャッシュのクリア動作が正しくテストされているか
