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

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `packages/babel-cli/src/babel/index.ts` - エントリーポイント、コマンド振り分けロジック
- E-02: `packages/babel-cli/src/babel/options.ts` - CLIオプション解析、parseArgv関数、booleanify関数、collect関数
- E-03: `packages/babel-cli/src/babel/file.ts` - ファイルコマンド処理、buildResult、countNewlines、output、readStdin、stdin、walk、files関数
- E-04: `packages/babel-cli/src/babel/dir.ts` - ディレクトリコマンド処理、write、getDest、handleFile、handle関数
- E-05: `packages/babel-cli/src/babel/util.ts` - ユーティリティ関数群（chmod、alphasort、readdir、readdirForCompilable、isCompilableExtension、addSourceMappingUrl、hasDataSourcemap、transformRepl、compile、deleteDir、withExtension、debounce）
- E-06: `packages/babel-cli/src/babel/watcher.ts` - ファイル監視機能（enable、startWatcher、watch、onFilesChange、updateExternalDependencies、removeFileDependency、unwatchFile、requireChokidar）

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

### options.ts関連（C-01〜C-24）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | parseArgvで有効な引数がパースされる | E-02 L192-337 | ○ |
| C-02 | presetsオプションがカンマ区切りでパースされる | E-02 L17-20, L354-365 | ○ |
| C-03 | pluginsオプションがカンマ区切りでパースされる | E-02 L21-25, L354-365 | ○ |
| C-04 | source-mapsオプションがパースされる | E-02 L89-94, L339-352 | ○ |
| C-05 | watchと--out-dirが正しく設定される | E-02 L120-121, L231-239 | ○ |
| C-06 | --out-dirにファイル名がない場合エラー | E-02 L219-221 | ○ |
| C-07 | --out-fileと--out-dirの排他チェック | E-02 L223-225 | ○ |
| C-08 | --relativeが--out-dirを必要とする | E-02 L227-229 | ○ |
| C-09 | --watchが--out-fileまたは--out-dirを必要とする | E-02 L231-239 | ○ |
| C-10 | --skip-initial-buildが--watchを必要とする | E-02 L241-243 | ○ |
| C-11 | --verboseと--quietの排他チェック | E-02 L248-250 | ○ |
| C-12 | 存在しないファイルのチェック | E-02 L213-217 | ○ |
| C-13 | --keep-file-extensionと--out-file-extensionの排他チェック | E-02 L263-267 | ○ |
| C-14 | globパターンの展開 | E-02 L200-209 | ○ |
| C-15 | 重複ファイルの除去 | E-02 L211 | ○ |
| C-16 | booleanifyで'true'がtrueに変換 | E-02 L342-344 | ○ |
| C-17 | booleanifyで'1'がtrueに変換 | E-02 L342-344 | ○ |
| C-18 | booleanifyで'false'がfalseに変換 | E-02 L347-349 | ○ |
| C-19 | booleanifyで'0'がfalseに変換 | E-02 L347-349 | ○ |
| C-20 | booleanifyで空文字がfalseに変換 | E-02 L347-349 | ○ |
| C-21 | booleanifyでその他の文字列がそのまま返却 | E-02 L351 | ○ |
| C-22 | collectでカンマ区切り値が配列に変換 | E-02 L358-359 | ○ |
| C-23 | collectで既存配列に追加 | E-02 L360-363 | ○ |
| C-24 | collectで非文字列入力の処理 | E-02 L356 | ○ |

### util.ts関連（C-25〜C-62）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | chmodでパーミッションコピー | E-05 L9-15 | ○ |
| C-26 | chmod失敗時の警告出力 | E-05 L12-14 | ○ |
| C-27 | alphasortで辞書順ソート | E-05 L17-19 | ○ |
| C-28 | alphasortで同一文字列比較 | E-05 L17-19 | ○ |
| C-29 | readdirで再帰的ファイル取得 | E-05 L23-45 | ○ |
| C-30 | readdirでドットファイル除外 | E-05 L35-37 | ○ |
| C-31 | readdirでドットファイル包含 | E-05 L35-37 | ○ |
| C-32 | readdirでフィルタ適用 | E-05 L37 | ○ |
| C-33 | readdirで結果ソート | E-05 L43 | ○ |
| C-34 | readdirで空ディレクトリ処理 | E-05 L28-44 | ○ |
| C-35 | readdirForCompilableでコンパイル可能ファイル取得 | E-05 L47-55 | ○ |
| C-36 | readdirForCompilableでカスタム拡張子フィルタ | E-05 L50-54 | ○ |
| C-37 | isCompilableExtensionで.jsファイル判定 | E-05 L60-67 | ○ |
| C-38 | isCompilableExtensionで.tsファイル判定 | E-05 L60-67 | ○ |
| C-39 | isCompilableExtensionで.txt判定（不可） | E-05 L60-67 | ○ |
| C-40 | isCompilableExtensionでカスタム拡張子判定 | E-05 L64-66 | ○ |
| C-41 | isCompilableExtensionで拡張子なしファイル判定 | E-05 L65-66 | ○ |
| C-42 | addSourceMappingUrlでURL追加 | E-05 L69-71 | ○ |
| C-43 | addSourceMappingUrlでベース名使用 | E-05 L70 | ○ |
| C-44 | hasDataSourcemapでインラインソースマップ検出 | E-05 L73-76 | ○ |
| C-45 | hasDataSourcemapで中間URL検出 | E-05 L74-75 | ○ |
| C-46 | hasDataSourcemapでソースマップなし | E-05 L74-75 | ○ |
| C-47 | transformReplで正常トランスフォーム | E-05 L85-98 | ○ |
| C-48 | transformReplでsourceMaps変換 | E-05 L88 | ○ |
| C-49 | transformReplで構文エラー処理 | E-05 L94-96 | ○ |
| C-50 | compileでファイルコンパイル | E-05 L101-114 | ○ |
| C-51 | compileで外部依存関係更新 | E-05 L109-111 | ○ |
| C-52 | compileでファイル不存在エラー | E-05 L107 | ○ |
| C-53 | deleteDirでディレクトリ削除 | E-05 L116-118 | ○ |
| C-54 | deleteDirで再帰削除 | E-05 L117 | ○ |
| C-55 | deleteDirで存在しないディレクトリ | E-05 L117 (force: true) | ○ |
| C-56 | withExtensionで拡張子変更 | E-05 L125-128 | ○ |
| C-57 | withExtensionでデフォルト拡張子 | E-05 L125 | ○ |
| C-58 | withExtensionでパス付きファイル | E-05 L126-127 | ○ |
| C-59 | withExtensionで拡張子なしファイル | E-05 L126 | ○ |
| C-60 | debounceで遅延実行 | E-05 L130-141 | ○ |
| C-61 | debounceで連続呼び出し抑制 | E-05 L132-135 | ○ |
| C-62 | debounceでflush即座実行 | E-05 L136-139 | ○ |

### watcher.ts関連（C-63〜C-77）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | enableでウォッチモード有効化 | E-06 L13-30 | ○ |
| C-64 | enableでグロブ無効化 | E-06 L19 | ○ |
| C-65 | enableでchokidar未インストールエラー | E-06 L150-161 | ○ |
| C-66 | startWatcherでウォッチャー開始 | E-06 L32-43 | ○ |
| C-67 | startWatcherでreadyメッセージ | E-06 L40-42 | ○ |
| C-68 | watchでファイル監視追加 | E-06 L45-57 | ○ |
| C-69 | watchで開始前キュー追加 | E-06 L52-53 | ○ |
| C-70 | watchでモード無効エラー | E-06 L46-49 | ○ |
| C-71 | onFilesChangeで変更通知 | E-06 L66-85 | ○ |
| C-72 | onFilesChangeでadd通知 | E-06 L76 | ○ |
| C-73 | onFilesChangeで依存関係通知 | E-06 L79-80 | ○ |
| C-74 | onFilesChangeでモード無効エラー | E-06 L69-72 | ○ |
| C-75 | updateExternalDependenciesで依存関係登録 | E-06 L87-123 | ○ |
| C-76 | updateExternalDependenciesで古い依存関係削除 | E-06 L100-106 | ○ |
| C-77 | updateExternalDependenciesでモード無効時無操作 | E-06 L91 | ○ |

### file.ts関連（C-78〜C-89）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | fileCommandでファイル出力 | E-03 L94-122 | ○ |
| C-79 | fileCommandで標準入力処理 | E-03 L124-151, L243-247 | ○ |
| C-80 | fileCommandで複数ファイル結合 | E-03 L29-83 | ○ |
| C-81 | fileCommandでソースマップ生成 | E-03 L100-116 | ○ |
| C-82 | fileCommandでインラインソースマップ | E-03 L71-76 | ○ |
| C-83 | fileCommandでウォッチモード | E-03 L210-241 | ○ |
| C-84 | fileCommandでskip-initial-build | E-03 L215-217 | ○ |
| C-85 | fileCommandで標準出力 | E-03 L119-121 | ○ |
| C-86 | buildResultで結果結合 | E-03 L29-83 | ○ |
| C-87 | buildResultで空配列処理 | E-03 L37-38 | ○ |
| C-88 | countNewlinesで改行カウント | E-03 L85-92 | ○ |
| C-89 | countNewlinesで改行なし | E-03 L85-92 | ○ |

### dir.ts関連（C-90〜C-109）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-90 | dirCommandでディレクトリコンパイル | E-04 L21-252 | ○ |
| C-91 | dirCommandで出力ディレクトリ削除 | E-04 L159-161 | ○ |
| C-92 | dirCommandでファイルコピー | E-04 L98-106 | ○ |
| C-93 | dirCommandで相対パス出力 | E-04 L88-93 | ○ |
| C-94 | dirCommandでverboseログ | E-04 L73-75 | ○ |
| C-95 | dirCommandでquietログ抑制 | E-04 L173-176 | ○ |
| C-96 | dirCommandで拡張子維持 | E-04 L35-40 | ○ |
| C-97 | dirCommandで拡張子指定 | E-04 L35-40 | ○ |
| C-98 | writeでファイル書き込み | E-04 L25-86 | ○ |
| C-99 | writeでNON_COMPILABLE返却 | E-04 L31-33 | ○ |
| C-100 | writeでIGNORED返却 | E-04 L50 | ○ |
| C-101 | writeでERR_COMPILATION返却（ウォッチモード） | E-04 L79-82 | ○ |
| C-102 | writeでエラースロー（非ウォッチモード） | E-04 L84 | ○ |
| C-103 | getDestで出力先パス生成 | E-04 L88-93 | ○ |
| C-104 | getDestで相対出力先パス生成 | E-04 L89-90 | ○ |
| C-105 | handleFileでコンパイル成功 | E-04 L95-108 | ○ |
| C-106 | handleFileでファイルコピー | E-04 L98-106 | ○ |
| C-107 | handleでディレクトリ処理 | E-04 L110-133 | ○ |
| C-108 | handleで単一ファイル処理 | E-04 L127-132 | ○ |
| C-109 | handleで不存在パス処理 | E-04 L111 | ○ |

### index.ts関連（C-110〜C-113）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-110 | --out-dirでdirCommand実行 | E-01 L10 | ○ |
| C-111 | --out-dirなしでfileCommand実行 | E-01 L10 | ○ |
| C-112 | parseArgvがnullでexitCode=2 | E-01 L15-16 | ○ |
| C-113 | コマンドエラーでexitCode=1 | E-01 L11-14 | ○ |

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

## 5) リスクフラグ（レビュー観点）
- 0（低リスク）：全てのテストケースがソースコードの実装に基づいて生成されています
- テストケースは以下の観点を網羅しています：
  - 正常系：基本的な機能動作
  - 異常系：エラーハンドリング、バリデーション
  - 境界値：空配列、空ディレクトリ、存在しないパス等

## 6) レビュアーチェックリスト（最小）
- [ ] 各関数のテストケースが実装のロジックを適切にカバーしているか
- [ ] 正常系・異常系・境界値の観点が適切に分類されているか
- [ ] テストIDの命名規則（UT-CLI-XXX）が一貫しているか
- [ ] 優先度の設定が妥当か（セキュリティ・データ整合性関連は高、ヘルパー関数は低）
- [ ] 前提条件と期待結果が明確に記述されているか
- [ ] 既存のテストコード（`packages/babel-cli/test/`）との整合性を確認
