diffing 0.11.0 → 0.13.0

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 (184) hide show
  1. package/README.md +56 -801
  2. package/dist/{cli-agent-DkwGxuy2.mjs → cli-agent-Cx2k0Ki7.mjs} +236 -59
  3. package/dist/{cli-gh-D0NfKpOp.mjs → cli-gh-BQuQpV-s.mjs} +24 -14
  4. package/dist/cli.mjs +69 -26
  5. package/dist/client/assets/{angular-html-Dl53kkiy.js → angular-html-gcUdctE_.js} +1 -1
  6. package/dist/client/assets/{angular-ts-wNJFFkey.js → angular-ts-BkjLgJJH.js} +1 -1
  7. package/dist/client/assets/{apl-BxtQST-h.js → apl-BtuEza96.js} +1 -1
  8. package/dist/client/assets/{arc-CBmZuzPB.js → arc-yk_3cjs2.js} +1 -1
  9. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CEci_K9f.js → architectureDiagram-3BPJPVTR-DDVXPdzY.js} +1 -1
  10. package/dist/client/assets/{astro-BpADD5rh.js → astro-DfUNgEjV.js} +1 -1
  11. package/dist/client/assets/{blade-B4I5SQmP.js → blade-uv3PNTww.js} +1 -1
  12. package/dist/client/assets/{blockDiagram-GPEHLZMM-DcKhDtnE.js → blockDiagram-GPEHLZMM-DlMLqbfD.js} +1 -1
  13. package/dist/client/assets/{c-C3VtOgg8.js → c-DcsMh0kd.js} +1 -1
  14. package/dist/client/assets/{c4Diagram-AAUBKEIU-CaHozoxF.js → c4Diagram-AAUBKEIU-C4ZZJAMJ.js} +1 -1
  15. package/dist/client/assets/channel-CPOnEOhs.js +1 -0
  16. package/dist/client/assets/{chunk-2J33WTMH-tvuzKhdK.js → chunk-2J33WTMH-CwkSvLT8.js} +1 -1
  17. package/dist/client/assets/{chunk-3OPIFGDE-D_nBoD9w.js → chunk-3OPIFGDE-s6UH12Df.js} +1 -1
  18. package/dist/client/assets/{chunk-4BX2VUAB-yHPdy1G8.js → chunk-4BX2VUAB-wGjYymx_.js} +1 -1
  19. package/dist/client/assets/{chunk-55IACEB6-yXpL8wjV.js → chunk-55IACEB6-DObbP11Q.js} +1 -1
  20. package/dist/client/assets/{chunk-5ZQYHXKU-DZ5cvCDV.js → chunk-5ZQYHXKU-DwbkzQEJ.js} +1 -1
  21. package/dist/client/assets/{chunk-727SXJPM-CJjgOWmY.js → chunk-727SXJPM-DzoJfly4.js} +1 -1
  22. package/dist/client/assets/{chunk-AQP2D5EJ-CQYQKXSE.js → chunk-AQP2D5EJ-f1kNxYS3.js} +1 -1
  23. package/dist/client/assets/{chunk-BSJP7CBP-CP_f908b.js → chunk-BSJP7CBP-CTBkVJEp.js} +1 -1
  24. package/dist/client/assets/{chunk-CSCIHK7Q-tcgA8jR0.js → chunk-CSCIHK7Q-C6dvEyPX.js} +1 -1
  25. package/dist/client/assets/{chunk-FMBD7UC4-DlpmhBYg.js → chunk-FMBD7UC4-C166WZ7L.js} +1 -1
  26. package/dist/client/assets/{chunk-KSCS5N6A-BkfieXpV.js → chunk-KSCS5N6A-CaVyQHxA.js} +1 -1
  27. package/dist/client/assets/{chunk-L5ZTLDWV-BjVXSZnt.js → chunk-L5ZTLDWV-CdW7usF5.js} +1 -1
  28. package/dist/client/assets/{chunk-LZXEDZCA-CaAWmy4Q.js → chunk-LZXEDZCA-imRCFVGq.js} +2 -2
  29. package/dist/client/assets/{chunk-ND2GUHAM-kWh41zUn.js → chunk-ND2GUHAM-BJCVPOgO.js} +1 -1
  30. package/dist/client/assets/{chunk-NZK2D7GU-CDrIi44_.js → chunk-NZK2D7GU-DodLkks9.js} +1 -1
  31. package/dist/client/assets/{chunk-O5CBEL6O-CbNGK3Te.js → chunk-O5CBEL6O-DYxYE_dt.js} +1 -1
  32. package/dist/client/assets/chunk-QZHKN3VN-7sNTyEOs.js +1 -0
  33. package/dist/client/assets/chunk-WU5MYG2G-DluN2oZF.js +1 -0
  34. package/dist/client/assets/{chunk-XPW4576I-Cca0fTtG.js → chunk-XPW4576I-DkPXlA-y.js} +1 -1
  35. package/dist/client/assets/classDiagram-4FO5ZUOK-CHofrzZI.js +1 -0
  36. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B8fKe5FS.js +1 -0
  37. package/dist/client/assets/{cobol-j-6eG2UQ.js → cobol-B5tSUxVN.js} +1 -1
  38. package/dist/client/assets/{coffee-CZLH0dtt.js → coffee-B2Q8w4Zu.js} +1 -1
  39. package/dist/client/assets/{cose-bilkent-S5V4N54A-DlxESVex.js → cose-bilkent-S5V4N54A-Bg2tspSU.js} +1 -1
  40. package/dist/client/assets/{cpp-j6Bp24RI.js → cpp-CfzAEc1z.js} +1 -1
  41. package/dist/client/assets/{crystal-DW7wcFUs.js → crystal-BDxAjW7-.js} +1 -1
  42. package/dist/client/assets/{css-C43BDU2i.js → css-nC3_RAjk.js} +1 -1
  43. package/dist/client/assets/{dagre-BM42HDAG-BaemEJFh.js → dagre-BM42HDAG-BZiNHe27.js} +1 -1
  44. package/dist/client/assets/{diagram-2AECGRRQ-BaM-bkJ3.js → diagram-2AECGRRQ-D3Vd2itQ.js} +1 -1
  45. package/dist/client/assets/{diagram-5GNKFQAL-BOH04DJO.js → diagram-5GNKFQAL-D44Rm6ep.js} +1 -1
  46. package/dist/client/assets/{diagram-KO2AKTUF-BP5MyqDZ.js → diagram-KO2AKTUF-DwoQejb5.js} +1 -1
  47. package/dist/client/assets/{diagram-LMA3HP47-Dt4gKMYF.js → diagram-LMA3HP47-C1eaDL4X.js} +1 -1
  48. package/dist/client/assets/{diagram-OG6HWLK6-DoT1VshN.js → diagram-OG6HWLK6-BtBJHHnj.js} +1 -1
  49. package/dist/client/assets/{dist-DEAxvC4F.js → dist-DUBmiUQf.js} +1 -1
  50. package/dist/client/assets/{edge-D9ySFlnD.js → edge-WCfPDabs.js} +1 -1
  51. package/dist/client/assets/{elixir-CoJz_LQ5.js → elixir-CazmTZo9.js} +1 -1
  52. package/dist/client/assets/{elm-CvedWh_e.js → elm-CTqaOirp.js} +1 -1
  53. package/dist/client/assets/{erDiagram-TEJ5UH35-CMP78FsQ.js → erDiagram-TEJ5UH35-CqjpbNDt.js} +1 -1
  54. package/dist/client/assets/{erb-lD_yYZsm.js → erb-CK9x36t2.js} +1 -1
  55. package/dist/client/assets/{flowDiagram-I6XJVG4X-Dp0s5BFj.js → flowDiagram-I6XJVG4X-CSHJZmlA.js} +1 -1
  56. package/dist/client/assets/{ganttDiagram-6RSMTGT7-GmSG31U-.js → ganttDiagram-6RSMTGT7-D6KxkDpI.js} +1 -1
  57. package/dist/client/assets/{git-rebase-DwZABzof.js → git-rebase-Bn8xQDxV.js} +1 -1
  58. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-C1SXShag.js → gitGraphDiagram-PVQCEYII-ZGSlrHF5.js} +1 -1
  59. package/dist/client/assets/{glimmer-js-CWcs3w1Z.js → glimmer-js-h7wFfOLo.js} +1 -1
  60. package/dist/client/assets/{glimmer-ts-CrzGN4lJ.js → glimmer-ts-vlZuiamP.js} +1 -1
  61. package/dist/client/assets/{glsl-DRCtwX7h.js → glsl-CNutENPV.js} +1 -1
  62. package/dist/client/assets/{graphql-rpmrismS.js → graphql-BfddKr9j.js} +1 -1
  63. package/dist/client/assets/{hack-Ba02RnuQ.js → hack-BkYH75Gx.js} +1 -1
  64. package/dist/client/assets/{haml-BHBACStm.js → haml-CM-xW5RI.js} +1 -1
  65. package/dist/client/assets/{handlebars-BtlQ1SCa.js → handlebars-CklcCbzf.js} +1 -1
  66. package/dist/client/assets/{html-BkVU3Dge.js → html-bltTcC3c.js} +1 -1
  67. package/dist/client/assets/{html-derivative-DoK92vwi.js → html-derivative-C4R1a7Nf.js} +1 -1
  68. package/dist/client/assets/{http-CJAwKSPH.js → http-B6uXoDkp.js} +1 -1
  69. package/dist/client/assets/{hurl-kaX5jwuN.js → hurl-gquKVFPU.js} +1 -1
  70. package/dist/client/assets/{index-D8hOoJCg.css → index-BsuX6HVI.css} +1 -1
  71. package/dist/client/assets/{index-BHeNiC07.js → index-yhKiqbkK.js} +154 -154
  72. package/dist/client/assets/{infoDiagram-5YYISTIA-B0i3BlNR.js → infoDiagram-5YYISTIA-DCQv5BKv.js} +1 -1
  73. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BN8sEei4.js → ishikawaDiagram-YF4QCWOH-BqXC35qz.js} +1 -1
  74. package/dist/client/assets/{java-BvrigIoq.js → java-DZLUJ7qo.js} +1 -1
  75. package/dist/client/assets/{javascript-DZkPTYAi.js → javascript-CayXc7uP.js} +1 -1
  76. package/dist/client/assets/{jinja-Ceg7ui1S.js → jinja-CQQUTC0y.js} +1 -1
  77. package/dist/client/assets/{jison-iE1GaOyN.js → jison-CvzuCn2x.js} +1 -1
  78. package/dist/client/assets/{journeyDiagram-JHISSGLW-CE6O3NhU.js → journeyDiagram-JHISSGLW-bRlSO5Sv.js} +1 -1
  79. package/dist/client/assets/{json-C0j8rEcg.js → json-BsMA0GaP.js} +1 -1
  80. package/dist/client/assets/{jsx-B7eXljgz.js → jsx-Dbxr4aPH.js} +1 -1
  81. package/dist/client/assets/{julia-DMDw0aMP.js → julia-CZ38GzHV.js} +1 -1
  82. package/dist/client/assets/{just-BryMKRJ_.js → just-BQwFLV1D.js} +1 -1
  83. package/dist/client/assets/{kanban-definition-UN3LZRKU-j-aU6Yzp.js → kanban-definition-UN3LZRKU-BVjoqA0y.js} +1 -1
  84. package/dist/client/assets/{latex-BNC9-sjr.js → latex-BGyrMdgQ.js} +1 -1
  85. package/dist/client/assets/{line-CyEqpEDp.js → line-DacHFvZH.js} +1 -1
  86. package/dist/client/assets/{linear-CXeaA9km.js → linear-BPGHNTSb.js} +1 -1
  87. package/dist/client/assets/{liquid-D-fQw-oJ.js → liquid-CiA2vjOH.js} +1 -1
  88. package/dist/client/assets/{lua-CD2aJ_rS.js → lua-D9k3fxwM.js} +1 -1
  89. package/dist/client/assets/{marko-BQ37hu6z.js → marko-CwBH4-2T.js} +1 -1
  90. package/dist/client/assets/{mdc-B5NUi3zZ.js → mdc-D4WuuVvw.js} +1 -1
  91. package/dist/client/assets/{mermaid-parser.core-BxHF_XbX.js → mermaid-parser.core-DuXqm2Gp.js} +1 -1
  92. package/dist/client/assets/{mermaid.core-BUtaf4P1.js → mermaid.core-DRh_KVT1.js} +3 -3
  93. package/dist/client/assets/{mindmap-definition-RKZ34NQL-D13tPu2o.js → mindmap-definition-RKZ34NQL-C5wytjbD.js} +1 -1
  94. package/dist/client/assets/{nginx-1W1E03Rg.js → nginx-DHMa03ia.js} +1 -1
  95. package/dist/client/assets/{nim-C5A88bFP.js → nim-8gK3mQXD.js} +1 -1
  96. package/dist/client/assets/{perl-BYoP0wNt.js → perl-DqXBmOB_.js} +1 -1
  97. package/dist/client/assets/{php-CFxna09e.js → php-CruAnpl2.js} +1 -1
  98. package/dist/client/assets/{pieDiagram-4H26LBE5-CHL7Ml5w.js → pieDiagram-4H26LBE5-Cv2Csp1M.js} +1 -1
  99. package/dist/client/assets/{pug-BR4JgWAk.js → pug-C7a5y4Mi.js} +1 -1
  100. package/dist/client/assets/{qml-D1U1EFEe.js → qml-mgWY__NW.js} +1 -1
  101. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-BnYtv-HY.js → quadrantDiagram-W4KKPZXB-DHQIHzFU.js} +1 -1
  102. package/dist/client/assets/{r-ChE6X060.js → r-Do5QoKdS.js} +1 -1
  103. package/dist/client/assets/{razor-B5iVfQMe.js → razor-BqdDbm9d.js} +1 -1
  104. package/dist/client/assets/{regexp-Dz2drUIf.js → regexp-CNMlPqVr.js} +1 -1
  105. package/dist/client/assets/{requirementDiagram-4Y6WPE33-D8QEGLKB.js → requirementDiagram-4Y6WPE33-rUeJykKo.js} +1 -1
  106. package/dist/client/assets/{review-export-CvFFbCAB.js → review-export-BgwyN8Ky.js} +1 -1
  107. package/dist/client/assets/{rst-DZM3RGRs.js → rst-PYCtADQ2.js} +1 -1
  108. package/dist/client/assets/{ruby-DkXnm-J8.js → ruby-B8JdoeHE.js} +1 -1
  109. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-wVaks6lB.js → sankeyDiagram-5OEKKPKP-Bsga6dQU.js} +1 -1
  110. package/dist/client/assets/{sas-DMbpc71c.js → sas-kIev4j3d.js} +1 -1
  111. package/dist/client/assets/{scss-IwVMMp22.js → scss-cf-rl7q3.js} +1 -1
  112. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-Cg31TB-R.js → sequenceDiagram-3UESZ5HK-BVcwcOB2.js} +1 -1
  113. package/dist/client/assets/{shellscript-CIStAKx3.js → shellscript-BHMFbkaV.js} +1 -1
  114. package/dist/client/assets/{shellsession-uLtzHhlo.js → shellsession-y_3kBnoK.js} +1 -1
  115. package/dist/client/assets/{soy-BkxBYigm.js → soy-Coc7dfRW.js} +1 -1
  116. package/dist/client/assets/{sql-Ba9y9EvJ.js → sql-CsZYO19m.js} +1 -1
  117. package/dist/client/assets/{src-9MKexpFu.js → src-ujohT29p.js} +1 -1
  118. package/dist/client/assets/{stata-CrPCbiIZ.js → stata-BFa4m_Eh.js} +1 -1
  119. package/dist/client/assets/{stateDiagram-AJRCARHV-BbvNjVF6.js → stateDiagram-AJRCARHV-DBElJIPe.js} +1 -1
  120. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BocZ498b.js +1 -0
  121. package/dist/client/assets/{surrealql-Dvip5u_o.js → surrealql-DlwfRFnC.js} +1 -1
  122. package/dist/client/assets/{svelte-xBLD60Zd.js → svelte-RrLklQOZ.js} +1 -1
  123. package/dist/client/assets/{templ-CWv68xbP.js → templ-BDbBg7z2.js} +1 -1
  124. package/dist/client/assets/{tex-CHqz-fYs.js → tex-BeAp-Hqv.js} +1 -1
  125. package/dist/client/assets/{timeline-definition-PNZ67QCA-CWKkJ3QZ.js → timeline-definition-PNZ67QCA-Det2OiYV.js} +1 -1
  126. package/dist/client/assets/{ts-tags-DS82EDuE.js → ts-tags-Dz-1CFmn.js} +1 -1
  127. package/dist/client/assets/{tsx-B2GBjp2F.js → tsx-Dfi08w8H.js} +1 -1
  128. package/dist/client/assets/{twig-CC8x9pG0.js → twig-BfzYY6Hd.js} +1 -1
  129. package/dist/client/assets/{typescript-g7i13lnC.js → typescript-6FNAPG3Z.js} +1 -1
  130. package/dist/client/assets/{vennDiagram-CIIHVFJN-OLItKWeg.js → vennDiagram-CIIHVFJN-DhH4H0vl.js} +1 -1
  131. package/dist/client/assets/{vue-rFbe7luB.js → vue-DTPedjqE.js} +1 -1
  132. package/dist/client/assets/{vue-html-D9GQtYub.js → vue-html-B4sC29Oj.js} +1 -1
  133. package/dist/client/assets/{vue-vine-mrNtQtY5.js → vue-vine-BWzpqJ4r.js} +1 -1
  134. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Dy1yfeb4.js → wardleyDiagram-YWT4CUSO-BC8K10yP.js} +1 -1
  135. package/dist/client/assets/{xml-CHfMjyAM.js → xml-BK8ACjht.js} +1 -1
  136. package/dist/client/assets/{xsl-BFkNSogJ.js → xsl-rjlrbfou.js} +1 -1
  137. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DfSnfjVL.js → xychartDiagram-2RQKCTM6-DwcVZiB5.js} +1 -1
  138. package/dist/client/assets/{yaml-BfSgHc04.js → yaml-DM6lgMhS.js} +1 -1
  139. package/dist/client/index.html +2 -2
  140. package/dist/completions-5rtfoxB9.mjs +2 -0
  141. package/dist/{completions-BO2DUM-8.mjs → completions-7YSX1neu.mjs} +7 -1
  142. package/dist/{doctor-D0Y3kOY7.mjs → doctor-BMfx7_GY.mjs} +16 -14
  143. package/dist/doctor-BRr5IWHe.mjs +2 -0
  144. package/dist/{find-tui-binary-B71xiwWu.mjs → find-tui-binary-DGspwyvd.mjs} +56 -25
  145. package/dist/{git-Czo96ymM.mjs → git-BGj31GX-.mjs} +71 -7
  146. package/dist/git-CfDSkUcE.mjs +2 -0
  147. package/dist/{github-CErBub2y.mjs → github-BLrnsozP.mjs} +1 -1
  148. package/dist/{github-DBsZ0h_l.mjs → github-DbAFoB92.mjs} +3 -3
  149. package/dist/{github-attachments-plDeB0iE.mjs → github-attachments-fNCKYL-Z.mjs} +2 -2
  150. package/dist/{mcp-DtVrMR2S.mjs → mcp-Bi551clR.mjs} +33 -30
  151. package/dist/native/tui-darwin-arm64/diffing-tui +0 -0
  152. package/dist/native/tui-darwin-x64/diffing-tui +0 -0
  153. package/dist/native/tui-linux-arm64-gnu/diffing-tui +0 -0
  154. package/dist/native/tui-linux-arm64-musl/diffing-tui +0 -0
  155. package/dist/native/tui-linux-x64-gnu/diffing-tui +0 -0
  156. package/dist/native/tui-linux-x64-musl/diffing-tui +0 -0
  157. package/dist/native/tui-win32-x64-msvc/diffing-tui.exe +0 -0
  158. package/dist/{search-BMPY_ZW8.mjs → search-3R2E5xxr.mjs} +16 -1
  159. package/dist/{search-BO9Im7eu.mjs → search-CQ4nsjBX.mjs} +1 -1
  160. package/dist/{server-j0PnTVX1.mjs → server-B9NVZu7l.mjs} +174 -46
  161. package/dist/{server-lock-CY0_1mcS.mjs → server-lock-BNI8FKV1.mjs} +175 -23
  162. package/dist/{session-conflict-C6V9ZKo7.mjs → session-conflict-CB0IErdn.mjs} +8 -7
  163. package/dist/{session-manager-CYNchhVA.mjs → session-manager-656aJXFE.mjs} +2 -2
  164. package/dist/session-url-B8TrGGeE.mjs +33 -0
  165. package/dist/{settings-yK0GYpbn.mjs → settings-DkPDB_hS.mjs} +32 -4
  166. package/dist/setup-BiwX7vdd.mjs +446 -0
  167. package/dist/setup-first-run-DyT0PlOZ.mjs +2 -0
  168. package/dist/setup-first-run-i1o7DBki.mjs +74 -0
  169. package/dist/terminal-BroplOnw.mjs +116 -0
  170. package/dist/{tui-search-bridge-Bfb2ktdA.mjs → tui-search-bridge-fFKqX4Fi.mjs} +3 -3
  171. package/dist/{update-check-Copcz9eb.mjs → update-check-ISaw61qS.mjs} +16 -15
  172. package/package.json +11 -3
  173. package/scripts/postinstall.mjs +52 -0
  174. package/dist/client/assets/channel-Ct4-oSQN.js +0 -1
  175. package/dist/client/assets/chunk-QZHKN3VN-BXhKFVX7.js +0 -1
  176. package/dist/client/assets/chunk-WU5MYG2G-_EwuC51_.js +0 -1
  177. package/dist/client/assets/classDiagram-4FO5ZUOK-C8bdx9R4.js +0 -1
  178. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B26wrQuH.js +0 -1
  179. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-B5BbZkU5.js +0 -1
  180. package/dist/git-DaP_1rVy.mjs +0 -2
  181. /package/dist/{apply-suggestion-CHYnw68I.mjs → apply-suggestion-BsR_8FXW.mjs} +0 -0
  182. /package/dist/{diff-fingerprint-BgR0tu1o.mjs → diff-fingerprint-BL5jNHnP.mjs} +0 -0
  183. /package/dist/{handoff-LAFtmnHf.mjs → handoff-DcShCxWJ.mjs} +0 -0
  184. /package/dist/{review-export-B63eRAVa.mjs → review-export-GW4KNsGN.mjs} +0 -0
@@ -32,15 +32,18 @@ async function checkForUpdates(currentVersion) {
32
32
  try {
33
33
  const controller = new AbortController();
34
34
  const id = setTimeout(() => controller.abort(), 1e3);
35
- const res = await fetch("https://registry.npmjs.org/diffing/latest", { signal: controller.signal });
36
- clearTimeout(id);
37
- if (!res.ok) return null;
38
- const data = await res.json();
39
- if (!data.version) return null;
40
- return {
41
- hasUpdate: isNewerVersion(currentVersion, data.version),
42
- latestVersion: data.version
43
- };
35
+ try {
36
+ const res = await fetch("https://registry.npmjs.org/diffing/latest", { signal: controller.signal });
37
+ if (!res.ok) return null;
38
+ const data = await res.json();
39
+ if (!data.version) return null;
40
+ return {
41
+ hasUpdate: isNewerVersion(currentVersion, data.version),
42
+ latestVersion: data.version
43
+ };
44
+ } finally {
45
+ clearTimeout(id);
46
+ }
44
47
  } catch {
45
48
  return null;
46
49
  }
@@ -106,10 +109,7 @@ async function runUpdateCommand() {
106
109
  } catch {}
107
110
  console.log(`Running: ${cmd} ${args.join(" ")}\n`);
108
111
  const exitCode = await new Promise((res) => {
109
- const child = spawn(cmd, args, {
110
- stdio: "inherit",
111
- shell: true
112
- });
112
+ const child = spawn(cmd, args, { stdio: "inherit" });
113
113
  child.on("close", (code) => {
114
114
  res(code ?? 0);
115
115
  });
@@ -120,8 +120,9 @@ async function runUpdateCommand() {
120
120
  });
121
121
  if (exitCode === 0) console.log(`\n\x1b[38;5;82mSuccessfully updated diffing to v${latest}!\x1b[0m\n`);
122
122
  else {
123
- console.error(`\n\x1b[38;5;196mFailed to update diffing. Please try running the command manually with sudo if required:\x1b[0m`);
124
- console.error(` sudo ${cmd} ${args.join(" ")}\n`);
123
+ console.error(`\n\x1b[38;5;196mFailed to update diffing. Install into your user prefix instead of using sudo:\x1b[0m`);
124
+ console.error(` npm config get prefix # e.g. ~/.npm-global or ~/.local`);
125
+ console.error(` ${cmd} ${args.join(" ")}\n`);
125
126
  }
126
127
  return exitCode;
127
128
  }
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "diffing",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "local-first CLI for reviewing, navigating, and discussing git diffs with AI",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
+ "engines": {
8
+ "node": ">=20"
9
+ },
7
10
  "packageManager": "pnpm@11.6.0",
8
11
  "homepage": "https://github.com/ahmedragab20/diffing",
9
12
  "repository": {
@@ -23,7 +26,8 @@
23
26
  "diffing": "./dist/cli.mjs"
24
27
  },
25
28
  "files": [
26
- "dist"
29
+ "dist",
30
+ "scripts/postinstall.mjs"
27
31
  ],
28
32
  "scripts": {
29
33
  "build": "pnpm run build:ts && pnpm run build:tui && pnpm run bundle:tui",
@@ -31,6 +35,7 @@
31
35
  "build:tui": "cargo build --release --manifest-path crates/diffing-tui/Cargo.toml",
32
36
  "build:tui:debug": "cargo build --manifest-path crates/diffing-tui/Cargo.toml",
33
37
  "bundle:tui": "node scripts/stage-tui-binary.mjs",
38
+ "postinstall": "node scripts/postinstall.mjs",
34
39
  "changeset": "changeset",
35
40
  "dev:client": "vite",
36
41
  "dev:server": "tsx src/cli.ts --no-open --port 3433",
@@ -42,7 +47,10 @@
42
47
  "verify:tui-bundle": "vitest run src/__tests__/native-bundle.test.ts src/__tests__/find-tui-binary.test.ts",
43
48
  "verify:release-bundle": "node scripts/verify-tui-bundle.mjs",
44
49
  "prepublishOnly": "pnpm run verify:release-bundle",
45
- "version-packages": "changeset version"
50
+ "version-packages": "changeset version",
51
+ "docs:dev": "pnpm --dir site dev",
52
+ "docs:build": "pnpm --dir site build",
53
+ "docs:preview": "pnpm --dir site preview"
46
54
  },
47
55
  "dependencies": {
48
56
  "@base-ui-components/react": "1.0.0-rc.0",
@@ -0,0 +1,52 @@
1
+ import { readFileSync } from 'node:fs'
2
+ import { dirname, resolve } from 'node:path'
3
+ import { fileURLToPath } from 'node:url'
4
+
5
+ function shouldPrintPostinstallBanner(env = process.env, isTTY = Boolean(process.stdout.isTTY)) {
6
+ if (!isTTY) return false
7
+ if (
8
+ env.CI ||
9
+ env.CONTINUOUS_INTEGRATION ||
10
+ env.BUILD_NUMBER ||
11
+ env.GITHUB_ACTIONS ||
12
+ env.GITLAB_CI ||
13
+ env.CIRCLECI ||
14
+ env.JENKINS_URL
15
+ ) {
16
+ return false
17
+ }
18
+ return true
19
+ }
20
+
21
+ function readPackageVersion() {
22
+ try {
23
+ const here = dirname(fileURLToPath(import.meta.url))
24
+ const pkg = JSON.parse(readFileSync(resolve(here, '..', 'package.json'), 'utf-8'))
25
+ return pkg.version ?? 'unknown'
26
+ } catch {
27
+ return 'unknown'
28
+ }
29
+ }
30
+
31
+ async function main() {
32
+ if (!shouldPrintPostinstallBanner()) return
33
+ const version = readPackageVersion()
34
+ try {
35
+ const { formatPostinstallBanner } = await import('../dist/lib/postinstall-banner.mjs')
36
+ process.stdout.write(formatPostinstallBanner(version, { color: true }))
37
+ } catch {
38
+ process.stdout.write(
39
+ [
40
+ '',
41
+ `diffing v${version} installed.`,
42
+ '',
43
+ ' Quick start: cd your-repo && diffing',
44
+ ' First-time: diffing setup (skills, MCP, doctor)',
45
+ ' Docs: docs/getting-started.md',
46
+ '',
47
+ ].join('\n'),
48
+ )
49
+ }
50
+ }
51
+
52
+ main()
@@ -1 +0,0 @@
1
- import{at as e,ot as t}from"./chunk-CSCIHK7Q-tcgA8jR0.js";var n=(n,r)=>t.lang.round(e.parse(n)[r]);export{n as t};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-9MKexpFu.js";var t=class{constructor(e){this.init=e,this.records=this.init()}static{e(this,`ImperativeState`)}reset(){this.records=this.init()}};export{t};
@@ -1 +0,0 @@
1
- import{h as e,p as t}from"./src-9MKexpFu.js";import{x as n}from"./chunk-CSCIHK7Q-tcgA8jR0.js";var r=e(e=>{let{securityLevel:r}=n(),i=t(`body`);return r===`sandbox`&&(i=t((t(`#i${e}`).node()?.contentDocument??document).body)),i.select(`#${e}`)},`selectSvgElement`);export{r as t};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-9MKexpFu.js";import"./chunk-CSCIHK7Q-tcgA8jR0.js";import"./chunk-5ZQYHXKU-DZ5cvCDV.js";import"./chunk-O5CBEL6O-CbNGK3Te.js";import"./chunk-FMBD7UC4-DlpmhBYg.js";import"./chunk-BSJP7CBP-CP_f908b.js";import"./chunk-L5ZTLDWV-BjVXSZnt.js";import"./chunk-ND2GUHAM-kWh41zUn.js";import"./chunk-55IACEB6-yXpL8wjV.js";import"./chunk-2J33WTMH-tvuzKhdK.js";import"./chunk-NZK2D7GU-CDrIi44_.js";import"./chunk-3OPIFGDE-D_nBoD9w.js";import"./chunk-KSCS5N6A-BkfieXpV.js";import"./chunk-LZXEDZCA-CaAWmy4Q.js";import{i as t,n,r,t as i}from"./chunk-727SXJPM-CJjgOWmY.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-9MKexpFu.js";import"./chunk-CSCIHK7Q-tcgA8jR0.js";import"./chunk-5ZQYHXKU-DZ5cvCDV.js";import"./chunk-O5CBEL6O-CbNGK3Te.js";import"./chunk-FMBD7UC4-DlpmhBYg.js";import"./chunk-BSJP7CBP-CP_f908b.js";import"./chunk-L5ZTLDWV-BjVXSZnt.js";import"./chunk-ND2GUHAM-kWh41zUn.js";import"./chunk-55IACEB6-yXpL8wjV.js";import"./chunk-2J33WTMH-tvuzKhdK.js";import"./chunk-NZK2D7GU-CDrIi44_.js";import"./chunk-3OPIFGDE-D_nBoD9w.js";import"./chunk-KSCS5N6A-BkfieXpV.js";import"./chunk-LZXEDZCA-CaAWmy4Q.js";import{i as t,n,r,t as i}from"./chunk-727SXJPM-CJjgOWmY.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{h as e}from"./src-9MKexpFu.js";import"./chunk-CSCIHK7Q-tcgA8jR0.js";import"./chunk-5ZQYHXKU-DZ5cvCDV.js";import"./chunk-O5CBEL6O-CbNGK3Te.js";import"./chunk-BSJP7CBP-CP_f908b.js";import"./chunk-L5ZTLDWV-BjVXSZnt.js";import"./chunk-55IACEB6-yXpL8wjV.js";import"./chunk-2J33WTMH-tvuzKhdK.js";import"./chunk-NZK2D7GU-CDrIi44_.js";import"./chunk-3OPIFGDE-D_nBoD9w.js";import"./chunk-KSCS5N6A-BkfieXpV.js";import"./chunk-LZXEDZCA-CaAWmy4Q.js";import{i as t,n,r,t as i}from"./chunk-AQP2D5EJ-CQYQKXSE.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1,2 +0,0 @@
1
- import { d as getProjectStorageDir } from "./git-Czo96ymM.mjs";
2
- export { getProjectStorageDir };