---
generated_at: 2026-03-01 06:15:00
metrics:
  claims_total: 46
  claims_with_evidence: 44
  claims_without_evidence: 2
confidence_derived: 0.96
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：44 / 46、根拠なし：2
- 優先レビュー（高）
  1. **C-41 ToPrimitive変換の検証**：テストフィクスチャにexec-to-primitiveが存在するが、仕様の詳細は要確認
  2. **C-46 評価順序の検証**：テストフィクスチャにexec-to-string-orderが存在するが、実装詳細は要確認

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

- E-01: `packages/babel-plugin-transform-dynamic-import/src/index.ts` - メインソースコード
- E-02: `packages/babel-plugin-transform-dynamic-import/package.json` - パッケージ定義
- E-03: `packages/babel-plugin-transform-dynamic-import/test/index.js` - テストエントリポイント
- E-04: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/options.json` - CommonJSテスト設定
- E-05: `packages/babel-plugin-transform-dynamic-import/test/fixtures/amd/options.json` - AMDテスト設定
- E-06: `packages/babel-plugin-transform-dynamic-import/test/fixtures/systemjs/options.json` - SystemJSテスト設定
- E-07: `packages/babel-plugin-transform-dynamic-import/test/fixtures/missing-module-transform/missing-module-transform/options.json` - エラーケーステスト設定
- E-08: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/script/input.js` - スクリプト入力例
- E-09: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/script/output.js` - スクリプト出力例
- E-10: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/module/` - モジュールテストフィクスチャ
- E-11: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/template-literal/` - テンプレートリテラルテスト
- E-12: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/shadowed-require/` - シャドウテスト
- E-13: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/no-interop/` - no-interopテスト
- E-14: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-interop/` - interop実行テスト
- E-15: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-interop-string/` - 文字列interopテスト
- E-16: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-interop-null/` - null interopテスト
- E-17: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-transpiled-dep/` - トランスパイル済み依存テスト
- E-18: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-throw/` - 例外テスト
- E-19: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-to-primitive/` - ToPrimitiveテスト
- E-20: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-to-string-throw/` - toString例外テスト
- E-21: `packages/babel-plugin-transform-dynamic-import/test/fixtures/commonjs/exec-to-string-order/` - toString順序テスト
- E-22: `packages/babel-helper-plugin-utils/src/index.ts` - declare関数の実装

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | プラグインオブジェクトが正しく返却されること | E-01 (L18-43) | ○ |
| C-02 | nameプロパティが'transform-dynamic-import'であること | E-01 (L22) | ○ |
| C-03 | manipulateOptionsがundefinedであること | E-01 (L23) | ○ |
| C-04 | Babel 7以上のバージョンで正常に動作すること | E-01 (L19), E-22 | ○ |
| C-05 | Babel 7未満のバージョンでエラーがスローされること | E-01 (L19), E-22 (L84-129) | ○ |
| C-06 | ファイルにプラグインバージョン情報が設定されること | E-01 (L24-31) | ○ |
| C-07 | 後方互換性のために古い名前でバージョンが設定されること | E-01 (L25-30) | ○ |
| C-08 | commonjsモジュールトランスフォームが設定されている場合エラーなしで通過すること | E-01 (L37), E-04 | ○ |
| C-09 | amdモジュールトランスフォームが設定されている場合エラーなしで通過すること | E-01 (L37), E-05 | ○ |
| C-10 | systemjsモジュールトランスフォームが設定されている場合エラーなしで通過すること | E-01 (L37), E-06 | ○ |
| C-11 | モジュールトランスフォームが設定されていない場合エラーがスローされること | E-01 (L37-39), E-07 | ○ |
| C-12 | サポートされていないモジュールシステムの場合エラーがスローされること | E-01 (L37-39), E-01 (L3) | ○ |
| C-13 | 空文字列がモジュールシステムとして設定されている場合エラーがスローされること | E-01 (L3, L37) | ○ |
| C-14 | nullがモジュールシステムとして設定されている場合エラーがスローされること | E-01 (L3, L37) | ○ |
| C-15 | サポートされるモジュールシステムがcommonjs, amd, systemjsであること | E-01 (L3) | ○ |
| C-16 | commonjsがSUPPORTED_MODULESに含まれること | E-01 (L3) | ○ |
| C-17 | amdがSUPPORTED_MODULESに含まれること | E-01 (L3) | ○ |
| C-18 | systemjsがSUPPORTED_MODULESに含まれること | E-01 (L3) | ○ |
| C-19 | umdがSUPPORTED_MODULESに含まれないこと | E-01 (L3) | ○ |
| C-20 | esがSUPPORTED_MODULESに含まれないこと | E-01 (L3) | ○ |
| C-21 | エラーメッセージに必要な情報が含まれていること | E-01 (L5-16) | ○ |
| C-22 | エラーメッセージにcommonjsプラグイン情報が含まれていること | E-01 (L8) | ○ |
| C-23 | エラーメッセージにamdプラグイン情報が含まれていること | E-01 (L9) | ○ |
| C-24 | エラーメッセージにsystemjsプラグイン情報が含まれていること | E-01 (L10) | ○ |
| C-25 | エラーメッセージにsyntaxプラグインの代替案が含まれていること | E-01 (L14) | ○ |
| C-26 | import()式がCommonJS形式に変換されること | E-08, E-09 | ○ |
| C-27 | import()式がAMD形式に変換されること | E-05, フィクスチャ構造 | ○ |
| C-28 | import()式がSystemJS形式に変換されること | E-06, フィクスチャ構造 | ○ |
| C-29 | テンプレートリテラルを使用したimport()が正しく変換されること | E-11 | ○ |
| C-30 | 変数を使用したimport()が正しく変換されること | E-01, E-11 | ○ |
| C-31 | 他のimport/export文と共存できること | E-10 | ○ |
| C-32 | interop設定が正しく反映されること | E-09, E-14 | ○ |
| C-33 | no-interop設定が正しく反映されること | E-13 | ○ |
| C-34 | requireがシャドウされている場合でも正しく動作すること | E-12 | ○ |
| C-35 | スクリプトモード（非モジュール）で正しく動作すること | E-08 | ○ |
| C-36 | モジュールモードで正しく動作すること | E-10 | ○ |
| C-37 | import()のPromiseが正しく解決されること | E-14 | ○ |
| C-38 | 存在しないモジュールをimport()した場合エラーになること | E-18 | ○ |
| C-39 | default exportを持つモジュールのimport()が正しく動作すること | E-14 | ○ |
| C-40 | named exportを持つモジュールのimport()が正しく動作すること | E-14 | ○ |
| C-41 | toStringメソッドを持つオブジェクトをパスとして使用できること | E-19 | △ |
| C-42 | toStringがエラーをスローする場合Promiseがrejectされること | E-20 | ○ |
| C-43 | nullをexportするモジュールのimport()が正しく動作すること | E-16 | ○ |
| C-44 | 文字列export.defaultを持つモジュールのimport()が正しく動作すること | E-15 | ○ |
| C-45 | Babel自身でトランスパイルされたモジュールのimport()が正しく動作すること | E-17 | ○ |
| C-46 | toStringが正しい順序で呼び出されること | E-21 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-41 ToPrimitive変換の検証**: テストフィクスチャ（exec-to-primitive）は存在するが、ECMAScript仕様に基づく詳細な動作確認が必要
  - 候補：ECMAScript仕様書 / Babel公式ドキュメント / 追加のユニットテスト
- **C-46 評価順序の検証**: テストフィクスチャ（exec-to-string-order）は存在するが、Promiseのマイクロタスクキューとの関係で実際の評価順序の確認が必要
  - 候補：ECMAScript仕様書（import()の評価順序） / V8/SpiderMonkeyの実装詳細

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - ソースコードが単一ファイル（43行）で、機能が明確に限定されている
- **0: 低リスク** - テストフィクスチャが網羅的に用意されており、実際の変換動作が検証可能
- **1: 中リスク** - ToPrimitive変換や評価順序など、ECMAScript仕様に関連する部分は追加検証が望ましい
- **0: 低リスク** - エラーメッセージが明確で、ユーザーへのガイダンスが適切

## 6) レビュアーチェックリスト（最小）
- [ ] SUPPORTED_MODULESに含まれるモジュールシステム（commonjs, amd, systemjs）がすべてテストケースでカバーされているか
- [ ] エラーケース（モジュールトランスフォーム未設定、非サポートモジュール）が適切にテストされているか
- [ ] pre()フックでのバージョン情報設定の後方互換性が維持されているか
- [ ] interop/no-interop両方のケースがテストケースに含まれているか
- [ ] ランタイムテスト（exec-*フィクスチャ）で実際の動作が検証されているか
- [ ] ToPrimitive変換（C-41）と評価順序（C-46）のテストケースが仕様に準拠しているか確認
