---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 105
  claims_with_evidence: 105
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：babel-helper-module-transforms 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：105 / 105、根拠なし：0
- 優先レビュー（高）
  1. なし - 全てのテストケースはソースコードに基づいて生成されています

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

- E-01: `packages/babel-helper-module-transforms/src/index.ts` - メインエントリポイント、主要関数の定義
- E-02: `packages/babel-helper-module-transforms/src/rewrite-this.ts` - this書き換え処理
- E-03: `packages/babel-helper-module-transforms/src/get-module-name.ts` - モジュール名取得ロジック
- E-04: `packages/babel-helper-module-transforms/src/dynamic-import.ts` - 動的インポート処理
- E-05: `packages/babel-helper-module-transforms/src/rewrite-live-references.ts` - ライブリファレンス書き換え
- E-06: `packages/babel-helper-module-transforms/src/normalize-and-load-metadata.ts` - メタデータ正規化と読み込み
- E-07: `packages/babel-helper-module-transforms/src/lazy-modules.ts` - 遅延モジュール処理

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

### index.ts の関数群

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | rewriteModuleStatementsAndPrepareHeaderがESモジュールを変換する | E-01 L57-133 | ○ |
| C-02 | strictModeがtrueの場合use strictが追加される | E-01 L97-107 | ○ |
| C-03 | strictModeがfalseの場合use strictが追加されない | E-01 L97 | ○ |
| C-04 | 既存use strictの重複防止 | E-01 L98-100 | ○ |
| C-05 | allowTopLevelThisがfalseの場合rewriteThis呼び出し | E-01 L91-93 | ○ |
| C-06 | allowTopLevelThisがtrueの場合rewriteThis未呼び出し | E-01 L91 | ○ |
| C-07 | hasExportsとstrictの条件で__esModuleヘッダー追加 | E-01 L110-112 | ○ |
| C-08 | noInteropオプションでimportInterop=none | E-01 L64-65 | ○ |
| C-09 | スクリプトモードでassertエラー | E-01 L80 | ○ |
| C-10 | lazyオプションの適用 | E-01 L68-70 | ○ |
| C-11 | ensureStatementsHoistedで_blockHoist=3設定 | E-01 L139-145 | ○ |
| C-12 | ensureStatementsHoistedの空配列対応 | E-01 L141 forEach | ○ |
| C-13 | wrapInterop type=noneでnull返却 | E-01 L156-158 | ○ |
| C-14 | wrapInterop type=defaultでinteropRequireDefault | E-01 L170-171 | ○ |
| C-15 | wrapInterop type=namespaceでinteropRequireWildcard | E-01 L172-173 | ○ |
| C-16 | wrapInterop type=node-namespaceで第2引数true | E-01 L160-164 | ○ |
| C-17 | wrapInterop type=node-defaultでnull | E-01 L165-167 | ○ |
| C-18 | wrapInterop不正typeでエラー | E-01 L175 | ○ |
| C-19 | buildNamespaceInitStatementsの名前空間変数宣言 | E-01 L200-210 | ○ |
| C-20 | constantReexportsでの直接代入形式 | E-01 L215-219 | ○ |
| C-21 | reexportNamespaceのエクスポート文生成 | E-01 L220-238 | ○ |
| C-22 | reexportAllのObject.keysループ生成 | E-01 L239-249 | ○ |
| C-23 | buildNamespaceInitStatementsの空入力対応 | E-01 L196, L200 | ○ |

### rewrite-this.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-24 | トップレベルthisをvoid 0に書き換え | E-02 L14-16 | ○ |
| C-25 | 関数内thisは書き換えない | E-02 L13 environmentVisitor | ○ |
| C-26 | アロー関数内thisは書き換え | E-02 L13 environmentVisitor | ○ |
| C-27 | クラス内thisは書き換えない | E-02 L13 environmentVisitor | ○ |
| C-28 | thisなしでもエラーなし | E-02 L21 traverse | ○ |

### get-module-name.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | moduleIds=falseでnull返却 | E-03 L33 | ○ |
| C-30 | moduleId指定時そのまま返却 | E-03 L36-38 | ○ |
| C-31 | getModuleId関数の結果返却 | E-03 L56-58 | ○ |
| C-32 | getModuleIdがfalsyの場合デフォルト名 | E-03 L58 | ○ |
| C-33 | filenameRelativeから拡張子除去 | E-03 L50 | ○ |
| C-34 | sourceRoot除去 | E-03 L43-48 | ○ |
| C-35 | moduleRootプレフィックス追加 | E-03 L40 | ○ |
| C-36 | バックスラッシュの正規化 | E-03 L54 | ○ |
| C-37 | filenameRelative未定義の対応 | E-03 L42 | ○ |

### dynamic-import.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | 文字列リテラルでdeferToThen=false | E-04 L14-22 | ○ |
| C-39 | 文字列リテラルでdeferToThen=true | E-04 L18-21 | ○ |
| C-40 | 動的specifierでdeferToThen=true | E-04 L32-38 | ○ |
| C-41 | 動的specifierでwrapWithPromise=true | E-04 L39-44 | ○ |
| C-42 | 動的specifierでIIFE形式 | E-04 L45-48 | ○ |
| C-43 | 空quasisテンプレートリテラル | E-04 L16 | ○ |

### normalize-and-load-metadata.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | normalizeModuleAndLoadMetadataのメタデータ返却 | E-06 L112-187 | ○ |
| C-45 | exportName自動生成 | E-06 L133-135 | ○ |
| C-46 | importInterop=nodeでnode-namespace | E-06 L165-166 | ○ |
| C-47 | importInterop=nodeでnode-default | E-06 L167-168 | ○ |
| C-48 | esNamespaceOnly=trueでdefaultに変更 | E-06 L169-176 | ○ |
| C-49 | 名前空間インポート名の再利用 | E-06 L149-155 | ○ |
| C-50 | hasExportsがtrueを返す | E-06 L64-66 | ○ |
| C-51 | hasExportsがfalseを返す | E-06 L64-66 | ○ |
| C-52 | isSideEffectImportがtrueを返す | E-06 L71-79 | ○ |
| C-53 | isSideEffectImportがfalse(imports) | E-06 L73 | ○ |
| C-54 | isSideEffectImportがfalse(namespace) | E-06 L74 | ○ |
| C-55 | isSideEffectImportがfalse(reexports) | E-06 L75-76 | ○ |
| C-56 | validateImportInteropOption none | E-06 L86 | ○ |
| C-57 | validateImportInteropOption babel | E-06 L87 | ○ |
| C-58 | validateImportInteropOption node | E-06 L88 | ○ |
| C-59 | validateImportInteropOption function | E-06 L85 | ○ |
| C-60 | validateImportInteropOption invalid | E-06 L90-92 | ○ |

### rewrite-live-references.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61 | インポート参照の書き換え | E-05 L271-327 | ○ |
| C-62 | エクスポート代入のラップ | E-05 L410-495 | ○ |
| C-63 | インポート代入のエラー生成 | E-05 L362-369, L263-269 | ○ |
| C-64 | ++演算子のエクスポート更新 | E-05 L329-408, L370-380 | ○ |
| C-65 | 後置++演算子の値保持 | E-05 L381-401 | ○ |
| C-66 | 分割代入のエクスポート更新 | E-05 L496-538 | ○ |
| C-67 | for-ofでのエクスポート更新 | E-05 L542-593 | ○ |
| C-68 | for-inでのインポート代入エラー | E-05 L559-561, L587-591 | ○ |
| C-69 | JSX識別子の書き換え | E-05 L307-316 | ○ |
| C-70 | 関数呼び出しのシーケンス式ラップ | E-05 L300-306 | ○ |
| C-71 | タグ付きテンプレートのシーケンス式ラップ | E-05 L303 | ○ |
| C-72 | 型アノテーション内使用のエラー | E-05 L26-49, L282-287 | ○ |
| C-73 | &&=演算子の書き換え | E-05 L457-470 | ○ |
| C-74 | ??=演算子の書き換え | E-05 L457-470 | ○ |
| C-75 | ネストスコープ内再宣言の無視 | E-05 L289-293, L354-356 | ○ |
| C-76 | stringSpecifiersの処理 | E-05 L127-132 | ○ |
| C-77 | wrapReferenceの適用 | E-05 L111-121 | ○ |

### lazy-modules.ts

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | lazy=falseでnull | E-07 L14 | ○ |
| C-79 | lazy=true相対パスでnull | E-07 L19 | ○ |
| C-80 | lazy=true依存モジュールでlazy | E-07 L19 | ○ |
| C-81 | lazy配列含むでlazy | E-07 L21-23 | ○ |
| C-82 | lazy配列含まないでnull | E-07 L22 | ○ |
| C-83 | lazy関数trueでlazy | E-07 L24-26 | ○ |
| C-84 | lazy関数falseでnull | E-07 L25 | ○ |
| C-85 | 副作用インポートでnull | E-07 L15 | ○ |
| C-86 | reexportAllでnull | E-07 L15 | ○ |
| C-87 | 不正lazy値でエラー | E-07 L27 | ○ |
| C-88 | wrapReference lazy=CallExpression | E-07 L35 | ○ |
| C-89 | wrapReference lazy以外=null | E-07 L36 | ○ |
| C-90 | wrapReference undefined=null | E-07 L35条件 | ○ |

### 内部関数

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-91 | getExportSpecifierName Identifier | E-06 L193-194 | ○ |
| C-92 | getExportSpecifierName StringLiteral | E-06 L195-206 | ○ |
| C-93 | getExportSpecifierName stringSpecifiers追加 | E-06 L203-204 | ○ |
| C-94 | getExportSpecifierName 不正型エラー | E-06 L207-211 | ○ |
| C-95 | assertExportSpecifier 正常 | E-06 L217-218 | ○ |
| C-96 | assertExportSpecifier namespace | E-06 L219-223 | ○ |
| C-97 | assertExportSpecifier その他 | E-06 L224-225 | ○ |
| C-98 | buildInitStatement 通常プロパティ | E-01 L552-553 | ○ |
| C-99 | buildInitStatement __proto__ | E-01 L554-560, L577-578 | ○ |
| C-100 | buildInitStatement stringSpecifiers | E-01 L550-551, L581-582 | ○ |
| C-101 | buildInitStatement 複数エクスポート | E-01 L570 reduce | ○ |
| C-102 | buildExportNameListDeclaration生成 | E-01 L397-432 | ○ |
| C-103 | buildExportNameListDeclaration default除外 | E-01 L424 | ○ |
| C-104 | buildExportNameListDeclaration リエクスポートなしnull | E-01 L420 | ○ |
| C-105 | buildExportNameListDeclaration エクスポートなしnull | E-01 L420 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全てのテストケースはソースコードの実装に基づいて生成されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースがソースコードの実装から直接導出されています

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースが実装の全ての主要パスをカバーしているか確認
- [ ] 境界値テストが適切に設定されているか確認
- [ ] 異常系テストで全てのエラーパスがカバーされているか確認
- [ ] テストケースの期待結果が実装と整合しているか確認
- [ ] 優先度の設定が適切か確認（セキュリティ、データ整合性関連は「高」）
