---
generated_at: 2026-02-19 18:40:00
metrics:
  claims_total: 54
  claims_with_evidence: 54
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：modules-lang-javascript 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：54 / 54、根拠なし：0
- 優先レビュー（高）
  1. 全てのテストケースがソースコードから直接導出されています
  2. 特に重点的にレビューが必要な項目はありません
  3. 優先度「高」のテストケース（16件）を中心にレビューすることを推奨

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

- E-01: `modules/lang/javascript/autoload.el` - autoload関数定義（+javascript-npm-conf, +javascript-npm-dep-p, +javascript-add-npm-path-h, +javascript/open-repl）
- E-02: `modules/lang/javascript/config.el` - モジュール設定（+javascript-common-config, メジャーモード設定, プロジェクトモード定義）
- E-03: `modules/lang/javascript/doctor.el` - モジュール診断（assert!, warn!）
- E-04: `modules/lang/javascript/packages.el` - パッケージ定義（typescript-mode, nodejs-repl）

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

### autoload.el: +javascript-npm-conf
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | package.jsonが存在する場合に正しくパースされること | E-01 (L6-18: json-read-file呼び出し) | ○ |
| C-02 | キャッシュが利用されること | E-01 (L12-13: gethash呼び出し) | ○ |
| C-03 | refresh-pでキャッシュを無視すること | E-01 (L12: (not refresh-p)条件) | ○ |
| C-04 | project-rootがnilの場合doom-project-rootが使用されること | E-01 (L11: (or project-root (doom-project-root))) | ○ |
| C-05 | package.jsonが存在しない場合nilが返ること | E-01 (L15: file-exists-p条件) | ○ |
| C-06 | 不正なJSONファイルの場合の動作 | E-01 (L17: json-read-file) | ○ |
| C-07 | 空のpackage.jsonの場合 | E-01 (L17: json-read-file) | ○ |

### autoload.el: +javascript-npm-dep-p
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-08 | dependenciesにパッケージが存在する場合 | E-01 (L28: assq 'dependencies) | ○ |
| C-09 | devDependenciesにパッケージが存在する場合 | E-01 (L29: assq 'devDependencies) | ○ |
| C-10 | パッケージリストの全てが存在する場合（and） | E-01 (L31: (eq (car packages) 'and)でcl-every使用) | ○ |
| C-11 | パッケージリストの一部が存在する場合（or） | E-01 (L32-33: cl-some使用) | ○ |
| C-12 | パッケージが存在しない場合 | E-01 (L34: assq deps) | ○ |
| C-13 | AND条件で一部パッケージが存在しない場合 | E-01 (L31: cl-every) | ○ |
| C-14 | +javascript-npm-modeが無効の場合 | E-01 (L26: bound-and-true-p条件) | ○ |
| C-15 | 不正な引数型が渡された場合 | E-01 (L38: error呼び出し) | ○ |
| C-16 | 空のdependenciesの場合 | E-01 (L28-29: append処理) | ○ |

### autoload.el: +javascript-add-npm-path-h
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-17 | node_modulesが存在する場合exec-pathに追加されること | E-01 (L47: add-to-list 'exec-path) | ○ |
| C-18 | 親ディレクトリのnode_modulesが検出されること | E-01 (L44: locate-dominating-file) | ○ |
| C-19 | exec-pathがバッファローカルになること | E-01 (L46: make-local-variable) | ○ |
| C-20 | node_modulesが存在しない場合何もしないこと | E-01 (L43-45: when-let条件) | ○ |
| C-21 | doom-project-rootがnilの場合default-directoryが使用されること | E-01 (L43: (or (doom-project-root) default-directory)) | ○ |

### autoload.el: +javascript/open-repl
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | Node.js REPLバッファが開かれること | E-01 (L58: nodejs-repl呼び出し) | ○ |
| C-23 | 現在のバッファが返却されること | E-01 (L59: current-buffer) | ○ |
| C-24 | nodejs-replが利用不可の場合のエラー | E-01, E-04 (nodejs-replパッケージ依存) | ○ |

### config.el: +javascript-common-config
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | js-modeでREPLハンドラが設定されること | E-02 (L13: set-repl-handler!) | ○ |
| C-26 | 電気文字が設定されること | E-02 (L14: set-electric! :chars) | ○ |
| C-27 | リガチャが設定されること | E-02 (L15-29: set-ligatures!) | ○ |
| C-28 | +lspモジュール有効時にlsp!フックが追加されること | E-02 (L31-32: modulep! +lsp, add-hook) | ○ |
| C-29 | nodejs-repl-modeではREPLハンドラが設定されないこと | E-02 (L12: unless (eq mode 'nodejs-repl-mode)) | ○ |
| C-30 | TypeScript系モードでは追加docsetsが設定されること | E-02 (L40: set-docsets! :add "TypeScript") | ○ |
| C-31 | JavaScript系モードで多数のdocsetsが設定されること | E-02 (L35-39: set-docsets!) | ○ |
| C-32 | TypeScript系モードで追加の電気ワードが設定されること | E-02 (L41: :words '("||" "&&")) | ○ |

### config.el: プロジェクトモード
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | package.jsonが存在する場合にモードが有効化されること | E-02 (L122: locate-dominating-file "package.json") | ○ |
| C-34 | フックが正しく追加されること | E-02 (L123: :add-hooks) | ○ |
| C-35 | package.jsonが存在しない場合モードが有効化されないこと | E-02 (L122: :when条件) | ○ |
| C-36 | gulpfile.jsが存在する場合にモードが有効化されること | E-02 (L126: locate-dominating-file "gulpfile.js") | ○ |
| C-37 | gulpfile.jsが存在しない場合モードが有効化されないこと | E-02 (L126: :when条件) | ○ |

### config.el: メジャーモード設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | .jsファイルでjs-modeが有効になること | E-02 (L45: :mode "\\.[mc]?js\\'") | ○ |
| C-39 | .mjsファイルでjs-modeが有効になること | E-02 (L45: :mode "\\.[mc]?js\\'") | ○ |
| C-40 | .cjsファイルでjs-modeが有効になること | E-02 (L45: :mode "\\.[mc]?js\\'") | ○ |
| C-41 | .es6ファイルでjs-modeが有効になること | E-02 (L46: :mode "\\.es6\\'") | ○ |
| C-42 | .pacファイルでjs-modeが有効になること | E-02 (L47: :mode "\\.pac\\'") | ○ |
| C-43 | .tsファイルでtypescript-modeが有効になること | E-02 (L65, L72: :mode "\\.ts\\'") | ○ |
| C-44 | +tree-sitter有効時にjs-ts-modeが使用されること | E-02 (L49-54: when (modulep! +tree-sitter)) | ○ |
| C-45 | +tree-sitter有効時にtsx-ts-modeが使用されること | E-02 (L73: :mode "\\.[tj]sx\\'") | ○ |

### config.el: compilation/projectile設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46 | Node.jsスタックトレースがパースされること | E-02 (L93-96: compilation-error-regexp-alist-alist) | ○ |
| C-47 | package.jsonがプロジェクトルートファイルとして認識されること | E-02 (L4: pushnew! projectile-project-root-files) | ○ |
| C-48 | node_modulesがグローバル無視ディレクトリに追加されること | E-02 (L5: pushnew! projectile-globally-ignored-directories) | ○ |
| C-49 | flow-typedがグローバル無視ディレクトリに追加されること | E-02 (L5: "flow-typed") | ○ |

### doctor.el: モジュール診断
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-50 | +lsp有効時に:tools lspも有効であること | E-03 (L4-6: assert!) | ○ |
| C-51 | +lsp有効だが:tools lspが無効の場合エラー | E-03 (L4-6: assert!) | ○ |
| C-52 | +tree-sitter有効時に:tools tree-sitterも有効であること | E-03 (L8-10: assert!) | ○ |
| C-53 | +tree-sitter有効だが:tools tree-sitterが無効の場合エラー | E-03 (L8-10: assert!) | ○ |
| C-54 | +tree-sitter無効時に警告が表示されること | E-03 (L12-14: warn!) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし
  - 全てのテストケースはソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードに基づいており、根拠が明確

## 6) レビュアーチェックリスト（最小）
- [ ] autoload.elの関数が正しく識別されているか確認
- [ ] config.elの設定項目が網羅されているか確認
- [ ] doctor.elのアサーション条件が正しく反映されているか確認
- [ ] メジャーモードの拡張子マッピングが正確か確認
- [ ] プロジェクトモードの有効化条件が正確か確認
- [ ] テストケースの優先度付けが適切か確認
