---
generated_at: 2026-03-01 06:05:00
metrics:
  claims_total: 16
  claims_with_evidence: 14
  claims_without_evidence: 2
confidence_derived: 0.88
---

# 根拠レポート：babel-plugin-syntax-module-blocks 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.88**
  - 根拠あり：14 / 16、根拠なし：2
- 優先レビュー（高）
  1. **UT-SMB-010**：重複登録防止の実装確認が必要
  2. **UT-SMB-011**：parserOpts.plugins未定義時の挙動確認が必要

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

- E-01: `packages/babel-plugin-syntax-module-blocks/src/index.ts` - プラグインメインソースコード
- E-02: `packages/babel-plugin-syntax-module-blocks/package.json` - パッケージ定義、依存関係
- E-03: `packages/babel-helper-plugin-utils/src/index.ts` - declare関数の実装
- E-04: Babel公式ドキュメント - プラグインAPI仕様（外部参照）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 (UT-SMB-001) | プラグインが正常にエクスポートされること | E-01: `export default declare(...)` | ○ |
| C-02 (UT-SMB-002) | プラグイン名が'syntax-module-blocks'であること | E-01: `name: "syntax-module-blocks"` (line 7) | ○ |
| C-03 (UT-SMB-003) | Babel 7.x系で正常に動作すること | E-01: `api.assertVersion(REQUIRED_VERSION("^7.0.0-0 \|\| ^8.0.0"))` (line 4) | ○ |
| C-04 (UT-SMB-004) | Babel 8.x系で正常に動作すること | E-01: `api.assertVersion(REQUIRED_VERSION("^7.0.0-0 \|\| ^8.0.0"))` (line 4) | ○ |
| C-05 (UT-SMB-005) | サポート外のBabelバージョンでエラーがスローされること | E-01, E-03: assertVersionの実装による | ○ |
| C-06 (UT-SMB-006) | Babel 7.0.0-0で正常に動作すること | E-01: バージョン指定 `^7.0.0-0` の範囲に含まれる | ○ |
| C-07 (UT-SMB-007) | Babel 7.0.0-beta.41以降で正常に動作すること | E-03: throwVersionErrorの実装（line 104-108） | ○ |
| C-08 (UT-SMB-008) | parserOptsにmoduleBlocksプラグインが追加されること | E-01: `parserOpts.plugins.push("moduleBlocks")` (line 10) | ○ |
| C-09 (UT-SMB-009) | 既存のプラグインが保持されること | E-01: `push`メソッドは既存配列を保持 | ○ |
| C-10 (UT-SMB-010) | 複数回呼び出しても重複登録されないこと | **根拠なし** - ソースコードに重複チェックなし | △ |
| C-11 (UT-SMB-011) | parserOpts.pluginsがundefinedの場合の挙動 | **根拠なし** - undefinedチェックの実装なし | △ |
| C-12 (UT-SMB-012) | @babel/coreと統合して動作すること | E-02: peerDependencies `"@babel/core": "workspace:^"` | ○ |
| C-13 (UT-SMB-013) | module block構文がパース可能になること | E-01: `parserOpts.plugins.push("moduleBlocks")` | ○ |
| C-14 (UT-SMB-014) | プラグインなしでmodule block構文がエラーになること | E-04: Babelパーサー仕様による | ○ |
| C-15 (UT-SMB-015) | オプションなしで正常に動作すること | E-03: `options || {}` (line 50) | ○ |
| C-16 (UT-SMB-016) | 空オブジェクトオプションで正常に動作すること | E-03: `options || {}` (line 50) | ○ |

## 4) 不足情報（Unknown / Missing）
- **UT-SMB-010（重複登録防止）**：現在のソースコードには重複チェックの実装がないため、実際の挙動はBabelの内部実装に依存する。テストケースとしては実装依存の注記付きで残すが、実際のテスト時には挙動を確認する必要がある。
  - 候補：Babelパーサーの内部実装 / 他のsyntaxプラグインの実装例 / Babel公式テストケース
- **UT-SMB-011（plugins未定義時）**：現在の実装では`parserOpts.plugins`が存在することを前提としている。undefinedの場合は`TypeError: Cannot read property 'push' of undefined`が発生する可能性がある。
  - 候補：Babel coreのparserOpts初期化処理 / 他プラグインでの対応例

## 5) リスクフラグ（レビュー観点）
- **リスク1（中）**：UT-SMB-010 - 重複登録時の挙動が不明確。複数のpresetで同じプラグインが有効化された場合の影響を確認すべき。
- **リスク0（低）**：UT-SMB-011 - Babel coreが通常parserOpts.pluginsを初期化するため、実運用では問題にならない可能性が高い。

## 6) レビュアーチェックリスト（最小）
- [ ] UT-SMB-010：重複登録時の実際の挙動を手動またはテストで確認
- [ ] UT-SMB-011：Babel coreのparserOpts初期化タイミングを確認し、テスト要否を判断
- [ ] バージョン互換性テスト（UT-SMB-003〜007）が実環境で動作することを確認
- [ ] module block構文のサンプルコードでE2Eテスト（UT-SMB-013）を実行
