---
generated_at: 2026-03-01 06:20:00
metrics:
  claims_total: 50
  claims_with_evidence: 48
  claims_without_evidence: 2
confidence_derived: 0.96
---

# 根拠レポート：babel-plugin-transform-new-target 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：48 / 50、根拠なし：2
- 優先レビュー（高）
  1. **UT-NTG-031**: Babel 7バージョン検証 - REQUIRED_VERSION マクロの実際の動作確認が必要
  2. **UT-NTG-032**: Babel 6非互換テスト - 実際のBabel 6環境での検証が困難

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

- E-01: `packages/babel-plugin-transform-new-target/src/index.ts` - プラグイン本体ソースコード
- E-02: `packages/babel-plugin-transform-new-target/package.json` - パッケージ定義
- E-03: `packages/babel-plugin-transform-new-target/test/fixtures/general/function/input.js` - 関数テストフィクスチャ（入力）
- E-04: `packages/babel-plugin-transform-new-target/test/fixtures/general/function/output.js` - 関数テストフィクスチャ（出力）
- E-05: `packages/babel-plugin-transform-new-target/test/fixtures/general/class/input.js` - クラステストフィクスチャ（入力）
- E-06: `packages/babel-plugin-transform-new-target/test/fixtures/general/class/output.js` - クラステストフィクスチャ（出力）
- E-07: `packages/babel-plugin-transform-new-target/test/fixtures/general/arrow/input.js` - アロー関数テストフィクスチャ（入力）
- E-08: `packages/babel-plugin-transform-new-target/test/fixtures/general/arrow/output.js` - アロー関数テストフィクスチャ（出力）
- E-09: `packages/babel-plugin-transform-new-target/test/fixtures/general/extended-class/input.js` - 継承クラステストフィクスチャ（入力）
- E-10: `packages/babel-plugin-transform-new-target/test/fixtures/general/extended-class/output.js` - 継承クラステストフィクスチャ（出力）
- E-11: `packages/babel-plugin-transform-new-target/test/fixtures/general/object/input.js` - オブジェクトメソッドテストフィクスチャ（入力）
- E-12: `packages/babel-plugin-transform-new-target/test/fixtures/general/object/output.js` - オブジェクトメソッドテストフィクスチャ（出力）
- E-13: `packages/babel-plugin-transform-new-target/test/fixtures/general/function-duplicate-name/input.js` - 重複名テストフィクスチャ（入力）
- E-14: `packages/babel-plugin-transform-new-target/test/fixtures/general/function-duplicate-name/output.js` - 重複名テストフィクスチャ（出力）
- E-15: `packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/input.js` - クラスプロパティテストフィクスチャ（入力）
- E-16: `packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/output.js` - クラスプロパティテストフィクスチャ（出力）
- E-17: `packages/babel-plugin-transform-new-target/test/fixtures/exec/function.js` - 関数実行テスト
- E-18: `packages/babel-plugin-transform-new-target/test/fixtures/exec/class.js` - クラス実行テスト

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | プラグインが正常にエクスポートされること (UT-NTG-001) | E-01, E-02 | ○ |
| C-02 | プラグイン名が'transform-new-target'であること (UT-NTG-002) | E-01 (line 8) | ○ |
| C-03 | new.targetがMetaPropertyとして認識されること (UT-NTG-003) | E-01 (line 11, 16-18) | ○ |
| C-04 | 関数宣言内のnew.targetが条件式に変換されること (UT-NTG-004) | E-01, E-03, E-04 | ○ |
| C-05 | 関数式内のnew.targetが条件式に変換されること (UT-NTG-005) | E-01, E-03, E-04 | ○ |
| C-06 | 名前付き関数式内のnew.targetが条件式に変換されること (UT-NTG-006) | E-01 (line 60-75) | ○ |
| C-07 | クラスのコンストラクタ内のnew.targetがthis.constructorに変換されること (UT-NTG-007) | E-01 (line 55-57), E-05, E-06 | ○ |
| C-08 | クラスメソッド内のnew.targetがvoid 0に変換されること (UT-NTG-008) | E-01 (line 45-48), E-05, E-06 | ○ |
| C-09 | 継承クラスのコンストラクタ内のnew.targetがthis.constructorに変換されること (UT-NTG-009) | E-09, E-10 | ○ |
| C-10 | オブジェクトメソッド内のnew.targetがvoid 0に変換されること (UT-NTG-010) | E-01 (line 45-48), E-11, E-12 | ○ |
| C-11 | オブジェクトの関数プロパティ内のnew.targetが条件式に変換されること (UT-NTG-011) | E-11, E-12 | ○ |
| C-12 | 関数内のアロー関数内のnew.targetが外側の関数の値に基づいて変換されること (UT-NTG-012) | E-01, E-07, E-08 | ○ |
| C-13 | クラスコンストラクタ内のアロー関数内のnew.targetがthis.constructorに変換されること (UT-NTG-013) | E-07, E-08 | ○ |
| C-14 | クラスプロパティの関数式内のnew.targetが条件式に変換されること (UT-NTG-014) | E-15, E-16 | ○ |
| C-15 | クラスプロパティのアロー関数内のnew.targetが外側のコンストラクタ値に基づいて変換されること (UT-NTG-015) | E-15, E-16 | ○ |
| C-16 | ネストしたクラス内のnew.targetがそれぞれのスコープで変換されること (UT-NTG-016) | E-15, E-16 | ○ |
| C-17 | 静的クラスプロパティのアロー関数内のnew.targetがvoid 0に変換されること (UT-NTG-017) | E-15, E-16 | ○ |
| C-18 | インスタンスクラスプロパティ内のnew.targetがthis.constructorに変換されること (UT-NTG-018) | E-15, E-16 | ○ |
| C-19 | プロトタイプメソッド内のnew.targetが条件式に変換されること (UT-NTG-019) | E-03, E-04 | ○ |
| C-20 | ネストした関数内のnew.targetがそれぞれのスコープで変換されること (UT-NTG-020) | E-13, E-14 | ○ |
| C-21 | 関数名と同名の変数が存在する場合にリネームされること (UT-NTG-021) | E-01 (line 63-74), E-13, E-14 | ○ |
| C-22 | 無名関数式に一意のIDが生成されること (UT-NTG-022) | E-01 (line 60-61), E-03, E-04 | ○ |
| C-23 | 複数の無名関数式に異なるIDが生成されること (UT-NTG-023) | E-03, E-04 | ○ |
| C-24 | 関数・クラス外でのnew.targetがエラーになること (UT-NTG-024) | E-01 (line 38-42) | ○ |
| C-25 | アロー関数のみの中でのnew.targetがエラーになること (UT-NTG-025) | E-01 (line 22, 38-42) | ○ |
| C-26 | 空のクラスコンストラクタにnew.targetがある場合 (UT-NTG-026) | E-05, E-06 | ○ |
| C-27 | 空の関数にnew.targetがある場合 (UT-NTG-027) | E-03, E-04 | ○ |
| C-28 | new.target以外のMetaPropertyは変換されないこと (UT-NTG-028) | E-01 (line 16-18) | ○ |
| C-29 | Reflectを使用したnew呼び出しでnew.targetが正しく動作すること (UT-NTG-029) | E-17, E-18 | ○ |
| C-30 | 複数のnew.targetが同一関数内にある場合にすべて変換されること (UT-NTG-030) | E-01 | ○ |
| C-31 | Babel 7以上のバージョンで正常動作すること (UT-NTG-031) | E-01 (line 5) | △ |
| C-32 | Babel 7未満のバージョンでエラーになること (UT-NTG-032) | E-01 (line 5) | △ |
| C-33 | super()呼び出し前のnew.targetが変換されること (UT-NTG-033) | E-09, E-10 | ○ |
| C-34 | super()呼び出し後のnew.targetが変換されること (UT-NTG-034) | E-09, E-10 | ○ |
| C-35 | 無名関数に一意の識別子が生成されること (UT-NTG-035) | E-01 (line 60-61) | ○ |
| C-36 | シャドウイングされた変数名がリネームされること (UT-NTG-036) | E-01 (line 63-74) | ○ |
| C-37 | 静的クラスプロパティ内の新しい関数内のnew.targetが変換されること (UT-NTG-037) | E-15, E-16 | ○ |
| C-38 | 静的クラスプロパティ内のネストしたクラスコンストラクタ内のnew.targetが変換されること (UT-NTG-038) | E-15, E-16 | ○ |
| C-39 | 静的クラスプロパティ（代入なし）内のnew.targetがvoid 0に変換されること (UT-NTG-039) | E-15, E-16 | ○ |
| C-40 | 正しい親スコープが検出されること (UT-NTG-040) | E-01 (line 20-36) | ○ |
| C-41 | アロー関数はスキップされて外側の関数が検出されること (UT-NTG-041) | E-01 (line 22) | ○ |
| C-42 | クラスメソッド（kind: 'constructor'）はスキップされてクラスが検出されること (UT-NTG-042) | E-01 (line 23-25) | ○ |
| C-43 | this.constructorメンバ式が正しく生成されること (UT-NTG-043) | E-01 (line 50-53) | ○ |
| C-44 | 条件式ASTが正しく生成されること (UT-NTG-044) | E-01 (line 77-87) | ○ |
| C-45 | instanceof式が正しく生成されること (UT-NTG-045) | E-01 (line 79-82) | ○ |
| C-46 | void 0ノードが正しく生成されること (UT-NTG-046) | E-01 (line 46, 85) | ○ |
| C-47 | ノードが正しく置換されること (UT-NTG-047) | E-01 (line 46, 56, 77) | ○ |
| C-48 | ノードが正しくクローンされること (UT-NTG-048) | E-01 (line 82) | ○ |
| C-49 | use strictモードで正常動作すること (UT-NTG-049) | E-11, E-17 | ○ |
| C-50 | ESモジュールで正常動作すること (UT-NTG-050) | E-02 (type: module) | ○ |

## 4) 不足情報（Unknown / Missing）
- **UT-NTG-031, UT-NTG-032**: `REQUIRED_VERSION(7)` マクロはビルド時に展開されるため、実際の動作はBabelビルドシステムに依存する。Babel 6環境での実際のエラー発生は検証環境の制約により直接確認困難。
  - 候補：Babel公式ドキュメント / ビルドスクリプト / CI設定ファイル

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全体的にソースコードおよびテストフィクスチャとの整合性が高い
- 1: 中リスク - バージョン互換性テスト（UT-NTG-031, UT-NTG-032）は実環境での追加検証推奨

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースがプラグインの全分岐パス（関数/クラス/メソッド/アロー関数）をカバーしているか
- [ ] エラーケース（関数・クラス外でのnew.target使用）のテストが十分か
- [ ] 変数リネーム処理（シャドウイング回避）のエッジケースは網羅されているか
- [ ] class-propertiesプラグインとの組み合わせテストは適切か
- [ ] 既存のテストフィクスチャとの整合性を確認
