## 事象 フロントエンドのテンプレート・JS 間で同期義務のあるコピペ重複が複数ある。 ## 該当箇所と内容(main a3ad929 時点) - [ ] 深さ集約コントロール: `library-dependency.js:95-130` が `package.js:1122-1204` をほぼ複製。両者とも `package-depth-select` / `depth-up-button` / `depth-down-button` という同一 ID 前提で選択肢生成・ボタン活性制御・step 操作を別実装(library-dependency.js:65 に「パッケージ関連と揃える」コメントがあり同期義務が暗黙化) - [ ] Mermaid エスケープ関数: `package.js:620-621` が `Jig.mermaid.builder.escapeId / escapeLabel`(`jig-mermaid.js:24-30`)と同一実装をローカル再定義。修正が片方だけに入ると生成が乖離する - [ ] サイドバーヘッダ一式(`sidebar-collapse-btn`、`<details id="sidebar-settings">` 構造)と marked/mermaid の CDN 参照+バージョン番号が 8〜10 テンプレートにコピペされており、CDN バージョン更新は全ページ同時修正が必要。domain.html:50 のインデント崩れが既にコピペ乖離の兆候 ## 修正案 JS は共通モジュール(Jig.dom / Jig.mermaid)への集約、テンプレートは生成時に共通パーシャルを注入する構造を検討する。 --- 🤖 この issue は [Claude Code](https://claude.com/claude-code) のコードレビューにより作成されました。
事象
フロントエンドのテンプレート・JS 間で同期義務のあるコピペ重複が複数ある。
該当箇所と内容(main a3ad929 時点)
library-dependency.js:95-130がpackage.js:1122-1204をほぼ複製。両者ともpackage-depth-select/depth-up-button/depth-down-buttonという同一 ID 前提で選択肢生成・ボタン活性制御・step 操作を別実装(library-dependency.js:65 に「パッケージ関連と揃える」コメントがあり同期義務が暗黙化)package.js:620-621がJig.mermaid.builder.escapeId / escapeLabel(jig-mermaid.js:24-30)と同一実装をローカル再定義。修正が片方だけに入ると生成が乖離するsidebar-collapse-btn、<details id="sidebar-settings">構造)と marked/mermaid の CDN 参照+バージョン番号が 8〜10 テンプレートにコピペされており、CDN バージョン更新は全ページ同時修正が必要。domain.html:50 のインデント崩れが既にコピペ乖離の兆候修正案
JS は共通モジュール(Jig.dom / Jig.mermaid)への集約、テンプレートは生成時に共通パーシャルを注入する構造を検討する。
🤖 この issue は Claude Code のコードレビューにより作成されました。