---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 225
  claims_with_evidence: 218
  claims_without_evidence: 7
confidence_derived: 0.97
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：218 / 225、根拠なし：7
- 優先レビュー（高）
  1. **resolveType.ts の型解決関連テストケース**：resolveType.tsの全体を読み込めておらず（800行以上のファイル）、resolveTypeElements/inferRuntimeType関連のテストケースを明示的に記載していない
  2. **compileScript.ts の全体フロー**：compileScriptは500行以上の大規模関数であり、全分岐を網羅的にカバーしきれていない可能性がある
  3. **SCSSプリプロセッサのsourceMap統合テスト**：プリプロセッサとsourceMapの連携テストは外部依存ライブラリ（sass, less, stylus）のモック条件が不明確

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

- E-01: `packages/compiler-sfc/src/parse.ts` - parse関数、hmrShouldReload関数、createBlock関数、dedent関数等の定義
- E-02: `packages/compiler-sfc/src/compileTemplate.ts` - compileTemplate関数、doCompileTemplate関数、preprocess関数等の定義
- E-03: `packages/compiler-sfc/src/compileStyle.ts` - compileStyle, compileStyleAsync, doCompileStyle関数等の定義
- E-04: `packages/compiler-sfc/src/compileScript.ts` - compileScript関数の定義（大規模ファイル、主要ロジックを確認）
- E-05: `packages/compiler-sfc/src/rewriteDefault.ts` - rewriteDefault, rewriteDefaultAST, hasDefaultExport関数の定義
- E-06: `packages/compiler-sfc/src/style/cssVars.ts` - parseCssVars, genCssVarsFromList, genCssVarsCode, genNormalScriptCssVarsCode, cssVarsPlugin等の定義
- E-07: `packages/compiler-sfc/src/style/pluginScoped.ts` - scopedPlugin, processRule, rewriteSelector関数の定義
- E-08: `packages/compiler-sfc/src/style/pluginTrim.ts` - trimPlugin定義
- E-09: `packages/compiler-sfc/src/style/preprocessors.ts` - scss, sass, less, styl, getSource関数の定義
- E-10: `packages/compiler-sfc/src/script/context.ts` - ScriptCompileContextクラス、resolveParserPlugins関数の定義
- E-11: `packages/compiler-sfc/src/script/defineProps.ts` - processDefineProps, genRuntimeProps, extractRuntimeProps関数の定義
- E-12: `packages/compiler-sfc/src/script/defineEmits.ts` - processDefineEmits, genRuntimeEmits, extractRuntimeEmits関数の定義
- E-13: `packages/compiler-sfc/src/script/defineExpose.ts` - processDefineExpose関数の定義
- E-14: `packages/compiler-sfc/src/script/defineOptions.ts` - processDefineOptions関数の定義
- E-15: `packages/compiler-sfc/src/script/defineSlots.ts` - processDefineSlots関数の定義
- E-16: `packages/compiler-sfc/src/script/defineModel.ts` - processDefineModel, genModelProps関数の定義
- E-17: `packages/compiler-sfc/src/script/utils.ts` - isCallOf, resolveObjectKey, toRuntimeTypeString, getImportedName, getEscapedPropName, normalizePath, isJS, isTS等の定義
- E-18: `packages/compiler-sfc/src/script/analyzeScriptBindings.ts` - analyzeScriptBindings, getObjectOrArrayExpressionKeys関数の定義
- E-19: `packages/compiler-sfc/src/script/importUsageCheck.ts` - isImportUsed, resolveTemplateUsedIdentifiers関数の定義
- E-20: `packages/compiler-sfc/src/script/normalScript.ts` - processNormalScript関数の定義
- E-21: `packages/compiler-sfc/src/script/topLevelAwait.ts` - processAwait関数の定義
- E-22: `packages/compiler-sfc/src/script/definePropsDestructure.ts` - processPropsDestructure, transformDestructuredProps関数の定義
- E-23: `packages/compiler-sfc/src/template/templateUtils.ts` - isRelativeUrl, isExternalUrl, isDataUrl, parseUrl関数の定義
- E-24: `packages/compiler-sfc/src/template/transformAssetUrl.ts` - normalizeOptions, transformAssetUrl, createAssetUrlTransformWithOptions関数の定義
- E-25: `packages/compiler-sfc/src/template/transformSrcset.ts` - transformSrcset, createSrcsetTransformWithOptions関数の定義
- E-26: `packages/compiler-sfc/src/cache.ts` - createCache関数の定義
- E-27: `packages/compiler-sfc/src/warn.ts` - warnOnce, warn関数の定義
- E-28: `packages/compiler-sfc/src/index.ts` - モジュールのpublic APIエクスポート一覧

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001~C-025 | parse関数の正常系・異常系・境界値テストケース（25件） | E-01 | ○ |
| C-026~C-029 | hmrShouldReload関数のテストケース（4件） | E-01, E-19 | ○ |
| C-030~C-038 | compileTemplate関数のテストケース（9件） | E-02 | ○ |
| C-039~C-047 | compileStyle/compileStyleAsync/doCompileStyle関数のテストケース（9件） | E-03 | ○ |
| C-048~C-059 | compileScript関数のテストケース（12件） | E-04 | ○ |
| C-060~C-067 | rewriteDefault/hasDefaultExport関数のテストケース（8件） | E-05 | ○ |
| C-068~C-078 | CSS変数関連関数のテストケース（11件） | E-06 | ○ |
| C-079~C-086 | scopedPluginのテストケース（8件） | E-07 | ○ |
| C-087 | trimPluginのテストケース（1件） | E-08 | ○ |
| C-088~C-095 | スタイルプリプロセッサのテストケース（8件） | E-09 | ○ |
| C-096~C-106 | ScriptCompileContext/resolveParserPluginsのテストケース（11件） | E-10 | ○ |
| C-107~C-114 | defineProps関連関数のテストケース（8件） | E-11 | ○ |
| C-115~C-120 | defineEmits関連関数のテストケース（6件） | E-12 | ○ |
| C-121~C-123 | defineExpose関連関数のテストケース（3件） | E-13 | ○ |
| C-124~C-130 | defineOptions関連関数のテストケース（7件） | E-14 | ○ |
| C-131~C-134 | defineSlots関連関数のテストケース（4件） | E-15 | ○ |
| C-135~C-141 | defineModel関連関数のテストケース（7件） | E-16 | ○ |
| C-142~C-166 | script/utils.tsのユーティリティ関数テストケース（25件） | E-17 | ○ |
| C-167~C-176 | analyzeScriptBindings関連関数のテストケース（10件） | E-18 | ○ |
| C-177~C-179 | importUsageCheck関連関数のテストケース（3件） | E-19 | ○ |
| C-180~C-183 | normalScript関連関数のテストケース（4件） | E-20 | ○ |
| C-184~C-187 | topLevelAwait関連関数のテストケース（4件） | E-21 | ○ |
| C-188~C-198 | definePropsDestructure関連関数のテストケース（11件） | E-22 | ○ |
| C-199~C-210 | templateUtils関数のテストケース（12件） | E-23 | ○ |
| C-211~C-217 | transformAssetUrl関連関数のテストケース（7件） | E-24 | ○ |
| C-218~C-221 | transformSrcset関連関数のテストケース（4件） | E-25 | ○ |
| C-222~C-223 | createCache関数のテストケース（2件） | E-26 | ○ |
| C-224~C-225 | warn/warnOnce関数のテストケース（2件） | E-27 | ○ |
| C-226 | resolveType.tsのresolveTypeElements関数テストケース | **根拠なし** | △ |
| C-227 | resolveType.tsのinferRuntimeType関数テストケース | **根拠なし** | △ |
| C-228 | resolveType.tsのinvalidateTypeCache関数テストケース | **根拠なし** | △ |
| C-229 | resolveType.tsのregisterTS関数テストケース | **根拠なし** | △ |
| C-230 | compileScript内のbinding解析全分岐カバレッジ | **根拠なし** | △ |
| C-231 | compileScript内のsourceMap生成全パターン | **根拠なし** | △ |
| C-232 | shims.d.tsの型定義整合性 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **resolveType.ts**: 800行以上の大規模ファイルであり、先頭100行のみ読み込みのため、内部の型解決ロジック（resolveTypeElements, inferRuntimeType, resolveUnionType等）の詳細なテストケースが不足している
  - 候補：resolveTypeElements / inferRuntimeType / resolveUnionType / invalidateTypeCache / registerTS
- **compileScript.ts**: 500行以上の大規模関数であり、全体フロー（import解析、binding生成、コード出力等）の全分岐を網羅しきれていない可能性がある
  - 候補：import pruning / binding metadata全パターン / sourceMap結合
- **shims.d.ts**: 型定義ファイルのためテスト対象外として扱ったが、グローバル変数定義（__ESM_BROWSER__, __GLOBAL__, __TEST__等）の整合性は確認していない
  - 候補：型定義の整合性チェック

## 5) リスクフラグ（レビュー観点）
- 1: resolveType.tsの型解決テストケース不足（中リスク）- 型ベースのdefineProps/defineEmitsの正確性に影響する可能性がある。resolveType.tsはindex.tsからpublicにエクスポートされているため、テストケースの追加を推奨する
- 1: compileScript.tsの全分岐カバレッジ不足（中リスク）- 大規模関数のため全ケース網羅は困難だが、主要パスはカバー済み。特にTypeScript型推論パスの網羅性に注意
- 0: その他のファイルは全関数・メソッドのソースコードを直接確認してテストケースを生成（低リスク）

## 6) レビュアーチェックリスト（最小）
- [ ] resolveType.ts（resolveTypeElements, inferRuntimeType）のテストケースが十分か確認する
- [ ] compileScript.tsの主要分岐（特にTypeScript型推論パス）のカバレッジを確認する
- [ ] 各defineXxx マクロの重複呼び出しエラーテストが実装可能か確認する
- [ ] プリプロセッサ（scss, less, stylus）テストの外部依存モック方針を確認する
- [ ] scopedPlugin の :deep(), :slotted(), :global() の複雑なセレクタパターンが十分か確認する
- [ ] transformAssetUrl/transformSrcset のEdgeケース（ハッシュ付きURL、エンコード済みURL等）を確認する
- [ ] CSS変数のv-bind()解析でネストされた括弧や文字列リテラルの処理が正しいか確認する
