difit 4.0.7 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.ja.md +1 -3
  2. package/README.ko.md +1 -3
  3. package/README.md +6 -3
  4. package/README.zh.md +1 -3
  5. package/dist/cli/index.js +0 -39
  6. package/dist/cli/index.test.js +0 -374
  7. package/dist/cli/utils.d.ts +0 -2
  8. package/dist/cli/utils.js +1 -18
  9. package/dist/cli/utils.test.js +0 -16
  10. package/dist/client/assets/{arc-DX2p9X2Y.js → arc-47JvE2o4.js} +1 -1
  11. package/dist/client/assets/architecture-YZFGNWBL-CAofxL11.js +1 -0
  12. package/dist/client/assets/{architectureDiagram-Q4EWVU46-FixTWViB.js → architectureDiagram-Q4EWVU46-PEhI9x48.js} +1 -1
  13. package/dist/client/assets/{blockDiagram-DXYQGD6D-CUAMgGr9.js → blockDiagram-DXYQGD6D-SUrPMV8E.js} +1 -1
  14. package/dist/client/assets/{c4Diagram-AHTNJAMY-BM_HNNZe.js → c4Diagram-AHTNJAMY-BJ9pq9B3.js} +1 -1
  15. package/dist/client/assets/channel-DXpjokeU.js +1 -0
  16. package/dist/client/assets/{chunk-2KRD3SAO-DeT59g2K.js → chunk-2KRD3SAO-2O6hV_yw.js} +1 -1
  17. package/dist/client/assets/{chunk-336JU56O-CaGvJA86.js → chunk-336JU56O-C0NxME-U.js} +2 -2
  18. package/dist/client/assets/chunk-426QAEUC-DO73G5YJ.js +1 -0
  19. package/dist/client/assets/{chunk-4BX2VUAB-D9mNDl5f.js → chunk-4BX2VUAB-PjGa5t5G.js} +1 -1
  20. package/dist/client/assets/{chunk-4TB4RGXK-Df3b4HEG.js → chunk-4TB4RGXK-DKCtDLTf.js} +1 -1
  21. package/dist/client/assets/{chunk-55IACEB6-dCWLe_n4.js → chunk-55IACEB6-BUBhWZ5_.js} +1 -1
  22. package/dist/client/assets/{chunk-5FUZZQ4R-EScvXcSN.js → chunk-5FUZZQ4R-D52DoV-0.js} +1 -1
  23. package/dist/client/assets/{chunk-5PVQY5BW-ail-oj89.js → chunk-5PVQY5BW-Cpp0JjTq.js} +1 -1
  24. package/dist/client/assets/{chunk-67CJDMHE-CHeCIL1u.js → chunk-67CJDMHE-DFAAAXYj.js} +1 -1
  25. package/dist/client/assets/{chunk-7N4EOEYR-P0tNRVMZ.js → chunk-7N4EOEYR-DeLrWd_x.js} +1 -1
  26. package/dist/client/assets/{chunk-AA7GKIK3-DloBHWSo.js → chunk-AA7GKIK3-Pb9IU0o9.js} +1 -1
  27. package/dist/client/assets/{chunk-BSJP7CBP-CGLThsR8.js → chunk-BSJP7CBP-DvFe6BQg.js} +1 -1
  28. package/dist/client/assets/{chunk-CIAEETIT-rCt2IEMp.js → chunk-CIAEETIT-AytpwHlv.js} +1 -1
  29. package/dist/client/assets/{chunk-EDXVE4YY-DIJEIKIq.js → chunk-EDXVE4YY-DSprT5LQ.js} +1 -1
  30. package/dist/client/assets/{chunk-ENJZ2VHE-CdrdxFfV.js → chunk-ENJZ2VHE-DsQnPoSa.js} +1 -1
  31. package/dist/client/assets/{chunk-FMBD7UC4-BH_GgR9u.js → chunk-FMBD7UC4-CRzu5RUs.js} +1 -1
  32. package/dist/client/assets/{chunk-FOC6F5B3-D71VljSN.js → chunk-FOC6F5B3-GWMv90go.js} +1 -1
  33. package/dist/client/assets/{chunk-ICPOFSXX-2vcQKuhB.js → chunk-ICPOFSXX-LaB5P0SR.js} +1 -1
  34. package/dist/client/assets/{chunk-K5T4RW27-BWIFd7pZ.js → chunk-K5T4RW27-S036x5p5.js} +1 -1
  35. package/dist/client/assets/{chunk-KGLVRYIC-Ck8I8tdt.js → chunk-KGLVRYIC-DDzbiNrj.js} +1 -1
  36. package/dist/client/assets/{chunk-LIHQZDEY-Cc7TtI-w.js → chunk-LIHQZDEY-BoUwuY9Y.js} +1 -1
  37. package/dist/client/assets/{chunk-ORNJ4GCN-BMSqiphc.js → chunk-ORNJ4GCN-CopGHq93.js} +1 -1
  38. package/dist/client/assets/{chunk-OYMX7WX6-B5faFb53.js → chunk-OYMX7WX6-Do8-v0_P.js} +1 -1
  39. package/dist/client/assets/chunk-QZHKN3VN-BdzTLtlM.js +1 -0
  40. package/dist/client/assets/{chunk-U2HBQHQK-BILTfRyq.js → chunk-U2HBQHQK-CuugOH8t.js} +1 -1
  41. package/dist/client/assets/{chunk-X2U36JSP-D4-56gWx.js → chunk-X2U36JSP-ZX9AmJVa.js} +1 -1
  42. package/dist/client/assets/{chunk-XPW4576I-SxB401Zg.js → chunk-XPW4576I-DwqcIpF8.js} +1 -1
  43. package/dist/client/assets/{chunk-YZCP3GAM-CWXUVxFj.js → chunk-YZCP3GAM-w3hvGtGQ.js} +1 -1
  44. package/dist/client/assets/{chunk-ZZ45TVLE-CXjZua4f.js → chunk-ZZ45TVLE-CX35ksjr.js} +1 -1
  45. package/dist/client/assets/classDiagram-6PBFFD2Q-C9JPZQtl.js +1 -0
  46. package/dist/client/assets/classDiagram-v2-HSJHXN6E-BgDR8rt-.js +1 -0
  47. package/dist/client/assets/clone-BygUtDF6.js +1 -0
  48. package/dist/client/assets/{cose-bilkent-S5V4N54A-YToNpueF.js → cose-bilkent-S5V4N54A-DXfb_bs_.js} +1 -1
  49. package/dist/client/assets/{dagre-tvaMpP4D.js → dagre-BYBAH6EF.js} +1 -1
  50. package/dist/client/assets/{dagre-KV5264BT-QFYoTa0z.js → dagre-KV5264BT-Bj9WMi27.js} +1 -1
  51. package/dist/client/assets/{diagram-5BDNPKRD-DM0NNmEN.js → diagram-5BDNPKRD-DHnS0s39.js} +1 -1
  52. package/dist/client/assets/{diagram-G4DWMVQ6-TiLkMmwt.js → diagram-G4DWMVQ6-DdKcPnFw.js} +1 -1
  53. package/dist/client/assets/{diagram-MMDJMWI5-DM1ykqrB.js → diagram-MMDJMWI5-DfdNeC0p.js} +1 -1
  54. package/dist/client/assets/{diagram-TYMM5635-BEOLX1wr.js → diagram-TYMM5635-DwieVXZu.js} +1 -1
  55. package/dist/client/assets/{dist-CCBhd9az.js → dist-COv0rtkK.js} +1 -1
  56. package/dist/client/assets/{erDiagram-SMLLAGMA-DZcjZq6z.js → erDiagram-SMLLAGMA--nNfIX9m.js} +1 -1
  57. package/dist/client/assets/{flowDiagram-DWJPFMVM-B1AVT9es.js → flowDiagram-DWJPFMVM-BFk7GDSn.js} +1 -1
  58. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-BCEXws9V.js → ganttDiagram-T4ZO3ILL-DlVKHIi_.js} +1 -1
  59. package/dist/client/assets/gitGraph-7Q5UKJZL-4fOTOOzG.js +1 -0
  60. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-CVznBDOl.js → gitGraphDiagram-UUTBAWPF-ww35jb2y.js} +1 -1
  61. package/dist/client/assets/{graphlib-C4fWcyt1.js → graphlib-cvGsNSEN.js} +1 -1
  62. package/dist/client/assets/index-CrvsDrrA.js +79 -0
  63. package/dist/client/assets/{index-C16wNcPQ.css → index-v-PY_jQI.css} +1 -1
  64. package/dist/client/assets/info-OMHHGYJF-BcwRhjJb.js +1 -0
  65. package/dist/client/assets/{infoDiagram-42DDH7IO-D8Oxr-KJ.js → infoDiagram-42DDH7IO-CbZg29-f.js} +1 -1
  66. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BE9KniVE.js → ishikawaDiagram-UXIWVN3A-DbmLYe6W.js} +1 -1
  67. package/dist/client/assets/{journeyDiagram-VCZTEJTY-B3lGcz06.js → journeyDiagram-VCZTEJTY-m6lofB3D.js} +1 -1
  68. package/dist/client/assets/{kanban-definition-6JOO6SKY-Bs1QdB0j.js → kanban-definition-6JOO6SKY-zNyvW0z9.js} +1 -1
  69. package/dist/client/assets/{line-CO4-KhEq.js → line-DYCPrtIt.js} +1 -1
  70. package/dist/client/assets/{linear-CnaJKs0I.js → linear-BAKLx75z.js} +1 -1
  71. package/dist/client/assets/{mermaid-parser.core-CravK6bS.js → mermaid-parser.core-BGGMv1j6.js} +2 -2
  72. package/dist/client/assets/{mermaid.core-DTh9KJvF.js → mermaid.core-CMGQEZKx.js} +3 -3
  73. package/dist/client/assets/{mindmap-definition-QFDTVHPH-D2xU2hfX.js → mindmap-definition-QFDTVHPH-4Qsf3Hkp.js} +1 -1
  74. package/dist/client/assets/packet-4T2RLAQJ-LdDEUu30.js +1 -0
  75. package/dist/client/assets/pie-ZZUOXDRM-B-ezG4xa.js +1 -0
  76. package/dist/client/assets/{pieDiagram-DEJITSTG-CRX6y4IQ.js → pieDiagram-DEJITSTG-Cnlop37j.js} +1 -1
  77. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-K2HFp8O8.js → quadrantDiagram-34T5L4WZ-CLFb7OC8.js} +1 -1
  78. package/dist/client/assets/radar-PYXPWWZC-D66LzHfH.js +1 -0
  79. package/dist/client/assets/{requirementDiagram-MS252O5E-C-8AW0uI.js → requirementDiagram-MS252O5E-CFMEftHL.js} +1 -1
  80. package/dist/client/assets/{sankeyDiagram-XADWPNL6-Bv-_ZFS5.js → sankeyDiagram-XADWPNL6-Bz_Rsg7k.js} +1 -1
  81. package/dist/client/assets/{sequenceDiagram-FGHM5R23-Bk4QYIPk.js → sequenceDiagram-FGHM5R23-C_UnEheO.js} +1 -1
  82. package/dist/client/assets/{src-XMuEuFcU.js → src-D4dXpp2L.js} +1 -1
  83. package/dist/client/assets/{stateDiagram-FHFEXIEX-CI1G7zGC.js → stateDiagram-FHFEXIEX-D5jyXLVB.js} +1 -1
  84. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CTyQGCYc.js +1 -0
  85. package/dist/client/assets/{timeline-definition-GMOUNBTQ-CnXv8xHg.js → timeline-definition-GMOUNBTQ-BtgnceD7.js} +1 -1
  86. package/dist/client/assets/treeView-SZITEDCU-BsI_6Qwy.js +1 -0
  87. package/dist/client/assets/treemap-W4RFUUIX-CzaM5y4Y.js +1 -0
  88. package/dist/client/assets/{vennDiagram-DHZGUBPP-M5x471Ar.js → vennDiagram-DHZGUBPP-DWtzk4wH.js} +1 -1
  89. package/dist/client/assets/wardley-RL74JXVD-C1IHEcDw.js +1 -0
  90. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BG99uPNN.js → wardleyDiagram-NUSXRM2D-D88r6BkP.js} +1 -1
  91. package/dist/client/assets/{xychartDiagram-5P7HB3ND-DO7Upr9G.js → xychartDiagram-5P7HB3ND-DkXj8P_J.js} +1 -1
  92. package/dist/client/index.html +2 -2
  93. package/dist/server/server.d.ts +0 -1
  94. package/dist/server/server.js +0 -3
  95. package/dist/server/server.test.js +0 -37
  96. package/dist/types/diff.d.ts +0 -12
  97. package/dist/utils/commentFormatting.test.js +0 -52
  98. package/package.json +4 -5
  99. package/dist/cli/tuiDeprecation.d.ts +0 -3
  100. package/dist/cli/tuiDeprecation.js +0 -16
  101. package/dist/cli/tuiDeprecation.test.d.ts +0 -1
  102. package/dist/cli/tuiDeprecation.test.js +0 -16
  103. package/dist/client/assets/architecture-YZFGNWBL-2zVtKbnG.js +0 -1
  104. package/dist/client/assets/channel-B_ddQhpW.js +0 -1
  105. package/dist/client/assets/chunk-426QAEUC-CMTCMPn4.js +0 -1
  106. package/dist/client/assets/chunk-QZHKN3VN-B-G9G-FB.js +0 -1
  107. package/dist/client/assets/classDiagram-6PBFFD2Q-DnUQ2iGN.js +0 -1
  108. package/dist/client/assets/classDiagram-v2-HSJHXN6E-Dwp5vuOB.js +0 -1
  109. package/dist/client/assets/clone-aWrl-obY.js +0 -1
  110. package/dist/client/assets/gitGraph-7Q5UKJZL-BE3Mcr-v.js +0 -1
  111. package/dist/client/assets/index-6LShOAAb.js +0 -79
  112. package/dist/client/assets/info-OMHHGYJF-CBpXVhw-.js +0 -1
  113. package/dist/client/assets/packet-4T2RLAQJ-abaJ3V5T.js +0 -1
  114. package/dist/client/assets/pie-ZZUOXDRM-B12dpA7V.js +0 -1
  115. package/dist/client/assets/radar-PYXPWWZC-BbBaJJN8.js +0 -1
  116. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DQ0U-oto.js +0 -1
  117. package/dist/client/assets/treeView-SZITEDCU-CM0rCBUc.js +0 -1
  118. package/dist/client/assets/treemap-W4RFUUIX-CXoNE_rL.js +0 -1
  119. package/dist/client/assets/wardley-RL74JXVD-B_EtnvOk.js +0 -1
  120. package/dist/server/git-diff-tui.d.ts +0 -2
  121. package/dist/server/git-diff-tui.js +0 -100
  122. package/dist/server/git-diff-tui.test.d.ts +0 -1
  123. package/dist/server/git-diff-tui.test.js +0 -76
  124. package/dist/tui/App.d.ts +0 -10
  125. package/dist/tui/App.js +0 -92
  126. package/dist/tui/components/DiffViewer.d.ts +0 -8
  127. package/dist/tui/components/DiffViewer.js +0 -88
  128. package/dist/tui/components/FileList.d.ts +0 -8
  129. package/dist/tui/components/FileList.js +0 -48
  130. package/dist/tui/components/SideBySideDiffViewer.d.ts +0 -9
  131. package/dist/tui/components/SideBySideDiffViewer.js +0 -240
  132. package/dist/tui/components/StatusBar.d.ts +0 -8
  133. package/dist/tui/components/StatusBar.js +0 -19
  134. package/dist/tui/utils/parseDiff.d.ts +0 -2
  135. package/dist/tui/utils/parseDiff.js +0 -67
  136. package/dist/utils/createId.test.d.ts +0 -1
  137. package/dist/utils/createId.test.js +0 -48
package/README.ja.md CHANGED
@@ -131,7 +131,7 @@ git diff --cached | difit -
131
131
  標準入力モードは、意図を優先して次のルールで選択されます。
132
132
 
133
133
  - `-` を指定した場合は常に標準入力モード
134
- - positional 引数(`<target>` / `[compare-with]`)、`--pr`、`--tui` のいずれかがある場合は Git/PR/TUI モードとして扱い、標準入力を自動読み取りしない
134
+ - positional 引数(`<target>` / `[compare-with]`)または `--pr` がある場合は Git/PR モードとして扱い、標準入力を自動読み取りしない
135
135
  - 明示モード指定がない場合のみ、stdin が pipe/file/socket のときに自動で標準入力モードになる
136
136
 
137
137
  ## ⚙️ CLIオプション
@@ -146,8 +146,6 @@ git diff --cached | difit -
146
146
  | `--port` | 4966 | 優先ポート。使用中の場合は+1にフォールバック |
147
147
  | `--host` | 127.0.0.1 | サーバーをバインドするホストアドレス(外部からアクセスしたい場合は0.0.0.0を指定) |
148
148
  | `--no-open` | false | ブラウザを自動的に開かない |
149
- | `--mode` | split | 表示モード。`unified`または`split` |
150
- | `--tui` (deprecated) | false | WebUIの代わりにターミナルUIを使用 |
151
149
  | `--clean` | false | 起動時に既存コメントと閲覧済みファイルをすべてクリア |
152
150
  | `--include-untracked` | false | diffにuntrackedファイルを自動的に含める(`.`または`working`のみ有効) |
153
151
  | `--keep-alive` | false | ブラウザ切断後もサーバーを終了せず起動したままにする(Ctrl+Cで手動停止) |
package/README.ko.md CHANGED
@@ -131,7 +131,7 @@ git diff --cached | difit -
131
131
  표준 입력 모드는 의도 우선 규칙으로 선택됩니다:
132
132
 
133
133
  - `-`를 지정하면 표준 입력 모드가 명시적으로 활성화됩니다
134
- - positional 인수(`<target>` / `[compare-with]`), `--pr`, `--tui` 중 하나라도 지정되면 Git/PR/TUI 모드로 처리하고 stdin 자동 읽기를 하지 않습니다
134
+ - positional 인수(`<target>` / `[compare-with]`) 또는 `--pr`이 지정되면 Git/PR 모드로 처리하고 stdin 자동 읽기를 하지 않습니다
135
135
  - 명시적 모드 지정이 없고 stdin이 pipe/file/socket 인 경우에만 자동으로 표준 입력 모드가 됩니다
136
136
 
137
137
  ## ⚙️ CLI 옵션
@@ -146,8 +146,6 @@ git diff --cached | difit -
146
146
  | `--port` | 4966 | 선호 포트; 사용 중인 경우 +1로 대체 |
147
147
  | `--host` | 127.0.0.1 | 서버를 바인딩할 호스트 주소 (외부 액세스는 0.0.0.0 사용) |
148
148
  | `--no-open` | false | 브라우저를 자동으로 열지 않음 |
149
- | `--mode` | split | 표시 모드: `unified` 또는 `split` |
150
- | `--tui` (deprecated) | false | WebUI 대신 터미널 UI 모드 사용 |
151
149
  | `--clean` | false | 시작 시 모든 기존 코멘트와 열람된 파일 표시 초기화 |
152
150
  | `--include-untracked` | false | diff에 untracked 파일 자동 포함 (`.` 또는 `working`에서만 유효) |
153
151
  | `--keep-alive` | false | 브라우저 연결이 끊겨도 서버 유지 (Ctrl+C로 수동 종료) |
package/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
  <img src="public/logo.png" alt="difit" width="260">
3
3
  </h1>
4
4
 
5
+ <p align="center">
6
+ <a href="https://www.npmjs.com/package/difit"><img src="https://img.shields.io/npm/v/difit.svg" alt="npm version"></a>
7
+ <a href="https://github.com/yoshiko-pg/difit/actions/workflows/pr.yml"><img src="https://github.com/yoshiko-pg/difit/actions/workflows/pr.yml/badge.svg" alt="CI"></a>
8
+ </p>
9
+
5
10
  <p align="center">
6
11
  English | <a href="./README.ja.md">日本語</a> | <a href="./README.zh.md">简体中文</a> | <a href="./README.ko.md">한국어</a>
7
12
  </p>
@@ -131,7 +136,7 @@ git diff --cached | difit -
131
136
  Stdin mode is selected with intent-first rules:
132
137
 
133
138
  - `-` explicitly enables stdin mode
134
- - If positional arguments (`<target>` / `[compare-with]`), `--pr`, or `--tui` are provided, difit treats the command as Git/PR/TUI mode and does not auto-read stdin
139
+ - If positional arguments (`<target>` / `[compare-with]`) or `--pr` are provided, difit treats the command as Git/PR mode and does not auto-read stdin
135
140
  - Auto stdin detection applies only when no explicit mode is selected and stdin is a pipe/file/socket
136
141
 
137
142
  ## ⚙️ CLI Options
@@ -146,8 +151,6 @@ Stdin mode is selected with intent-first rules:
146
151
  | `--port` | 4966 | Preferred port; falls back to +1 if occupied |
147
152
  | `--host` | 127.0.0.1 | Host address to bind server to (use 0.0.0.0 for external access) |
148
153
  | `--no-open` | false | Don't automatically open browser |
149
- | `--mode` | split | Display mode: `unified` or `split` |
150
- | `--tui` (deprecated) | false | Use terminal UI mode instead of WebUI |
151
154
  | `--clean` | false | Clear all existing comments and viewed files on startup |
152
155
  | `--include-untracked` | false | Automatically include untracked files in diff (only with `.` or `working`) |
153
156
  | `--keep-alive` | false | Keep server running after browser disconnects (stop manually with Ctrl+C) |
package/README.zh.md CHANGED
@@ -131,7 +131,7 @@ git diff --cached | difit -
131
131
  标准输入模式按“意图优先”规则选择:
132
132
 
133
133
  - `-` 会显式启用标准输入模式
134
- - 当提供 positional 参数(`<target>` / `[compare-with]`)、`--pr` `--tui` 时,difit 会按 Git/PR/TUI 模式处理,不会自动读取 stdin
134
+ - 当提供 positional 参数(`<target>` / `[compare-with]`)或 `--pr` 时,difit 会按 Git/PR 模式处理,不会自动读取 stdin
135
135
  - 只有在未显式选择模式且 stdin 为 pipe/file/socket 时,才会自动进入标准输入模式
136
136
 
137
137
  ## ⚙️ CLI 选项
@@ -146,8 +146,6 @@ git diff --cached | difit -
146
146
  | `--port` | 4966 | 首选端口;如果被占用则回退到 +1 |
147
147
  | `--host` | 127.0.0.1 | 绑定服务器的主机地址(使用 0.0.0.0 进行外部访问) |
148
148
  | `--no-open` | false | 不自动打开浏览器 |
149
- | `--mode` | split | 显示模式:`unified` 或 `split` |
150
- | `--tui` (deprecated) | false | 使用终端 UI 模式而不是 WebUI |
151
149
  | `--clean` | false | 启动时清除所有现有评论和已查看的文件 |
152
150
  | `--include-untracked` | false | 自动将 untracked 文件包含在 diff 中(仅在 `.` 或 `working` 时有效) |
153
151
  | `--keep-alive` | false | 浏览器断开后保持服务器运行(使用 Ctrl+C 手动停止) |
package/dist/cli/index.js CHANGED
@@ -1,17 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from 'child_process';
3
3
  import { Command } from 'commander';
4
- import React from 'react';
5
4
  import { simpleGit } from 'simple-git';
6
5
  import pkg from '../../package.json' with { type: 'json' };
7
6
  import { startServer } from '../server/server.js';
8
7
  import { createDiffSelection } from '../utils/diffSelection.js';
9
8
  import { DiffMode } from '../types/watch.js';
10
- import { DEFAULT_DIFF_VIEW_MODE, normalizeDiffViewMode } from '../utils/diffMode.js';
11
9
  import { shouldReadStdin, findUntrackedFiles, markFilesIntentToAdd, promptUser, parseCommentOptions, validateDiffArguments, getGitRoot, readStdin, } from './utils.js';
12
10
  import { createCommentCommand } from './comment.js';
13
11
  import { getPrPatch, getPrCommentImports } from './github.js';
14
- import { warnAboutTuiDeprecation } from './tuiDeprecation.js';
15
12
  function isSpecialArg(arg) {
16
13
  return arg === 'working' || arg === 'staged' || arg === '.';
17
14
  }
@@ -129,9 +126,7 @@ program
129
126
  .option('--port <port>', 'preferred port (auto-assigned if occupied)', parseInt)
130
127
  .option('--host <host>', 'host address to bind', '')
131
128
  .option('--no-open', 'do not automatically open browser')
132
- .option('--mode <mode>', 'diff mode (split or unified)', normalizeDiffViewMode, DEFAULT_DIFF_VIEW_MODE)
133
129
  .option('--comment <json>', 'inject initial review comments (repeatable, accepts a JSON object or array)', (value, previous) => [...previous, value], [])
134
- .option('--tui', 'use terminal UI instead of web interface')
135
130
  .option('--pr <url>', 'GitHub PR URL to review (e.g., https://github.com/owner/repo/pull/123)')
136
131
  .option('--clean', 'start with a clean slate by clearing all existing comments')
137
132
  .option('--include-untracked', 'automatically include untracked files in diff')
@@ -177,10 +172,6 @@ program
177
172
  console.error('Error: --merge-base option cannot be used with --pr');
178
173
  process.exit(1);
179
174
  }
180
- if (options.tui) {
181
- console.error('Error: --pr option cannot be used with --tui');
182
- process.exit(1);
183
- }
184
175
  if (options.context !== undefined) {
185
176
  console.error('Error: --context option cannot be used with --pr');
186
177
  process.exit(1);
@@ -207,7 +198,6 @@ program
207
198
  commitish,
208
199
  hasPositionalArgs: program.args.length > 0,
209
200
  hasPrOption: false,
210
- hasTuiOption: Boolean(options.tui),
211
201
  });
212
202
  if (readFromStdin) {
213
203
  if (options.context !== undefined) {
@@ -233,7 +223,6 @@ program
233
223
  preferredPort: options.port,
234
224
  host: options.host,
235
225
  openBrowser: options.open,
236
- mode: options.mode,
237
226
  clearComments: options.clean,
238
227
  keepAlive: options.keepAlive,
239
228
  ...(commentImports.length > 0 ? { commentImports } : {}),
@@ -273,33 +262,6 @@ program
273
262
  await handleUntrackedFiles(git, options.includeUntracked);
274
263
  }
275
264
  }
276
- if (options.tui) {
277
- if (backgroundMode) {
278
- console.error('Error: --background option cannot be used with --tui');
279
- process.exit(1);
280
- }
281
- if (commentImports.length > 0) {
282
- console.error('Error: --comment option cannot be used with --tui');
283
- process.exit(1);
284
- }
285
- // Check if we're in a TTY environment
286
- if (!process.stdin.isTTY) {
287
- console.error('Error: TUI mode requires an interactive terminal (TTY).');
288
- console.error('Try running the command directly in your terminal without piping.');
289
- process.exit(1);
290
- }
291
- await warnAboutTuiDeprecation();
292
- // Dynamic import for TUI mode
293
- const { render } = await import('ink');
294
- const { default: TuiApp } = await import('../tui/App.js');
295
- render(React.createElement(TuiApp, {
296
- selection,
297
- mode: options.mode,
298
- repoPath,
299
- contextLines: options.context,
300
- }));
301
- return;
302
- }
303
265
  const validation = validateDiffArguments(selection.targetCommitish, compareWith);
304
266
  if (!validation.valid) {
305
267
  console.error(`Error: ${validation.error}`);
@@ -310,7 +272,6 @@ program
310
272
  preferredPort: options.port,
311
273
  host: options.host,
312
274
  openBrowser: options.open,
313
- mode: options.mode,
314
275
  clearComments: options.clean,
315
276
  keepAlive: options.keepAlive,
316
277
  contextLines: options.context,