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

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `packages/babel-plugin-transform-typescript/src/index.ts` - メインプラグインファイル（734行）
- E-02: `packages/babel-plugin-transform-typescript/src/enum.ts` - enum変換処理（451行）
- E-03: `packages/babel-plugin-transform-typescript/src/namespace.ts` - namespace変換処理（304行）
- E-04: `packages/babel-plugin-transform-typescript/src/const-enum.ts` - const enum最適化処理（98行）
- E-05: `packages/babel-plugin-transform-typescript/src/global-types.ts` - グローバル型管理（24行）

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

### index.ts関連（UT-TTS-001 〜 UT-TTS-064, UT-TTS-123 〜 UT-TTS-125）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | isInType関数はTSTypeReference親でtrueを返す | E-01 (L17-42) | ○ |
| C-02 | isInType関数はTSClassImplements親でtrueを返す | E-01 (L17-42) | ○ |
| C-03 | isInType関数はTSInterfaceHeritage親でtrueを返す | E-01 (L17-42) | ○ |
| C-04 | isInType関数はTSTypeQuery親でtrueを返す | E-01 (L17-42) | ○ |
| C-05 | isInType関数はExportSpecifier(type)でtrueを返す | E-01 (L30-38) | ○ |
| C-06 | isInType関数はTSQualifiedName処理を行う | E-01 (L24-29) | ○ |
| C-07 | isInType関数はデフォルトでfalseを返す | E-01 (L39-41) | ○ |
| C-08 | safeRemove関数はバインディングを安全に削除する | E-01 (L51-62) | ○ |
| C-09 | assertCjsTransformEnabled関数はCommonJS確認を行う | E-01 (L64-78) | ○ |
| C-10 | assertCjsTransformEnabled関数はエラーをスローする | E-01 (L72-77) | ○ |
| C-11 | classMemberVisitors.fieldはdeclareフィールドを削除 | E-01 (L126-134) | ○ |
| C-12 | classMemberVisitors.fieldはdeclare+値でエラー | E-01 (L127-130) | ○ |
| C-13 | classMemberVisitors.fieldはdefinite+値でエラー | E-01 (L135-140) | ○ |
| C-14 | classMemberVisitors.fieldはabstractフィールドを削除 | E-01 (L141-143) | ○ |
| C-15 | classMemberVisitors.fieldはTS固有プロパティをnullに | E-01 (L145-152) | ○ |
| C-16 | classMemberVisitors.methodはTS固有プロパティをnullに | E-01 (L154-161) | ○ |
| C-17 | classMemberVisitors.constructorはパラメータプロパティを変換 | E-01 (L162-203) | ○ |
| C-18 | constructorはデフォルト値付きパラメータを処理 | E-01 (L182-186) | ○ |
| C-19 | constructorは分割代入パターンでエラー | E-01 (L187-191) | ○ |
| C-20 | Program.enterはJSXプラグマを解析 | E-01 (L227-238) | ○ |
| C-21 | Program.enterはJSXFragプラグマを解析 | E-01 (L230-234) | ○ |
| C-22 | Program.enterはimport type文を削除 | E-01 (L260-265) | ○ |
| C-23 | Program.enterは型のみインポートを削除 | E-01 (L286-323) | ○ |
| C-24 | Program.enterは値インポートを保持 | E-01 (L308-320) | ○ |
| C-25 | Program.exitは空のexportを追加 | E-01 (L377-387) | ○ |
| C-26 | ExportNamedDeclarationはexport typeを削除 | E-01 (L395-398) | ○ |
| C-27 | ExportNamedDeclarationは型specifierのみの場合削除 | E-01 (L406-417) | ○ |
| C-28 | ExportNamedDeclarationはexport namespaceを変換 | E-01 (L442-460) | ○ |
| C-29 | ExportAllDeclarationはexport * typeを削除 | E-01 (L465-467) | ○ |
| C-30 | ExportSpecifierは型specifierを削除 | E-01 (L469-479) | ○ |
| C-31 | ExportDefaultDeclarationは型エクスポートを削除 | E-01 (L481-497) | ○ |
| C-32 | TSDeclareFunction visitorはdeclare functionを削除 | E-01 (L499-501) | ○ |
| C-33 | TSDeclareMethod visitorはdeclare methodを削除 | E-01 (L503-505) | ○ |
| C-34 | VariableDeclaration visitorはdeclare変数を削除 | E-01 (L507-511) | ○ |
| C-35 | VariableDeclarator visitorはdefiniteをnullに | E-01 (L513-515) | ○ |
| C-36 | TSIndexSignature visitorはシグネチャを削除 | E-01 (L517-519) | ○ |
| C-37 | ClassDeclaration visitorはdeclareクラスを削除 | E-01 (L521-526) | ○ |
| C-38 | Class visitorはTS固有プロパティを除去 | E-01 (L528-561) | ○ |
| C-39 | Function visitorはtypeParametersを除去 | E-01 (L562-571) | ○ |
| C-40 | Function visitorはreturnTypeを除去 | E-01 (L565) | ○ |
| C-41 | Function visitorはthisパラメータを削除 | E-01 (L567-570) | ○ |
| C-42 | TSInterfaceDeclaration visitorは削除 | E-01 (L577-579) | ○ |
| C-43 | TSTypeAliasDeclaration visitorは削除 | E-01 (L581-583) | ○ |
| C-44 | TSEnumDeclaration visitorはtranspileEnumを呼び出す | E-01 (L585-591) | ○ |
| C-45 | TSEnumDeclaration visitorはtranspileConstEnumを呼び出す | E-01 (L586-588) | ○ |
| C-46 | TSImportEqualsDeclaration visitorはrequire変換 | E-01 (L593-626) | ○ |
| C-47 | TSImportEqualsDeclaration visitorはnamespace変換 | E-01 (L614-618) | ○ |
| C-48 | TSExportAssignment visitorはmodule.exports変換 | E-01 (L627-637) | ○ |
| C-49 | TSTypeAssertion visitorは式のみに変換 | E-01 (L639-641) | ○ |
| C-50 | TSAsExpression visitorは式のみに変換 | E-01 (L643-651) | ○ |
| C-51 | TSAsExpression visitorはネストをアンラップ | E-01 (L646-650) | ○ |
| C-52 | TSNonNullExpression visitorは式のみに変換 | E-01 (L653-657) | ○ |
| C-53 | CallExpression visitorはtypeArgumentsを除去 | E-01 (L659-661) | ○ |
| C-54 | OptionalCallExpression visitorはtypeArgumentsを除去 | E-01 (L663-665) | ○ |
| C-55 | NewExpression visitorはtypeArgumentsを除去 | E-01 (L667-669) | ○ |
| C-56 | JSXOpeningElement visitorはtypeArgumentsを除去 | E-01 (L671-673) | ○ |
| C-57 | TaggedTemplateExpression visitorはtypeArgumentsを除去 | E-01 (L675-677) | ○ |
| C-58 | entityNameToExpr関数はTSQualifiedNameを変換 | E-01 (L681-687) | ○ |
| C-59 | entityNameToExpr関数はIdentifierを返す | E-01 (L686) | ○ |
| C-60 | visitPattern関数はtypeAnnotationを除去 | E-01 (L689-696) | ○ |
| C-61 | visitPattern関数はoptionalを除去 | E-01 (L694) | ○ |
| C-62 | isImportTypeOnly関数は型のみでtrueを返す | E-01 (L698-733) | ○ |
| C-63 | isImportTypeOnly関数は値参照でfalseを返す | E-01 (L709-712) | ○ |
| C-64 | isImportTypeOnly関数はJSXプラグマでfalseを返す | E-01 (L715-732) | ○ |
| C-123 | Pattern visitorはtypeAnnotationを除去 | E-01 (L212) | ○ |
| C-124 | Identifier visitorはtypeAnnotationを除去 | E-01 (L213) | ○ |
| C-125 | RestElement visitorはtypeAnnotationを除去 | E-01 (L214) | ○ |

### enum.ts関連（UT-TTS-065 〜 UT-TTS-092）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-65 | transpileEnum関数はdeclare enumを削除 | E-02 (L25-28) | ○ |
| C-66 | transpileEnum関数はIIFE形式に変換 | E-02 (L33-66) | ○ |
| C-67 | transpileEnum関数はグローバルでvarを使用 | E-02 (L59) | ○ |
| C-68 | transpileEnum関数はブロックでletを使用 | E-02 (L59) | ○ |
| C-69 | transpileEnum関数はenumマージを処理 | E-02 (L49-55) | ○ |
| C-70 | transpileEnum関数は不正な親でエラー | E-02 (L70) | ○ |
| C-71 | isSyntacticallyString関数はStringLiteralでtrue | E-02 (L145-146) | ○ |
| C-72 | isSyntacticallyString関数はTemplateLiteralでtrue | E-02 (L144) | ○ |
| C-73 | isSyntacticallyString関数は文字列連結でtrue | E-02 (L135-143) | ○ |
| C-74 | isSyntacticallyString関数は数値でfalse | E-02 (L148) | ○ |
| C-75 | translateEnumValues関数は連番を割り当て | E-02 (L263-266) | ○ |
| C-76 | translateEnumValues関数は数値初期化を処理 | E-02 (L224-242) | ○ |
| C-77 | translateEnumValues関数は文字列初期化を処理 | E-02 (L224-242) | ○ |
| C-78 | translateEnumValues関数は内部参照を解決 | E-02 (L246-261) | ○ |
| C-79 | translateEnumValues関数は計算式を評価 | E-02 (L225) | ○ |
| C-80 | translateEnumValues関数は文字列後エラー | E-02 (L267-268) | ○ |
| C-81 | translateEnumValues関数は動的参照を生成 | E-02 (L269-277) | ○ |
| C-82 | computeConstantValue関数はNumericLiteralを評価 | E-02 (L311-312) | ○ |
| C-83 | computeConstantValue関数はStringLiteralを評価 | E-02 (L305-306) | ○ |
| C-84 | computeConstantValue関数は単項演算子を評価 | E-02 (L389-408) | ○ |
| C-85 | computeConstantValue関数は二項演算子を評価 | E-02 (L410-450) | ○ |
| C-86 | computeConstantValue関数はビット演算子を評価 | E-02 (L422-430) | ○ |
| C-87 | computeConstantValue関数は括弧式を評価 | E-02 (L313-316) | ○ |
| C-88 | computeConstantValue関数はTemplateLiteralを評価 | E-02 (L319-338) | ○ |
| C-89 | computeConstantValue関数はInfinityを評価 | E-02 (L368-369) | ○ |
| C-90 | computeConstantValue関数はNaNを評価 | E-02 (L368-369) | ○ |
| C-91 | computeConstantValue関数は空TemplateLiteralを評価 | E-02 (L320-322) | ○ |
| C-92 | computeConstantValue関数は未知の型でundefined | E-02 (L339-341) | ○ |

### namespace.ts関連（UT-TTS-093 〜 UT-TTS-111）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-93 | getFirstIdentifier関数はIdentifierを返す | E-03 (L6-9) | ○ |
| C-94 | getFirstIdentifier関数はQualifiedNameを処理 | E-03 (L10-12) | ○ |
| C-95 | transpileNamespace関数はdeclareを削除 | E-03 (L19-22) | ○ |
| C-96 | transpileNamespace関数はStringLiteralを削除 | E-03 (L19) | ○ |
| C-97 | transpileNamespace関数はallowNamespaces=falseでエラー | E-03 (L24-33) | ○ |
| C-98 | transpileNamespace関数は型のみnamespaceを削除 | E-03 (L37-43) | ○ |
| C-99 | transpileNamespace関数は既存バインディングで置換 | E-03 (L44-45) | ○ |
| C-100 | transpileNamespace関数は新規で宣言追加 | E-03 (L46-50) | ○ |
| C-101 | handleVariableDeclaration関数はconst変換 | E-03 (L70-99) | ○ |
| C-102 | handleVariableDeclaration関数は非constでエラー | E-03 (L75-82) | ○ |
| C-103 | handleVariableDeclaration関数は分割代入を変換 | E-03 (L100-117) | ○ |
| C-104 | handleNested関数はネスト処理 | E-03 (L127-304) | ○ |
| C-105 | handleNested関数はQualifiedName展開 | E-03 (L143-159) | ○ |
| C-106 | handleNested関数はexport class変換 | E-03 (L224-241) | ○ |
| C-107 | handleNested関数はexport function変換 | E-03 (L224-241) | ○ |
| C-108 | handleNested関数はexport enum変換 | E-03 (L221-223) | ○ |
| C-109 | handleNested関数はネストambientでエラー | E-03 (L119-125, L255-257) | ○ |
| C-110 | handleNested関数は空namespaceでnull | E-03 (L286) | ○ |
| C-111 | handleNested関数は親エクスポート処理 | E-03 (L291-297) | ○ |

### const-enum.ts関連（UT-TTS-112 〜 UT-TTS-118）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-112 | transpileConstEnum関数はexportをオブジェクト変換 | E-04 (L34-64) | ○ |
| C-113 | transpileConstEnum関数は参照をインライン化 | E-04 (L67-97) | ○ |
| C-114 | transpileConstEnum関数はObject.assignを使用 | E-04 (L46-54) | ○ |
| C-115 | transpileConstEnum関数は計算プロパティを処理 | E-04 (L80-85) | ○ |
| C-116 | transpileConstEnum関数はドットプロパティを処理 | E-04 (L86-88) | ○ |
| C-117 | transpileConstEnum関数はシャドウイングをスキップ | E-04 (L73-75) | ○ |
| C-118 | transpileConstEnum関数は未定義キーを無視 | E-04 (L91) | ○ |

### global-types.ts関連（UT-TTS-119 〜 UT-TTS-122）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-119 | isGlobalType関数はバインディング存在でfalse | E-05 (L6) | ○ |
| C-120 | isGlobalType関数はGLOBAL_TYPESにあればtrue | E-05 (L7) | ○ |
| C-121 | isGlobalType関数は未登録で警告 | E-05 (L9-17) | ○ |
| C-122 | registerGlobalType関数は型を登録 | E-05 (L22-24) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースはソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードに基づいており、高い信頼性

## 6) レビュアーチェックリスト（最小）
- [ ] index.tsの主要なvisitor関数（Program, Class, Function等）のテストケースが網羅されているか
- [ ] enum.tsの定数計算（computeConstantValue）の境界値テストが十分か
- [ ] namespace.tsのネスト処理とエクスポート変換のテストケースが十分か
- [ ] const-enum.tsのインライン化処理のテストケースが十分か
- [ ] 各関数の異常系（エラースロー）テストケースが含まれているか
- [ ] TypeScript固有構文（型アサーション、型パラメータ等）の除去テストが網羅されているか
