---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 65
  claims_with_evidence: 62
  claims_without_evidence: 3
confidence_derived: 0.95
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：62 / 65、根拠なし：3
- 優先レビュー（高）
  1. **C-39 (__tw_loadのPromise戻り値)**：async関数の戻り値型はTypeScriptの言語仕様に基づくが、ソースコード上にPromise型の明示的アサーションがない
  2. **C-46 (Bun.pluginの登録確認)**：Bun固有APIのため実行時テストが必要
  3. **C-65 (CLIインポート)**：外部モジュール依存のため統合テスト的観点が必要

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

- E-01: `packages/@tailwindcss-standalone/src/index.ts` L11-49 (__tw_resolve関数定義)
- E-02: `packages/@tailwindcss-standalone/src/index.ts` L51-61 (__tw_load関数定義)
- E-03: `packages/@tailwindcss-standalone/src/index.ts` L62 (__tw_version設定)
- E-04: `packages/@tailwindcss-standalone/src/index.ts` L66-96 (Bun.plugin設定)
- E-05: `packages/@tailwindcss-standalone/src/index.ts` L98 (CLIインポート)
- E-06: `packages/@tailwindcss-standalone/src/index.ts` L1-8 (import文)
- E-07: `packages/@tailwindcss-standalone/src/types.d.ts` L1-12 (型定義)
- E-08: `packages/@tailwindcss-standalone/package.json` (パッケージ情報・依存関係)

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | id='tailwindcss'でindexCssのパスが返却される | E-01 (L29-33: case 'tailwindcss': return localResolve(indexCss)) | ○ |
| C-02 | id='index'でindexCssのパスが返却される | E-01 (L30: case 'index':) | ○ |
| C-03 | id='index.css'でindexCssのパスが返却される | E-01 (L31: case 'index.css':) | ○ |
| C-04 | id='theme'でthemeCssのパスが返却される | E-01 (L34-36: case 'theme': case 'theme.css': return localResolve(themeCss)) | ○ |
| C-05 | id='theme.css'でthemeCssのパスが返却される | E-01 (L35) | ○ |
| C-06 | id='preflight'でpreflightCssのパスが返却される | E-01 (L37-39) | ○ |
| C-07 | id='preflight.css'でpreflightCssのパスが返却される | E-01 (L38) | ○ |
| C-08 | id='utilities'でutilitiesCssのパスが返却される | E-01 (L40-42) | ○ |
| C-09 | id='utilities.css'でutilitiesCssのパスが返却される | E-01 (L41) | ○ |
| C-10 | 'tailwindcss/'プレフィックス付きidがslice(12)されindexCssに解決される | E-01 (L23: id.startsWith('tailwindcss/') ? id.slice(12)) | ○ |
| C-11 | 'tailwindcss/theme.css'がthemeCssに解決される | E-01 (L23, L34-36) | ○ |
| C-12 | 'tailwindcss/preflight.css'がpreflightCssに解決される | E-01 (L23, L37-39) | ○ |
| C-13 | 'tailwindcss/utilities.css'がutilitiesCssに解決される | E-01 (L23, L40-42) | ○ |
| C-14 | '@tailwindcss/forms'でid文字列がそのまま返却される | E-01 (L43-46: case '@tailwindcss/forms': ... return id) | ○ |
| C-15 | '@tailwindcss/typography'でid文字列がそのまま返却される | E-01 (L44, L46: return id) | ○ |
| C-16 | '@tailwindcss/aspect-ratio'でid文字列がそのまま返却される | E-01 (L45, L46: return id) | ○ |
| C-17 | baseDir='/$bunfs/root'でisEmbeddedFileBase=true | E-01 (L12: baseDir === '/$bunfs/root') | ○ |
| C-18 | baseDirに':/~BUN/root'が含まれるとisEmbeddedFileBase=true | E-01 (L12: baseDir?.includes(':/~BUN/root')) | ○ |
| C-19 | isEmbeddedFileBase=trueかつ'./'始まりのidでslice(2)が適用される | E-01 (L25-26: isEmbeddedFileBase && id.startsWith('./') ? id.slice(2)) | ○ |
| C-20 | './theme.css'がthemeCssに解決される | E-01 (L25-26, L34-36) | ○ |
| C-21 | 非組み込みファイルのidとbaseDirでfalseが返却される | E-01 (L19-21: if (!likelyEmbeddedFile) return false) | ○ |
| C-22 | switch文のdefaultケースでfalseが返却される | E-01 (L48: default: return false) | ○ |
| C-23 | baseDirがundefinedかつ無関係なidでfalseが返却される | E-01 (L12: baseDir?.includes()のオプショナルチェイニング, L13-18, L19-21) | ○ |
| C-24 | baseDirがnullの場合でもエラーにならずfalseが返却される | E-01 (L12: baseDir?.includes()のオプショナルチェイニング) | ○ |
| C-25 | 空文字列idでfalseが返却される | E-01 (L13-18: いずれの条件にも一致しない, L19-21) | ○ |
| C-26 | 'tailwindcss/'のみのidでdefaultケースに到達する | E-01 (L23: slice(12)で空文字列, L48: default: return false) | ○ |
| C-27 | 空baseDirでの挙動 | E-01 (L12: '' === '/$bunfs/root'はfalse, L14: id='tailwindcss'でtrue) | ○ |
| C-28 | likelyEmbeddedFile判定: id === 'tailwindcss' | E-01 (L14) | ○ |
| C-29 | likelyEmbeddedFile判定: id.startsWith('tailwindcss/') | E-01 (L15) | ○ |
| C-30 | likelyEmbeddedFile判定: id.startsWith('@tailwindcss/') | E-01 (L16) | ○ |
| C-31 | likelyEmbeddedFile判定: isEmbeddedFileBaseのみtrue | E-01 (L17) | ○ |
| C-32 | id前処理の優先順位検証 | E-01 (L23-27: 三項演算子の評価順序) | ○ |
| C-33 | './'始まりかつisEmbeddedFileBase=trueの前処理 | E-01 (L25-26) | ○ |
| C-34 | どの前処理条件にも該当しない場合idがそのまま使用される | E-01 (L27: else節でidそのまま) | ○ |
| C-35 | '@tailwindcss/forms'でformsモジュールがロードされる | E-02 (L52-53: id.endsWith('@tailwindcss/forms') => require('@tailwindcss/forms')) | ○ |
| C-36 | '@tailwindcss/typography'でtypographyモジュールがロードされる | E-02 (L54-55) | ○ |
| C-37 | '@tailwindcss/aspect-ratio'でaspect-ratioモジュールがロードされる | E-02 (L56-57) | ○ |
| C-38 | パス付きidでendsWithにより判定される | E-02 (L52: id.endsWith()の仕様) | ○ |
| C-39 | __tw_loadがPromiseを返却すること | E-02 (L51: async関数定義), E-07 (L10-11: 型定義) | △ |
| C-40 | 該当しないidでundefinedが返却される | E-02 (L58-59: else return undefined) | ○ |
| C-41 | 空文字列idでundefinedが返却される | E-02 (L52-59: いずれのendsWithも一致しない) | ○ |
| C-42 | 無関係なパッケージ名でundefinedが返却される | E-02 (L52-59) | ○ |
| C-43 | endsWith判定が末尾一致であること | E-02 (L52: endsWith()はJavaScript標準APIで末尾一致) | ○ |
| C-44 | packageJson.versionが__tw_versionに設定される | E-03 (L62: globalThis.__tw_version = packageJson.version) | ○ |
| C-45 | __tw_versionがstring型であること | E-03, E-07 (types.d.ts L6: declare var __tw_version: string | undefined) | ○ |
| C-46 | Bun.pluginが正常に登録される | E-04 (L66: Bun.plugin({...})) | △ |
| C-47 | 'tailwindcss'モジュールがバンドルされる | E-04 (L72: 'tailwindcss': await import('tailwindcss')) | ○ |
| C-48 | 'tailwindcss/colors'がバンドルされる | E-04 (L73) | ○ |
| C-49 | 'tailwindcss/colors.js'がバンドルされる | E-04 (L74) | ○ |
| C-50 | 'tailwindcss/plugin'がバンドルされる | E-04 (L75) | ○ |
| C-51 | 'tailwindcss/plugin.js'がバンドルされる | E-04 (L76) | ○ |
| C-52 | 'tailwindcss/package.json'がバンドルされる | E-04 (L77) | ○ |
| C-53 | 'tailwindcss/lib/util/flattenColorPalette'がバンドルされる | E-04 (L78-79) | ○ |
| C-54 | 'tailwindcss/lib/util/flattenColorPalette.js'がバンドルされる | E-04 (L80-81) | ○ |
| C-55 | 'tailwindcss/defaultTheme'がバンドルされる | E-04 (L82) | ○ |
| C-56 | 'tailwindcss/defaultTheme.js'がバンドルされる | E-04 (L83) | ○ |
| C-57 | 全10モジュールがバンドルされる | E-04 (L71-84: bundledオブジェクトに10エントリ) | ○ |
| C-58 | exportsに__esModule: trueが含まれる | E-04 (L90: __esModule: true) | ○ |
| C-59 | loaderが'object'である | E-04 (L88: loader: 'object') | ○ |
| C-60 | 元のモジュールのexportsがスプレッドされて含まれる | E-04 (L89: ...exports) | ○ |
| C-61 | 'tailwindcss/colors.js'と'tailwindcss/colors'が同一import元 | E-04 (L73-74: 両方ともawait import('tailwindcss/colors')) | ○ |
| C-62 | 'tailwindcss/plugin.js'と'tailwindcss/plugin'が同一import元 | E-04 (L75-76) | ○ |
| C-63 | プラグイン名が'bundle-tailwindcss-apis' | E-04 (L67: name: 'bundle-tailwindcss-apis') | ○ |
| C-64 | プラグインtargetが'bun' | E-04 (L68: target: 'bun') | ○ |
| C-65 | @tailwindcss-cli/src/index.tsが動的インポートされる | E-05 (L98: await import('../../@tailwindcss-cli/src/index.ts')) | △ |

## 4) 不足情報（Unknown / Missing）
- **C-39 (__tw_loadのPromise戻り値)**：`__tw_load`はasync関数として定義されており、TypeScriptの言語仕様上、async関数はPromiseを返す。ソースコード上にはPromise型の明示的な戻り値型アノテーションはないが、`types.d.ts`のL10-11に`Promise<object | undefined>`という型定義がある。実行時のPromise確認にはランタイムテストが必要。
  - 候補：Bun/Node.jsでのasync関数戻り値テスト / TypeScript型チェック
- **C-46 (Bun.plugin登録)**：Bun.pluginはBunランタイム固有のAPIであり、Node.js環境では存在しない。実際のプラグイン登録動作の確認にはBunランタイムでの実行が必要。ソースコード上の呼び出しは確認できるが、登録が正常に機能するかは実行環境依存。
  - 候補：Bunランタイムでの統合テスト / Bun.pluginのモック化 / E2Eテスト
- **C-65 (CLIインポート)**：外部モジュール（`@tailwindcss-cli`）への動的インポートであり、単体テストとしてはモジュール境界を超える。インポート先の存在はファイルシステムレベルでは確認可能だが、実行時の動作保証はスコープ外。
  - 候補：モジュール存在確認テスト / インポートパスの静的解析 / 統合テスト

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: __tw_resolveのswitch文の各ケース（C-01〜C-20）- ソースコードに明確に記述されている
- **0 (低リスク)**: __tw_resolveの異常系・境界値（C-21〜C-27）- ソースコードの制御フローから確実に導出可能
- **0 (低リスク)**: __tw_resolveの条件分岐カバレッジ（C-28〜C-34）- ソースコードの制御フローに基づく
- **0 (低リスク)**: __tw_loadの各条件分岐（C-35〜C-38, C-40〜C-43）- ソースコードに明確に記述されている
- **1 (中リスク)**: __tw_loadのPromise戻り値確認（C-39）- TypeScriptのasync仕様に基づくが実行時確認が望ましい
- **0 (低リスク)**: __tw_versionの設定（C-44, C-45）- 1行で明確な処理
- **1 (中リスク)**: Bun.pluginの登録確認（C-46〜C-64）- Bun固有APIへの依存あり、テスト環境の制約がある
- **1 (中リスク)**: CLIインポート（C-65）- 外部モジュール依存、単体テストの範囲を超える可能性

## 6) レビュアーチェックリスト（最小）
- [ ] __tw_resolveの全switch caseが網羅されているか（index/index.css/tailwindcss, theme/theme.css, preflight/preflight.css, utilities/utilities.css, @tailwindcss/forms/typography/aspect-ratio, default）
- [ ] likelyEmbeddedFileの4条件（id === 'tailwindcss', startsWith('tailwindcss/'), startsWith('@tailwindcss/'), isEmbeddedFileBase）が全て検証されているか
- [ ] id前処理の三項演算子の3分岐（tailwindcss/プレフィックス除去, ./プレフィックス除去, そのまま）が検証されているか
- [ ] __tw_loadの3プラグイン + フォールバック（undefined）が網羅されているか
- [ ] 異常系としてbaseDirがundefined/null/空文字列の場合が考慮されているか
- [ ] Bun.plugin内のbundledオブジェクトの全10エントリに対するテストケースがあるか
- [ ] Bun固有APIのテスト戦略（モック化 or 統合テスト）が妥当か
- [ ] 境界値テスト（空文字列、プレフィックスのみ等）の妥当性
