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.
- package/README.ja.md +1 -3
- package/README.ko.md +1 -3
- package/README.md +6 -3
- package/README.zh.md +1 -3
- package/dist/cli/index.js +0 -39
- package/dist/cli/index.test.js +0 -374
- package/dist/cli/utils.d.ts +0 -2
- package/dist/cli/utils.js +1 -18
- package/dist/cli/utils.test.js +0 -16
- package/dist/client/assets/{arc-DX2p9X2Y.js → arc-47JvE2o4.js} +1 -1
- package/dist/client/assets/architecture-YZFGNWBL-CAofxL11.js +1 -0
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-FixTWViB.js → architectureDiagram-Q4EWVU46-PEhI9x48.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-CUAMgGr9.js → blockDiagram-DXYQGD6D-SUrPMV8E.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-BM_HNNZe.js → c4Diagram-AHTNJAMY-BJ9pq9B3.js} +1 -1
- package/dist/client/assets/channel-DXpjokeU.js +1 -0
- package/dist/client/assets/{chunk-2KRD3SAO-DeT59g2K.js → chunk-2KRD3SAO-2O6hV_yw.js} +1 -1
- package/dist/client/assets/{chunk-336JU56O-CaGvJA86.js → chunk-336JU56O-C0NxME-U.js} +2 -2
- package/dist/client/assets/chunk-426QAEUC-DO73G5YJ.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-D9mNDl5f.js → chunk-4BX2VUAB-PjGa5t5G.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-Df3b4HEG.js → chunk-4TB4RGXK-DKCtDLTf.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-dCWLe_n4.js → chunk-55IACEB6-BUBhWZ5_.js} +1 -1
- package/dist/client/assets/{chunk-5FUZZQ4R-EScvXcSN.js → chunk-5FUZZQ4R-D52DoV-0.js} +1 -1
- package/dist/client/assets/{chunk-5PVQY5BW-ail-oj89.js → chunk-5PVQY5BW-Cpp0JjTq.js} +1 -1
- package/dist/client/assets/{chunk-67CJDMHE-CHeCIL1u.js → chunk-67CJDMHE-DFAAAXYj.js} +1 -1
- package/dist/client/assets/{chunk-7N4EOEYR-P0tNRVMZ.js → chunk-7N4EOEYR-DeLrWd_x.js} +1 -1
- package/dist/client/assets/{chunk-AA7GKIK3-DloBHWSo.js → chunk-AA7GKIK3-Pb9IU0o9.js} +1 -1
- package/dist/client/assets/{chunk-BSJP7CBP-CGLThsR8.js → chunk-BSJP7CBP-DvFe6BQg.js} +1 -1
- package/dist/client/assets/{chunk-CIAEETIT-rCt2IEMp.js → chunk-CIAEETIT-AytpwHlv.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-DIJEIKIq.js → chunk-EDXVE4YY-DSprT5LQ.js} +1 -1
- package/dist/client/assets/{chunk-ENJZ2VHE-CdrdxFfV.js → chunk-ENJZ2VHE-DsQnPoSa.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BH_GgR9u.js → chunk-FMBD7UC4-CRzu5RUs.js} +1 -1
- package/dist/client/assets/{chunk-FOC6F5B3-D71VljSN.js → chunk-FOC6F5B3-GWMv90go.js} +1 -1
- package/dist/client/assets/{chunk-ICPOFSXX-2vcQKuhB.js → chunk-ICPOFSXX-LaB5P0SR.js} +1 -1
- package/dist/client/assets/{chunk-K5T4RW27-BWIFd7pZ.js → chunk-K5T4RW27-S036x5p5.js} +1 -1
- package/dist/client/assets/{chunk-KGLVRYIC-Ck8I8tdt.js → chunk-KGLVRYIC-DDzbiNrj.js} +1 -1
- package/dist/client/assets/{chunk-LIHQZDEY-Cc7TtI-w.js → chunk-LIHQZDEY-BoUwuY9Y.js} +1 -1
- package/dist/client/assets/{chunk-ORNJ4GCN-BMSqiphc.js → chunk-ORNJ4GCN-CopGHq93.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-B5faFb53.js → chunk-OYMX7WX6-Do8-v0_P.js} +1 -1
- package/dist/client/assets/chunk-QZHKN3VN-BdzTLtlM.js +1 -0
- package/dist/client/assets/{chunk-U2HBQHQK-BILTfRyq.js → chunk-U2HBQHQK-CuugOH8t.js} +1 -1
- package/dist/client/assets/{chunk-X2U36JSP-D4-56gWx.js → chunk-X2U36JSP-ZX9AmJVa.js} +1 -1
- package/dist/client/assets/{chunk-XPW4576I-SxB401Zg.js → chunk-XPW4576I-DwqcIpF8.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-CWXUVxFj.js → chunk-YZCP3GAM-w3hvGtGQ.js} +1 -1
- package/dist/client/assets/{chunk-ZZ45TVLE-CXjZua4f.js → chunk-ZZ45TVLE-CX35ksjr.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-C9JPZQtl.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-BgDR8rt-.js +1 -0
- package/dist/client/assets/clone-BygUtDF6.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-YToNpueF.js → cose-bilkent-S5V4N54A-DXfb_bs_.js} +1 -1
- package/dist/client/assets/{dagre-tvaMpP4D.js → dagre-BYBAH6EF.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-QFYoTa0z.js → dagre-KV5264BT-Bj9WMi27.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-DM0NNmEN.js → diagram-5BDNPKRD-DHnS0s39.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-TiLkMmwt.js → diagram-G4DWMVQ6-DdKcPnFw.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-DM1ykqrB.js → diagram-MMDJMWI5-DfdNeC0p.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-BEOLX1wr.js → diagram-TYMM5635-DwieVXZu.js} +1 -1
- package/dist/client/assets/{dist-CCBhd9az.js → dist-COv0rtkK.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-DZcjZq6z.js → erDiagram-SMLLAGMA--nNfIX9m.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-B1AVT9es.js → flowDiagram-DWJPFMVM-BFk7GDSn.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-BCEXws9V.js → ganttDiagram-T4ZO3ILL-DlVKHIi_.js} +1 -1
- package/dist/client/assets/gitGraph-7Q5UKJZL-4fOTOOzG.js +1 -0
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-CVznBDOl.js → gitGraphDiagram-UUTBAWPF-ww35jb2y.js} +1 -1
- package/dist/client/assets/{graphlib-C4fWcyt1.js → graphlib-cvGsNSEN.js} +1 -1
- package/dist/client/assets/index-CrvsDrrA.js +79 -0
- package/dist/client/assets/{index-C16wNcPQ.css → index-v-PY_jQI.css} +1 -1
- package/dist/client/assets/info-OMHHGYJF-BcwRhjJb.js +1 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-D8Oxr-KJ.js → infoDiagram-42DDH7IO-CbZg29-f.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BE9KniVE.js → ishikawaDiagram-UXIWVN3A-DbmLYe6W.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-B3lGcz06.js → journeyDiagram-VCZTEJTY-m6lofB3D.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-Bs1QdB0j.js → kanban-definition-6JOO6SKY-zNyvW0z9.js} +1 -1
- package/dist/client/assets/{line-CO4-KhEq.js → line-DYCPrtIt.js} +1 -1
- package/dist/client/assets/{linear-CnaJKs0I.js → linear-BAKLx75z.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-CravK6bS.js → mermaid-parser.core-BGGMv1j6.js} +2 -2
- package/dist/client/assets/{mermaid.core-DTh9KJvF.js → mermaid.core-CMGQEZKx.js} +3 -3
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-D2xU2hfX.js → mindmap-definition-QFDTVHPH-4Qsf3Hkp.js} +1 -1
- package/dist/client/assets/packet-4T2RLAQJ-LdDEUu30.js +1 -0
- package/dist/client/assets/pie-ZZUOXDRM-B-ezG4xa.js +1 -0
- package/dist/client/assets/{pieDiagram-DEJITSTG-CRX6y4IQ.js → pieDiagram-DEJITSTG-Cnlop37j.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-K2HFp8O8.js → quadrantDiagram-34T5L4WZ-CLFb7OC8.js} +1 -1
- package/dist/client/assets/radar-PYXPWWZC-D66LzHfH.js +1 -0
- package/dist/client/assets/{requirementDiagram-MS252O5E-C-8AW0uI.js → requirementDiagram-MS252O5E-CFMEftHL.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-Bv-_ZFS5.js → sankeyDiagram-XADWPNL6-Bz_Rsg7k.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-Bk4QYIPk.js → sequenceDiagram-FGHM5R23-C_UnEheO.js} +1 -1
- package/dist/client/assets/{src-XMuEuFcU.js → src-D4dXpp2L.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CI1G7zGC.js → stateDiagram-FHFEXIEX-D5jyXLVB.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CTyQGCYc.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-CnXv8xHg.js → timeline-definition-GMOUNBTQ-BtgnceD7.js} +1 -1
- package/dist/client/assets/treeView-SZITEDCU-BsI_6Qwy.js +1 -0
- package/dist/client/assets/treemap-W4RFUUIX-CzaM5y4Y.js +1 -0
- package/dist/client/assets/{vennDiagram-DHZGUBPP-M5x471Ar.js → vennDiagram-DHZGUBPP-DWtzk4wH.js} +1 -1
- package/dist/client/assets/wardley-RL74JXVD-C1IHEcDw.js +1 -0
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BG99uPNN.js → wardleyDiagram-NUSXRM2D-D88r6BkP.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-DO7Upr9G.js → xychartDiagram-5P7HB3ND-DkXj8P_J.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/server.d.ts +0 -1
- package/dist/server/server.js +0 -3
- package/dist/server/server.test.js +0 -37
- package/dist/types/diff.d.ts +0 -12
- package/dist/utils/commentFormatting.test.js +0 -52
- package/package.json +4 -5
- package/dist/cli/tuiDeprecation.d.ts +0 -3
- package/dist/cli/tuiDeprecation.js +0 -16
- package/dist/cli/tuiDeprecation.test.d.ts +0 -1
- package/dist/cli/tuiDeprecation.test.js +0 -16
- package/dist/client/assets/architecture-YZFGNWBL-2zVtKbnG.js +0 -1
- package/dist/client/assets/channel-B_ddQhpW.js +0 -1
- package/dist/client/assets/chunk-426QAEUC-CMTCMPn4.js +0 -1
- package/dist/client/assets/chunk-QZHKN3VN-B-G9G-FB.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DnUQ2iGN.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-Dwp5vuOB.js +0 -1
- package/dist/client/assets/clone-aWrl-obY.js +0 -1
- package/dist/client/assets/gitGraph-7Q5UKJZL-BE3Mcr-v.js +0 -1
- package/dist/client/assets/index-6LShOAAb.js +0 -79
- package/dist/client/assets/info-OMHHGYJF-CBpXVhw-.js +0 -1
- package/dist/client/assets/packet-4T2RLAQJ-abaJ3V5T.js +0 -1
- package/dist/client/assets/pie-ZZUOXDRM-B12dpA7V.js +0 -1
- package/dist/client/assets/radar-PYXPWWZC-BbBaJJN8.js +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DQ0U-oto.js +0 -1
- package/dist/client/assets/treeView-SZITEDCU-CM0rCBUc.js +0 -1
- package/dist/client/assets/treemap-W4RFUUIX-CXoNE_rL.js +0 -1
- package/dist/client/assets/wardley-RL74JXVD-B_EtnvOk.js +0 -1
- package/dist/server/git-diff-tui.d.ts +0 -2
- package/dist/server/git-diff-tui.js +0 -100
- package/dist/server/git-diff-tui.test.d.ts +0 -1
- package/dist/server/git-diff-tui.test.js +0 -76
- package/dist/tui/App.d.ts +0 -10
- package/dist/tui/App.js +0 -92
- package/dist/tui/components/DiffViewer.d.ts +0 -8
- package/dist/tui/components/DiffViewer.js +0 -88
- package/dist/tui/components/FileList.d.ts +0 -8
- package/dist/tui/components/FileList.js +0 -48
- package/dist/tui/components/SideBySideDiffViewer.d.ts +0 -9
- package/dist/tui/components/SideBySideDiffViewer.js +0 -240
- package/dist/tui/components/StatusBar.d.ts +0 -8
- package/dist/tui/components/StatusBar.js +0 -19
- package/dist/tui/utils/parseDiff.d.ts +0 -2
- package/dist/tui/utils/parseDiff.js +0 -67
- package/dist/utils/createId.test.d.ts +0 -1
- 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]
|
|
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]`)
|
|
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]`)
|
|
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]
|
|
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,
|