@camaradesuk/git-worktree-tools 1.10.0 → 1.12.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 (431) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/config.d.ts +2 -1
  3. package/dist/lib/config.d.ts.map +1 -1
  4. package/dist/lib/config.js +11 -0
  5. package/dist/lib/config.js.map +1 -1
  6. package/package.json +12 -3
  7. package/schemas/worktreerc.schema.json +1 -1
  8. package/dist/api/list.test.d.ts +0 -5
  9. package/dist/api/list.test.d.ts.map +0 -1
  10. package/dist/api/list.test.js +0 -390
  11. package/dist/api/list.test.js.map +0 -1
  12. package/dist/cli/cleanpr.test.d.ts +0 -2
  13. package/dist/cli/cleanpr.test.d.ts.map +0 -1
  14. package/dist/cli/cleanpr.test.js +0 -954
  15. package/dist/cli/cleanpr.test.js.map +0 -1
  16. package/dist/cli/lswt.test.d.ts +0 -2
  17. package/dist/cli/lswt.test.d.ts.map +0 -1
  18. package/dist/cli/lswt.test.js +0 -376
  19. package/dist/cli/lswt.test.js.map +0 -1
  20. package/dist/cli/newpr.test.d.ts +0 -2
  21. package/dist/cli/newpr.test.d.ts.map +0 -1
  22. package/dist/cli/newpr.test.js +0 -1182
  23. package/dist/cli/newpr.test.js.map +0 -1
  24. package/dist/cli/prs.test.d.ts +0 -8
  25. package/dist/cli/prs.test.d.ts.map +0 -1
  26. package/dist/cli/prs.test.js +0 -463
  27. package/dist/cli/prs.test.js.map +0 -1
  28. package/dist/cli/wt/clean.test.d.ts +0 -8
  29. package/dist/cli/wt/clean.test.d.ts.map +0 -1
  30. package/dist/cli/wt/clean.test.js +0 -624
  31. package/dist/cli/wt/clean.test.js.map +0 -1
  32. package/dist/cli/wt/completion.test.d.ts +0 -5
  33. package/dist/cli/wt/completion.test.d.ts.map +0 -1
  34. package/dist/cli/wt/completion.test.js +0 -275
  35. package/dist/cli/wt/completion.test.js.map +0 -1
  36. package/dist/cli/wt/config.test.d.ts +0 -7
  37. package/dist/cli/wt/config.test.d.ts.map +0 -1
  38. package/dist/cli/wt/config.test.js +0 -440
  39. package/dist/cli/wt/config.test.js.map +0 -1
  40. package/dist/cli/wt/entry.test.d.ts +0 -8
  41. package/dist/cli/wt/entry.test.d.ts.map +0 -1
  42. package/dist/cli/wt/entry.test.js +0 -201
  43. package/dist/cli/wt/entry.test.js.map +0 -1
  44. package/dist/cli/wt/init.test.d.ts +0 -5
  45. package/dist/cli/wt/init.test.d.ts.map +0 -1
  46. package/dist/cli/wt/init.test.js +0 -165
  47. package/dist/cli/wt/init.test.js.map +0 -1
  48. package/dist/cli/wt/init.unit.test.d.ts +0 -5
  49. package/dist/cli/wt/init.unit.test.d.ts.map +0 -1
  50. package/dist/cli/wt/init.unit.test.js +0 -432
  51. package/dist/cli/wt/init.unit.test.js.map +0 -1
  52. package/dist/cli/wt/interactive-menu.test.d.ts +0 -12
  53. package/dist/cli/wt/interactive-menu.test.d.ts.map +0 -1
  54. package/dist/cli/wt/interactive-menu.test.js +0 -796
  55. package/dist/cli/wt/interactive-menu.test.js.map +0 -1
  56. package/dist/cli/wt/list.test.d.ts +0 -10
  57. package/dist/cli/wt/list.test.d.ts.map +0 -1
  58. package/dist/cli/wt/list.test.js +0 -157
  59. package/dist/cli/wt/list.test.js.map +0 -1
  60. package/dist/cli/wt/prs.test.d.ts +0 -5
  61. package/dist/cli/wt/prs.test.d.ts.map +0 -1
  62. package/dist/cli/wt/prs.test.js +0 -410
  63. package/dist/cli/wt/prs.test.js.map +0 -1
  64. package/dist/cli/wt/run-command.test.d.ts +0 -5
  65. package/dist/cli/wt/run-command.test.d.ts.map +0 -1
  66. package/dist/cli/wt/run-command.test.js +0 -88
  67. package/dist/cli/wt/run-command.test.js.map +0 -1
  68. package/dist/cli/wt/state.test.d.ts +0 -9
  69. package/dist/cli/wt/state.test.d.ts.map +0 -1
  70. package/dist/cli/wt/state.test.js +0 -127
  71. package/dist/cli/wt/state.test.js.map +0 -1
  72. package/dist/cli/wt/wt.test.d.ts +0 -8
  73. package/dist/cli/wt/wt.test.d.ts.map +0 -1
  74. package/dist/cli/wt/wt.test.js +0 -739
  75. package/dist/cli/wt/wt.test.js.map +0 -1
  76. package/dist/cli/wt.unit.test.d.ts +0 -7
  77. package/dist/cli/wt.unit.test.d.ts.map +0 -1
  78. package/dist/cli/wt.unit.test.js +0 -160
  79. package/dist/cli/wt.unit.test.js.map +0 -1
  80. package/dist/cli/wtconfig.test.d.ts +0 -5
  81. package/dist/cli/wtconfig.test.d.ts.map +0 -1
  82. package/dist/cli/wtconfig.test.js +0 -1289
  83. package/dist/cli/wtconfig.test.js.map +0 -1
  84. package/dist/cli/wtlink.test.d.ts +0 -2
  85. package/dist/cli/wtlink.test.d.ts.map +0 -1
  86. package/dist/cli/wtlink.test.js +0 -249
  87. package/dist/cli/wtlink.test.js.map +0 -1
  88. package/dist/cli/wtstate.test.d.ts +0 -5
  89. package/dist/cli/wtstate.test.d.ts.map +0 -1
  90. package/dist/cli/wtstate.test.js +0 -193
  91. package/dist/cli/wtstate.test.js.map +0 -1
  92. package/dist/e2e/cleanpr/cleanpr.e2e.test.d.ts +0 -2
  93. package/dist/e2e/cleanpr/cleanpr.e2e.test.d.ts.map +0 -1
  94. package/dist/e2e/cleanpr/cleanpr.e2e.test.js +0 -326
  95. package/dist/e2e/cleanpr/cleanpr.e2e.test.js.map +0 -1
  96. package/dist/e2e/cli.e2e.test.d.ts +0 -2
  97. package/dist/e2e/cli.e2e.test.d.ts.map +0 -1
  98. package/dist/e2e/cli.e2e.test.js +0 -417
  99. package/dist/e2e/cli.e2e.test.js.map +0 -1
  100. package/dist/e2e/lswt/lswt.e2e.test.d.ts +0 -2
  101. package/dist/e2e/lswt/lswt.e2e.test.d.ts.map +0 -1
  102. package/dist/e2e/lswt/lswt.e2e.test.js +0 -361
  103. package/dist/e2e/lswt/lswt.e2e.test.js.map +0 -1
  104. package/dist/e2e/newpr/newpr.e2e.test.d.ts +0 -2
  105. package/dist/e2e/newpr/newpr.e2e.test.d.ts.map +0 -1
  106. package/dist/e2e/newpr/newpr.e2e.test.js +0 -286
  107. package/dist/e2e/newpr/newpr.e2e.test.js.map +0 -1
  108. package/dist/e2e/newpr/scenarios.e2e.test.d.ts +0 -2
  109. package/dist/e2e/newpr/scenarios.e2e.test.d.ts.map +0 -1
  110. package/dist/e2e/newpr/scenarios.e2e.test.js +0 -426
  111. package/dist/e2e/newpr/scenarios.e2e.test.js.map +0 -1
  112. package/dist/e2e/newpr-full-flow.e2e.test.d.ts +0 -2
  113. package/dist/e2e/newpr-full-flow.e2e.test.d.ts.map +0 -1
  114. package/dist/e2e/newpr-full-flow.e2e.test.js +0 -280
  115. package/dist/e2e/newpr-full-flow.e2e.test.js.map +0 -1
  116. package/dist/e2e/prs/prs.e2e.test.d.ts +0 -7
  117. package/dist/e2e/prs/prs.e2e.test.d.ts.map +0 -1
  118. package/dist/e2e/prs/prs.e2e.test.js +0 -606
  119. package/dist/e2e/prs/prs.e2e.test.js.map +0 -1
  120. package/dist/e2e/workflows/pr-lifecycle.e2e.test.d.ts +0 -2
  121. package/dist/e2e/workflows/pr-lifecycle.e2e.test.d.ts.map +0 -1
  122. package/dist/e2e/workflows/pr-lifecycle.e2e.test.js +0 -298
  123. package/dist/e2e/workflows/pr-lifecycle.e2e.test.js.map +0 -1
  124. package/dist/e2e/wt/interactive-menu.e2e.test.d.ts +0 -8
  125. package/dist/e2e/wt/interactive-menu.e2e.test.d.ts.map +0 -1
  126. package/dist/e2e/wt/interactive-menu.e2e.test.js +0 -583
  127. package/dist/e2e/wt/interactive-menu.e2e.test.js.map +0 -1
  128. package/dist/e2e/wt/wt.e2e.test.d.ts +0 -9
  129. package/dist/e2e/wt/wt.e2e.test.d.ts.map +0 -1
  130. package/dist/e2e/wt/wt.e2e.test.js +0 -597
  131. package/dist/e2e/wt/wt.e2e.test.js.map +0 -1
  132. package/dist/e2e/wtlink/wtlink.e2e.test.d.ts +0 -2
  133. package/dist/e2e/wtlink/wtlink.e2e.test.d.ts.map +0 -1
  134. package/dist/e2e/wtlink/wtlink.e2e.test.js +0 -416
  135. package/dist/e2e/wtlink/wtlink.e2e.test.js.map +0 -1
  136. package/dist/integration/git.integration.test.d.ts +0 -2
  137. package/dist/integration/git.integration.test.d.ts.map +0 -1
  138. package/dist/integration/git.integration.test.js +0 -336
  139. package/dist/integration/git.integration.test.js.map +0 -1
  140. package/dist/integration/lswt-remote-pr.integration.test.d.ts +0 -2
  141. package/dist/integration/lswt-remote-pr.integration.test.d.ts.map +0 -1
  142. package/dist/integration/lswt-remote-pr.integration.test.js +0 -222
  143. package/dist/integration/lswt-remote-pr.integration.test.js.map +0 -1
  144. package/dist/integration/newpr-branchfrom-head.integration.test.d.ts +0 -2
  145. package/dist/integration/newpr-branchfrom-head.integration.test.d.ts.map +0 -1
  146. package/dist/integration/newpr-branchfrom-head.integration.test.js +0 -498
  147. package/dist/integration/newpr-branchfrom-head.integration.test.js.map +0 -1
  148. package/dist/integration/newpr.integration.test.d.ts +0 -2
  149. package/dist/integration/newpr.integration.test.d.ts.map +0 -1
  150. package/dist/integration/newpr.integration.test.js +0 -460
  151. package/dist/integration/newpr.integration.test.js.map +0 -1
  152. package/dist/integration/prs.integration.test.d.ts +0 -8
  153. package/dist/integration/prs.integration.test.d.ts.map +0 -1
  154. package/dist/integration/prs.integration.test.js +0 -478
  155. package/dist/integration/prs.integration.test.js.map +0 -1
  156. package/dist/lib/ai/base-provider.test.d.ts +0 -7
  157. package/dist/lib/ai/base-provider.test.d.ts.map +0 -1
  158. package/dist/lib/ai/base-provider.test.js +0 -319
  159. package/dist/lib/ai/base-provider.test.js.map +0 -1
  160. package/dist/lib/ai/cli-provider.test.d.ts +0 -5
  161. package/dist/lib/ai/cli-provider.test.d.ts.map +0 -1
  162. package/dist/lib/ai/cli-provider.test.js +0 -460
  163. package/dist/lib/ai/cli-provider.test.js.map +0 -1
  164. package/dist/lib/ai/fallback-provider.test.d.ts +0 -7
  165. package/dist/lib/ai/fallback-provider.test.d.ts.map +0 -1
  166. package/dist/lib/ai/fallback-provider.test.js +0 -165
  167. package/dist/lib/ai/fallback-provider.test.js.map +0 -1
  168. package/dist/lib/ai/generation-service.test.d.ts +0 -7
  169. package/dist/lib/ai/generation-service.test.d.ts.map +0 -1
  170. package/dist/lib/ai/generation-service.test.js +0 -213
  171. package/dist/lib/ai/generation-service.test.js.map +0 -1
  172. package/dist/lib/ai/provider-manager.test.d.ts +0 -5
  173. package/dist/lib/ai/provider-manager.test.d.ts.map +0 -1
  174. package/dist/lib/ai/provider-manager.test.js +0 -312
  175. package/dist/lib/ai/provider-manager.test.js.map +0 -1
  176. package/dist/lib/ai/repo-docs.test.d.ts +0 -5
  177. package/dist/lib/ai/repo-docs.test.d.ts.map +0 -1
  178. package/dist/lib/ai/repo-docs.test.js +0 -357
  179. package/dist/lib/ai/repo-docs.test.js.map +0 -1
  180. package/dist/lib/cleanpr/args.test.d.ts +0 -2
  181. package/dist/lib/cleanpr/args.test.d.ts.map +0 -1
  182. package/dist/lib/cleanpr/args.test.js +0 -269
  183. package/dist/lib/cleanpr/args.test.js.map +0 -1
  184. package/dist/lib/cleanpr/cleanup.test.d.ts +0 -2
  185. package/dist/lib/cleanpr/cleanup.test.d.ts.map +0 -1
  186. package/dist/lib/cleanpr/cleanup.test.js +0 -296
  187. package/dist/lib/cleanpr/cleanup.test.js.map +0 -1
  188. package/dist/lib/cleanpr/worktree-info.test.d.ts +0 -2
  189. package/dist/lib/cleanpr/worktree-info.test.d.ts.map +0 -1
  190. package/dist/lib/cleanpr/worktree-info.test.js +0 -228
  191. package/dist/lib/cleanpr/worktree-info.test.js.map +0 -1
  192. package/dist/lib/colors.test.d.ts +0 -2
  193. package/dist/lib/colors.test.d.ts.map +0 -1
  194. package/dist/lib/colors.test.js +0 -142
  195. package/dist/lib/colors.test.js.map +0 -1
  196. package/dist/lib/config-editor.test.d.ts +0 -11
  197. package/dist/lib/config-editor.test.d.ts.map +0 -1
  198. package/dist/lib/config-editor.test.js +0 -526
  199. package/dist/lib/config-editor.test.js.map +0 -1
  200. package/dist/lib/config-migration/detector.test.d.ts +0 -5
  201. package/dist/lib/config-migration/detector.test.d.ts.map +0 -1
  202. package/dist/lib/config-migration/detector.test.js +0 -201
  203. package/dist/lib/config-migration/detector.test.js.map +0 -1
  204. package/dist/lib/config-migration/reporter.test.d.ts +0 -5
  205. package/dist/lib/config-migration/reporter.test.d.ts.map +0 -1
  206. package/dist/lib/config-migration/reporter.test.js +0 -305
  207. package/dist/lib/config-migration/reporter.test.js.map +0 -1
  208. package/dist/lib/config-migration/runner.test.d.ts +0 -5
  209. package/dist/lib/config-migration/runner.test.d.ts.map +0 -1
  210. package/dist/lib/config-migration/runner.test.js +0 -235
  211. package/dist/lib/config-migration/runner.test.js.map +0 -1
  212. package/dist/lib/config-validation.test.d.ts +0 -5
  213. package/dist/lib/config-validation.test.d.ts.map +0 -1
  214. package/dist/lib/config-validation.test.js +0 -423
  215. package/dist/lib/config-validation.test.js.map +0 -1
  216. package/dist/lib/config.test.d.ts +0 -2
  217. package/dist/lib/config.test.d.ts.map +0 -1
  218. package/dist/lib/config.test.js +0 -554
  219. package/dist/lib/config.test.js.map +0 -1
  220. package/dist/lib/constants.test.d.ts +0 -5
  221. package/dist/lib/constants.test.d.ts.map +0 -1
  222. package/dist/lib/constants.test.js +0 -180
  223. package/dist/lib/constants.test.js.map +0 -1
  224. package/dist/lib/deprecation.test.d.ts +0 -2
  225. package/dist/lib/deprecation.test.d.ts.map +0 -1
  226. package/dist/lib/deprecation.test.js +0 -71
  227. package/dist/lib/deprecation.test.js.map +0 -1
  228. package/dist/lib/errors.test.d.ts +0 -2
  229. package/dist/lib/errors.test.d.ts.map +0 -1
  230. package/dist/lib/errors.test.js +0 -117
  231. package/dist/lib/errors.test.js.map +0 -1
  232. package/dist/lib/git.test.d.ts +0 -2
  233. package/dist/lib/git.test.d.ts.map +0 -1
  234. package/dist/lib/git.test.js +0 -608
  235. package/dist/lib/git.test.js.map +0 -1
  236. package/dist/lib/github.test.d.ts +0 -2
  237. package/dist/lib/github.test.d.ts.map +0 -1
  238. package/dist/lib/github.test.js +0 -441
  239. package/dist/lib/github.test.js.map +0 -1
  240. package/dist/lib/global-check.test.d.ts +0 -5
  241. package/dist/lib/global-check.test.d.ts.map +0 -1
  242. package/dist/lib/global-check.test.js +0 -150
  243. package/dist/lib/global-check.test.js.map +0 -1
  244. package/dist/lib/global-config.test.d.ts +0 -5
  245. package/dist/lib/global-config.test.d.ts.map +0 -1
  246. package/dist/lib/global-config.test.js +0 -282
  247. package/dist/lib/global-config.test.js.map +0 -1
  248. package/dist/lib/hooks/confirmation.test.d.ts +0 -7
  249. package/dist/lib/hooks/confirmation.test.d.ts.map +0 -1
  250. package/dist/lib/hooks/confirmation.test.js +0 -300
  251. package/dist/lib/hooks/confirmation.test.js.map +0 -1
  252. package/dist/lib/hooks/executor.test.d.ts +0 -5
  253. package/dist/lib/hooks/executor.test.d.ts.map +0 -1
  254. package/dist/lib/hooks/executor.test.js +0 -648
  255. package/dist/lib/hooks/executor.test.js.map +0 -1
  256. package/dist/lib/hooks/templates.test.d.ts +0 -5
  257. package/dist/lib/hooks/templates.test.d.ts.map +0 -1
  258. package/dist/lib/hooks/templates.test.js +0 -163
  259. package/dist/lib/hooks/templates.test.js.map +0 -1
  260. package/dist/lib/hooks/types.test.d.ts +0 -5
  261. package/dist/lib/hooks/types.test.d.ts.map +0 -1
  262. package/dist/lib/hooks/types.test.js +0 -132
  263. package/dist/lib/hooks/types.test.js.map +0 -1
  264. package/dist/lib/json-output.test.d.ts +0 -5
  265. package/dist/lib/json-output.test.d.ts.map +0 -1
  266. package/dist/lib/json-output.test.js +0 -261
  267. package/dist/lib/json-output.test.js.map +0 -1
  268. package/dist/lib/logger.test.d.ts +0 -14
  269. package/dist/lib/logger.test.d.ts.map +0 -1
  270. package/dist/lib/logger.test.js +0 -692
  271. package/dist/lib/logger.test.js.map +0 -1
  272. package/dist/lib/lswt/action-executors.test.d.ts +0 -2
  273. package/dist/lib/lswt/action-executors.test.d.ts.map +0 -1
  274. package/dist/lib/lswt/action-executors.test.js +0 -1127
  275. package/dist/lib/lswt/action-executors.test.js.map +0 -1
  276. package/dist/lib/lswt/actions.test.d.ts +0 -2
  277. package/dist/lib/lswt/actions.test.d.ts.map +0 -1
  278. package/dist/lib/lswt/actions.test.js +0 -497
  279. package/dist/lib/lswt/actions.test.js.map +0 -1
  280. package/dist/lib/lswt/args.test.d.ts +0 -2
  281. package/dist/lib/lswt/args.test.d.ts.map +0 -1
  282. package/dist/lib/lswt/args.test.js +0 -195
  283. package/dist/lib/lswt/args.test.js.map +0 -1
  284. package/dist/lib/lswt/environment.test.d.ts +0 -2
  285. package/dist/lib/lswt/environment.test.d.ts.map +0 -1
  286. package/dist/lib/lswt/environment.test.js +0 -544
  287. package/dist/lib/lswt/environment.test.js.map +0 -1
  288. package/dist/lib/lswt/formatters.test.d.ts +0 -2
  289. package/dist/lib/lswt/formatters.test.d.ts.map +0 -1
  290. package/dist/lib/lswt/formatters.test.js +0 -323
  291. package/dist/lib/lswt/formatters.test.js.map +0 -1
  292. package/dist/lib/lswt/fuzzy-search.test.d.ts +0 -5
  293. package/dist/lib/lswt/fuzzy-search.test.d.ts.map +0 -1
  294. package/dist/lib/lswt/fuzzy-search.test.js +0 -207
  295. package/dist/lib/lswt/fuzzy-search.test.js.map +0 -1
  296. package/dist/lib/lswt/interactive.test.d.ts +0 -2
  297. package/dist/lib/lswt/interactive.test.d.ts.map +0 -1
  298. package/dist/lib/lswt/interactive.test.js +0 -771
  299. package/dist/lib/lswt/interactive.test.js.map +0 -1
  300. package/dist/lib/lswt/table.test.d.ts +0 -5
  301. package/dist/lib/lswt/table.test.d.ts.map +0 -1
  302. package/dist/lib/lswt/table.test.js +0 -262
  303. package/dist/lib/lswt/table.test.js.map +0 -1
  304. package/dist/lib/lswt/worktree-info.test.d.ts +0 -2
  305. package/dist/lib/lswt/worktree-info.test.d.ts.map +0 -1
  306. package/dist/lib/lswt/worktree-info.test.js +0 -484
  307. package/dist/lib/lswt/worktree-info.test.js.map +0 -1
  308. package/dist/lib/newpr/action-deps.test.d.ts +0 -5
  309. package/dist/lib/newpr/action-deps.test.d.ts.map +0 -1
  310. package/dist/lib/newpr/action-deps.test.js +0 -111
  311. package/dist/lib/newpr/action-deps.test.js.map +0 -1
  312. package/dist/lib/newpr/actions.test.d.ts +0 -2
  313. package/dist/lib/newpr/actions.test.d.ts.map +0 -1
  314. package/dist/lib/newpr/actions.test.js +0 -254
  315. package/dist/lib/newpr/actions.test.js.map +0 -1
  316. package/dist/lib/newpr/args.test.d.ts +0 -2
  317. package/dist/lib/newpr/args.test.d.ts.map +0 -1
  318. package/dist/lib/newpr/args.test.js +0 -479
  319. package/dist/lib/newpr/args.test.js.map +0 -1
  320. package/dist/lib/newpr/hook-runner.test.d.ts +0 -7
  321. package/dist/lib/newpr/hook-runner.test.d.ts.map +0 -1
  322. package/dist/lib/newpr/hook-runner.test.js +0 -422
  323. package/dist/lib/newpr/hook-runner.test.js.map +0 -1
  324. package/dist/lib/newpr/plan-generator.test.d.ts +0 -7
  325. package/dist/lib/newpr/plan-generator.test.d.ts.map +0 -1
  326. package/dist/lib/newpr/plan-generator.test.js +0 -387
  327. package/dist/lib/newpr/plan-generator.test.js.map +0 -1
  328. package/dist/lib/newpr/scenario-handler.test.d.ts +0 -2
  329. package/dist/lib/newpr/scenario-handler.test.d.ts.map +0 -1
  330. package/dist/lib/newpr/scenario-handler.test.js +0 -256
  331. package/dist/lib/newpr/scenario-handler.test.js.map +0 -1
  332. package/dist/lib/prompts.test.d.ts +0 -2
  333. package/dist/lib/prompts.test.d.ts.map +0 -1
  334. package/dist/lib/prompts.test.js +0 -807
  335. package/dist/lib/prompts.test.js.map +0 -1
  336. package/dist/lib/prs/actions.test.d.ts +0 -5
  337. package/dist/lib/prs/actions.test.d.ts.map +0 -1
  338. package/dist/lib/prs/actions.test.js +0 -356
  339. package/dist/lib/prs/actions.test.js.map +0 -1
  340. package/dist/lib/prs/command.test.d.ts +0 -11
  341. package/dist/lib/prs/command.test.d.ts.map +0 -1
  342. package/dist/lib/prs/command.test.js +0 -409
  343. package/dist/lib/prs/command.test.js.map +0 -1
  344. package/dist/lib/prs/data.test.d.ts +0 -5
  345. package/dist/lib/prs/data.test.d.ts.map +0 -1
  346. package/dist/lib/prs/data.test.js +0 -417
  347. package/dist/lib/prs/data.test.js.map +0 -1
  348. package/dist/lib/prs/details.test.d.ts +0 -5
  349. package/dist/lib/prs/details.test.d.ts.map +0 -1
  350. package/dist/lib/prs/details.test.js +0 -325
  351. package/dist/lib/prs/details.test.js.map +0 -1
  352. package/dist/lib/prs/filters.test.d.ts +0 -5
  353. package/dist/lib/prs/filters.test.d.ts.map +0 -1
  354. package/dist/lib/prs/filters.test.js +0 -312
  355. package/dist/lib/prs/filters.test.js.map +0 -1
  356. package/dist/lib/prs/formatters.test.d.ts +0 -2
  357. package/dist/lib/prs/formatters.test.d.ts.map +0 -1
  358. package/dist/lib/prs/formatters.test.js +0 -387
  359. package/dist/lib/prs/formatters.test.js.map +0 -1
  360. package/dist/lib/prs/interactive.test.d.ts +0 -5
  361. package/dist/lib/prs/interactive.test.d.ts.map +0 -1
  362. package/dist/lib/prs/interactive.test.js +0 -517
  363. package/dist/lib/prs/interactive.test.js.map +0 -1
  364. package/dist/lib/schema.test.d.ts +0 -10
  365. package/dist/lib/schema.test.d.ts.map +0 -1
  366. package/dist/lib/schema.test.js +0 -309
  367. package/dist/lib/schema.test.js.map +0 -1
  368. package/dist/lib/state-detection.test.d.ts +0 -2
  369. package/dist/lib/state-detection.test.d.ts.map +0 -1
  370. package/dist/lib/state-detection.test.js +0 -451
  371. package/dist/lib/state-detection.test.js.map +0 -1
  372. package/dist/lib/ui/error.test.d.ts +0 -2
  373. package/dist/lib/ui/error.test.d.ts.map +0 -1
  374. package/dist/lib/ui/error.test.js +0 -143
  375. package/dist/lib/ui/error.test.js.map +0 -1
  376. package/dist/lib/ui/output.test.d.ts +0 -2
  377. package/dist/lib/ui/output.test.d.ts.map +0 -1
  378. package/dist/lib/ui/output.test.js +0 -59
  379. package/dist/lib/ui/output.test.js.map +0 -1
  380. package/dist/lib/ui/status.test.d.ts +0 -2
  381. package/dist/lib/ui/status.test.d.ts.map +0 -1
  382. package/dist/lib/ui/status.test.js +0 -158
  383. package/dist/lib/ui/status.test.js.map +0 -1
  384. package/dist/lib/ui/table.test.d.ts +0 -2
  385. package/dist/lib/ui/table.test.d.ts.map +0 -1
  386. package/dist/lib/ui/table.test.js +0 -115
  387. package/dist/lib/ui/table.test.js.map +0 -1
  388. package/dist/lib/ui/theme.test.d.ts +0 -2
  389. package/dist/lib/ui/theme.test.d.ts.map +0 -1
  390. package/dist/lib/ui/theme.test.js +0 -76
  391. package/dist/lib/ui/theme.test.js.map +0 -1
  392. package/dist/lib/wtconfig/config-manager.test.d.ts +0 -5
  393. package/dist/lib/wtconfig/config-manager.test.d.ts.map +0 -1
  394. package/dist/lib/wtconfig/config-manager.test.js +0 -501
  395. package/dist/lib/wtconfig/config-manager.test.js.map +0 -1
  396. package/dist/lib/wtconfig/environment.test.d.ts +0 -5
  397. package/dist/lib/wtconfig/environment.test.d.ts.map +0 -1
  398. package/dist/lib/wtconfig/environment.test.js +0 -285
  399. package/dist/lib/wtconfig/environment.test.js.map +0 -1
  400. package/dist/lib/wtlink/config-manifest.test.d.ts +0 -2
  401. package/dist/lib/wtlink/config-manifest.test.d.ts.map +0 -1
  402. package/dist/lib/wtlink/config-manifest.test.js +0 -486
  403. package/dist/lib/wtlink/config-manifest.test.js.map +0 -1
  404. package/dist/lib/wtlink/link-configs.test.d.ts +0 -2
  405. package/dist/lib/wtlink/link-configs.test.d.ts.map +0 -1
  406. package/dist/lib/wtlink/link-configs.test.js +0 -612
  407. package/dist/lib/wtlink/link-configs.test.js.map +0 -1
  408. package/dist/lib/wtlink/main-menu.test.d.ts +0 -5
  409. package/dist/lib/wtlink/main-menu.test.d.ts.map +0 -1
  410. package/dist/lib/wtlink/main-menu.test.js +0 -126
  411. package/dist/lib/wtlink/main-menu.test.js.map +0 -1
  412. package/dist/lib/wtlink/manage-manifest.test.d.ts +0 -2
  413. package/dist/lib/wtlink/manage-manifest.test.d.ts.map +0 -1
  414. package/dist/lib/wtlink/manage-manifest.test.js +0 -714
  415. package/dist/lib/wtlink/manage-manifest.test.js.map +0 -1
  416. package/dist/lib/wtlink/validate-manifest.test.d.ts +0 -2
  417. package/dist/lib/wtlink/validate-manifest.test.d.ts.map +0 -1
  418. package/dist/lib/wtlink/validate-manifest.test.js +0 -220
  419. package/dist/lib/wtlink/validate-manifest.test.js.map +0 -1
  420. package/dist/lib/wtstate/analyze.test.d.ts +0 -5
  421. package/dist/lib/wtstate/analyze.test.d.ts.map +0 -1
  422. package/dist/lib/wtstate/analyze.test.js +0 -282
  423. package/dist/lib/wtstate/analyze.test.js.map +0 -1
  424. package/dist/lib/wtstate/args.test.d.ts +0 -5
  425. package/dist/lib/wtstate/args.test.d.ts.map +0 -1
  426. package/dist/lib/wtstate/args.test.js +0 -120
  427. package/dist/lib/wtstate/args.test.js.map +0 -1
  428. package/dist/mcp/server.test.d.ts +0 -9
  429. package/dist/mcp/server.test.d.ts.map +0 -1
  430. package/dist/mcp/server.test.js +0 -550
  431. package/dist/mcp/server.test.js.map +0 -1
@@ -1,498 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
2
- import { execSync } from 'child_process';
3
- import fs from 'fs';
4
- import path from 'path';
5
- import os from 'os';
6
- import * as git from '../lib/git.js';
7
- import { analyzeGitState, detectScenario } from '../lib/state-detection.js';
8
- import { executeStateAction, getBranchPoint } from '../lib/newpr/index.js';
9
- import { getScenarioContext } from '../lib/newpr/scenario-handler.js';
10
- /**
11
- * Integration tests for the branchFrom: 'head' fix.
12
- *
13
- * This test suite verifies that when the user selects "Stage all and commit"
14
- * or "Commit staged changes", the staged changes are preserved even when
15
- * origin/main has moved ahead of the local main branch.
16
- *
17
- * The bug was: branchFrom defaulted to 'origin_main', so after git fetch,
18
- * if origin/main was ahead, `git checkout -b <branch> origin/main` would
19
- * reset the index and lose staged changes.
20
- *
21
- * The fix: changed branchFrom to 'head' for commit_all and commit_staged actions.
22
- */
23
- describe('newpr integration - branchFrom: head fix', () => {
24
- let tempDir;
25
- let mainRepoDir;
26
- let bareRepoDir;
27
- /**
28
- * Create a bare repo and main working repo
29
- */
30
- beforeAll(() => {
31
- tempDir = fs.realpathSync.native(fs.mkdtempSync(path.join(os.tmpdir(), 'newpr-branchfrom-test-')));
32
- // Create a bare repo to act as origin
33
- bareRepoDir = path.join(tempDir, 'origin.git');
34
- fs.mkdirSync(bareRepoDir);
35
- execSync('git init --bare', { cwd: bareRepoDir });
36
- // Create the main working repo
37
- mainRepoDir = path.join(tempDir, 'main-repo');
38
- fs.mkdirSync(mainRepoDir);
39
- execSync('git init', { cwd: mainRepoDir });
40
- execSync('git config user.email "test@test.com"', { cwd: mainRepoDir });
41
- execSync('git config user.name "Test User"', { cwd: mainRepoDir });
42
- // Create initial commit with some files
43
- fs.writeFileSync(path.join(mainRepoDir, 'README.md'), '# Test Repo\n');
44
- fs.mkdirSync(path.join(mainRepoDir, 'src'), { recursive: true });
45
- fs.writeFileSync(path.join(mainRepoDir, 'src', 'index.ts'), 'export const main = 1;\n');
46
- execSync('git add .', { cwd: mainRepoDir });
47
- execSync('git commit -m "Initial commit"', { cwd: mainRepoDir });
48
- // Rename branch to 'main' for consistency
49
- execSync('git branch -M main', { cwd: mainRepoDir, stdio: 'ignore' });
50
- // Add origin and push
51
- execSync(`git remote add origin "${bareRepoDir}"`, { cwd: mainRepoDir });
52
- execSync('git push -u origin main', { cwd: mainRepoDir, stdio: 'ignore' });
53
- });
54
- afterAll(() => {
55
- if (tempDir) {
56
- fs.rmSync(tempDir, { recursive: true, force: true });
57
- }
58
- });
59
- beforeEach(() => {
60
- // Reset to clean state on main
61
- execSync('git checkout main', { cwd: mainRepoDir, stdio: 'ignore' });
62
- execSync('git reset --hard origin/main', { cwd: mainRepoDir, stdio: 'ignore' });
63
- execSync('git clean -fd', { cwd: mainRepoDir, stdio: 'ignore' });
64
- // Clean up test branches
65
- const branchesToClean = [
66
- 'test-unstaged-behind',
67
- 'test-staged-behind',
68
- 'test-both-behind',
69
- 'test-branch-changes',
70
- 'test-modification-behind',
71
- ];
72
- for (const branch of branchesToClean) {
73
- try {
74
- execSync(`git branch -D ${branch} 2>/dev/null`, {
75
- cwd: mainRepoDir,
76
- stdio: 'ignore',
77
- });
78
- }
79
- catch {
80
- // Ignore
81
- }
82
- }
83
- });
84
- /**
85
- * Helper: Create real ActionDeps using actual git operations
86
- */
87
- function createRealDeps(cwd) {
88
- return {
89
- gitAdd: (addPath, cwdPath) => git.add(addPath, cwdPath ?? cwd),
90
- gitStash: (options, cwdPath) => git.stash({ message: options.message, keepIndex: options.keepIndex }, cwdPath ?? cwd),
91
- gitPush: (options, cwdPath) => git.push({ remote: options.remote, branch: options.branch, setUpstream: options.setUpstream }, cwdPath ?? cwd),
92
- gitCommit: (options, cwdPath) => git.commit({ message: options.message, allowEmpty: options.allowEmpty }, cwdPath ?? cwd),
93
- };
94
- }
95
- /**
96
- * Helper: Push a commit to origin/main from a separate clone
97
- * This simulates another developer pushing changes while you have local work
98
- */
99
- function pushUpstreamCommit(filename, content, message) {
100
- const tempClone = path.join(tempDir, `temp-clone-${Date.now()}`);
101
- try {
102
- execSync(`git clone "${bareRepoDir}" "${tempClone}"`, { stdio: 'ignore' });
103
- execSync('git config user.email "other@test.com"', { cwd: tempClone });
104
- execSync('git config user.name "Other User"', { cwd: tempClone });
105
- execSync('git checkout -B main origin/main', { cwd: tempClone, stdio: 'ignore' });
106
- fs.writeFileSync(path.join(tempClone, filename), content);
107
- execSync('git add .', { cwd: tempClone });
108
- execSync(`git commit -m "${message}"`, { cwd: tempClone });
109
- execSync('git push origin main', { cwd: tempClone, stdio: 'ignore' });
110
- }
111
- finally {
112
- fs.rmSync(tempClone, { recursive: true, force: true });
113
- }
114
- // Fetch in main repo to get the new origin/main
115
- execSync('git fetch origin', { cwd: mainRepoDir, stdio: 'ignore' });
116
- }
117
- /**
118
- * Helper: Assert that local main is behind origin/main
119
- */
120
- function assertLocalBehindOrigin() {
121
- const behindCount = execSync('git rev-list HEAD..origin/main --count', {
122
- cwd: mainRepoDir,
123
- encoding: 'utf8',
124
- }).trim();
125
- expect(parseInt(behindCount)).toBeGreaterThan(0);
126
- }
127
- describe('Scenario validation: getScenarioContext returns branchFrom: head', () => {
128
- it('main_unstaged_same: commit_all uses branchFrom: head', () => {
129
- const context = getScenarioContext('main_unstaged_same', {
130
- worktreeType: 'main_worktree',
131
- branchType: 'main',
132
- currentBranch: 'main',
133
- commitRelationship: 'same',
134
- workingTreeStatus: 'unstaged_only',
135
- localCommits: [],
136
- stagedFiles: [],
137
- unstagedFiles: ['file.ts'],
138
- repoRoot: mainRepoDir,
139
- repoName: 'main-repo',
140
- }, 'main');
141
- expect(context).not.toBeNull();
142
- const commitAllAction = context.choices.find((c) => c.action?.action === 'commit_all');
143
- expect(commitAllAction).toBeDefined();
144
- expect(commitAllAction.action.branchFrom).toBe('head');
145
- });
146
- it('main_staged_same: commit_staged uses branchFrom: head', () => {
147
- const context = getScenarioContext('main_staged_same', {
148
- worktreeType: 'main_worktree',
149
- branchType: 'main',
150
- currentBranch: 'main',
151
- commitRelationship: 'same',
152
- workingTreeStatus: 'staged_only',
153
- localCommits: [],
154
- stagedFiles: ['file.ts'],
155
- unstagedFiles: [],
156
- repoRoot: mainRepoDir,
157
- repoName: 'main-repo',
158
- }, 'main');
159
- expect(context).not.toBeNull();
160
- const commitStagedAction = context.choices.find((c) => c.action?.action === 'commit_staged');
161
- expect(commitStagedAction).toBeDefined();
162
- expect(commitStagedAction.action.branchFrom).toBe('head');
163
- });
164
- it('main_both_same: both commit options use branchFrom: head', () => {
165
- const context = getScenarioContext('main_both_same', {
166
- worktreeType: 'main_worktree',
167
- branchType: 'main',
168
- currentBranch: 'main',
169
- commitRelationship: 'same',
170
- workingTreeStatus: 'both',
171
- localCommits: [],
172
- stagedFiles: ['staged.ts'],
173
- unstagedFiles: ['unstaged.ts'],
174
- repoRoot: mainRepoDir,
175
- repoName: 'main-repo',
176
- }, 'main');
177
- expect(context).not.toBeNull();
178
- const commitStagedAction = context.choices.find((c) => c.action?.action === 'commit_staged');
179
- expect(commitStagedAction).toBeDefined();
180
- expect(commitStagedAction.action.branchFrom).toBe('head');
181
- const commitAllAction = context.choices.find((c) => c.action?.action === 'commit_all');
182
- expect(commitAllAction).toBeDefined();
183
- expect(commitAllAction.action.branchFrom).toBe('head');
184
- });
185
- it('branch_with_changes (no divergent): commit_all uses branchFrom: head', () => {
186
- const context = getScenarioContext('branch_with_changes', {
187
- worktreeType: 'main_worktree',
188
- branchType: 'other',
189
- currentBranch: 'my-feature',
190
- commitRelationship: 'same',
191
- workingTreeStatus: 'unstaged_only',
192
- localCommits: [], // No divergent commits
193
- stagedFiles: [],
194
- unstagedFiles: ['file.ts'],
195
- repoRoot: mainRepoDir,
196
- repoName: 'main-repo',
197
- }, 'main');
198
- expect(context).not.toBeNull();
199
- const commitAllAction = context.choices.find((c) => c.action?.action === 'commit_all');
200
- expect(commitAllAction).toBeDefined();
201
- expect(commitAllAction.action.branchFrom).toBe('head');
202
- });
203
- });
204
- describe('main_unstaged_same: origin/main ahead - NEW file', () => {
205
- it('preserves staged NEW file when branching from HEAD', () => {
206
- const branchName = 'test-unstaged-behind';
207
- // Push upstream commit to make origin/main ahead
208
- pushUpstreamCommit('upstream.txt', 'upstream content\n', 'Upstream commit');
209
- assertLocalBehindOrigin();
210
- // Create a NEW unstaged file locally
211
- fs.writeFileSync(path.join(mainRepoDir, 'newfile.ts'), 'export const x = 1;\n');
212
- // Verify scenario detection (includes 'behind' which maps to main_unstaged_same)
213
- const state = analyzeGitState('main', mainRepoDir);
214
- expect(state.commitRelationship).toBe('ancestor'); // local is ancestor of origin/main
215
- expect(detectScenario(state)).toBe('main_unstaged_same');
216
- // Create action with branchFrom: head (the fix)
217
- const action = {
218
- action: 'commit_all',
219
- branchFrom: 'head', // THE FIX
220
- stashUnstaged: false,
221
- };
222
- // Execute the action (stages files)
223
- const deps = createRealDeps(mainRepoDir);
224
- const result = executeStateAction(action, 'Test', branchName, deps, mainRepoDir);
225
- expect(result.success).toBe(true);
226
- // Verify staged before checkout
227
- const stagedBefore = git.getStagedFiles(mainRepoDir);
228
- expect(stagedBefore).toContain('newfile.ts');
229
- // Create branch from HEAD (the fix)
230
- const branchPoint = getBranchPoint(action, 'main');
231
- expect(branchPoint).toBe('HEAD');
232
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
233
- // Verify staged files PRESERVED after checkout from HEAD
234
- const stagedAfter = git.getStagedFiles(mainRepoDir);
235
- expect(stagedAfter).toContain('newfile.ts');
236
- // Commit and verify
237
- git.commit({ message: 'feat: Test' }, mainRepoDir);
238
- expect(fs.existsSync(path.join(mainRepoDir, 'newfile.ts'))).toBe(true);
239
- });
240
- it('CONTRAST: would lose staged NEW file when branching from origin/main (old behavior)', () => {
241
- const branchName = 'test-unstaged-behind-old';
242
- // Push upstream commit
243
- pushUpstreamCommit('upstream2.txt', 'upstream content 2\n', 'Upstream commit 2');
244
- assertLocalBehindOrigin();
245
- // Create a NEW unstaged file locally
246
- fs.writeFileSync(path.join(mainRepoDir, 'newfile2.ts'), 'export const y = 2;\n');
247
- // Stage it
248
- git.add('.', mainRepoDir);
249
- expect(git.getStagedFiles(mainRepoDir)).toContain('newfile2.ts');
250
- // Try branching from origin/main (OLD behavior)
251
- // Note: For NEW files, git actually preserves them even when checking out origin/main
252
- // because they don't conflict. The real bug is with MODIFIED files.
253
- git.exec(['checkout', '-b', branchName, 'origin/main'], { cwd: mainRepoDir });
254
- // For NEW files, git preserves them - this test shows the edge case
255
- const stagedAfter = git.getStagedFiles(mainRepoDir);
256
- // New files ARE preserved even with origin/main checkout
257
- // (the bug is more subtle - it's about modified files)
258
- expect(stagedAfter).toContain('newfile2.ts');
259
- });
260
- });
261
- describe('main_unstaged_same: origin/main ahead - MODIFIED existing file', () => {
262
- it('preserves staged MODIFIED file when branching from HEAD', () => {
263
- const branchName = 'test-modification-behind';
264
- // Push upstream commit that modifies a DIFFERENT file
265
- pushUpstreamCommit('upstream3.txt', 'upstream content 3\n', 'Upstream commit 3');
266
- assertLocalBehindOrigin();
267
- // Modify an existing file locally (src/index.ts)
268
- fs.appendFileSync(path.join(mainRepoDir, 'src', 'index.ts'), '\nexport const added = 42;\n');
269
- // Stage it
270
- git.add('.', mainRepoDir);
271
- expect(git.getStagedFiles(mainRepoDir)).toContain('src/index.ts');
272
- // Create action with branchFrom: head (the fix)
273
- const action = {
274
- action: 'commit_all',
275
- branchFrom: 'head', // THE FIX
276
- stashUnstaged: false,
277
- };
278
- const branchPoint = getBranchPoint(action, 'main');
279
- expect(branchPoint).toBe('HEAD');
280
- // Create branch from HEAD
281
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
282
- // Verify staged files PRESERVED
283
- const stagedAfter = git.getStagedFiles(mainRepoDir);
284
- expect(stagedAfter).toContain('src/index.ts');
285
- // Verify the modification is still there
286
- const content = fs.readFileSync(path.join(mainRepoDir, 'src', 'index.ts'), 'utf8');
287
- expect(content).toContain('export const added = 42;');
288
- // Commit and verify
289
- git.commit({ message: 'feat: Modified file' }, mainRepoDir);
290
- // Verify commit contains our changes
291
- const log = execSync('git show --name-only HEAD', {
292
- cwd: mainRepoDir,
293
- encoding: 'utf8',
294
- });
295
- expect(log).toContain('src/index.ts');
296
- });
297
- it('CONTRAST: loses staged MODIFIED file when origin/main changed SAME file (old behavior)', () => {
298
- // This test demonstrates the actual bug: when origin/main has changes to the
299
- // SAME file the user modified, checking out origin/main resets that file.
300
- // First, push an upstream commit that modifies the SAME file (src/index.ts)
301
- const tempClone = path.join(tempDir, `temp-clone-same-file-${Date.now()}`);
302
- try {
303
- execSync(`git clone "${bareRepoDir}" "${tempClone}"`, { stdio: 'ignore' });
304
- execSync('git config user.email "other@test.com"', { cwd: tempClone });
305
- execSync('git config user.name "Other User"', { cwd: tempClone });
306
- execSync('git checkout -B main origin/main', { cwd: tempClone, stdio: 'ignore' });
307
- // Modify the SAME file that user will also modify
308
- fs.appendFileSync(path.join(tempClone, 'src', 'index.ts'), '\n// Upstream modification\n');
309
- execSync('git add .', { cwd: tempClone });
310
- execSync('git commit -m "Upstream change to index.ts"', { cwd: tempClone });
311
- execSync('git push origin main', { cwd: tempClone, stdio: 'ignore' });
312
- }
313
- finally {
314
- fs.rmSync(tempClone, { recursive: true, force: true });
315
- }
316
- // Fetch to get the updated origin/main
317
- execSync('git fetch origin', { cwd: mainRepoDir, stdio: 'ignore' });
318
- assertLocalBehindOrigin();
319
- // Now modify the SAME file locally (src/index.ts)
320
- fs.appendFileSync(path.join(mainRepoDir, 'src', 'index.ts'), '\nexport const lost = 99;\n');
321
- // Stage it
322
- git.add('.', mainRepoDir);
323
- const stagedBefore = git.getStagedFiles(mainRepoDir);
324
- expect(stagedBefore).toContain('src/index.ts');
325
- // Try branching from origin/main (OLD behavior)
326
- // Git will either refuse (conflict) or reset the file
327
- let checkoutSucceeded = false;
328
- try {
329
- git.exec(['checkout', '-b', 'test-lost-changes', 'origin/main'], { cwd: mainRepoDir });
330
- checkoutSucceeded = true;
331
- }
332
- catch {
333
- // Expected: git refuses due to conflict
334
- checkoutSucceeded = false;
335
- }
336
- if (checkoutSucceeded) {
337
- // If checkout succeeded, the file was reset to origin/main's version
338
- const content = fs.readFileSync(path.join(mainRepoDir, 'src', 'index.ts'), 'utf8');
339
- // Our local change is gone, replaced with upstream version
340
- expect(content).toContain('// Upstream modification');
341
- expect(content).not.toContain('export const lost = 99;');
342
- }
343
- else {
344
- // Git protected us by refusing the checkout - this is also valid behavior
345
- // The point is: branchFrom: 'head' avoids this situation entirely
346
- expect(true).toBe(true); // Test passes - git protected the user
347
- }
348
- });
349
- });
350
- describe('main_staged_same: origin/main ahead', () => {
351
- it('preserves staged file when branching from HEAD', () => {
352
- const branchName = 'test-staged-behind';
353
- // Push upstream commit
354
- pushUpstreamCommit('upstream5.txt', 'upstream content 5\n', 'Upstream commit 5');
355
- assertLocalBehindOrigin();
356
- // Create and stage a new file
357
- fs.writeFileSync(path.join(mainRepoDir, 'staged-new.ts'), 'export const staged = 1;\n');
358
- git.add('staged-new.ts', mainRepoDir);
359
- // Verify scenario
360
- const state = analyzeGitState('main', mainRepoDir);
361
- expect(detectScenario(state)).toBe('main_staged_same');
362
- // Create action with branchFrom: head
363
- const action = {
364
- action: 'commit_staged',
365
- branchFrom: 'head',
366
- stashUnstaged: false,
367
- };
368
- // Create branch from HEAD
369
- const branchPoint = getBranchPoint(action, 'main');
370
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
371
- // Verify staged files preserved
372
- const stagedAfter = git.getStagedFiles(mainRepoDir);
373
- expect(stagedAfter).toContain('staged-new.ts');
374
- });
375
- });
376
- describe('main_both_same: origin/main ahead', () => {
377
- it('preserves both staged and unstaged changes when branching from HEAD', () => {
378
- const branchName = 'test-both-behind';
379
- // Push upstream commit
380
- pushUpstreamCommit('upstream6.txt', 'upstream content 6\n', 'Upstream commit 6');
381
- assertLocalBehindOrigin();
382
- // Create staged file
383
- fs.writeFileSync(path.join(mainRepoDir, 'staged-both.ts'), 'export const staged = 1;\n');
384
- git.add('staged-both.ts', mainRepoDir);
385
- // Create unstaged file
386
- fs.writeFileSync(path.join(mainRepoDir, 'unstaged-both.ts'), 'export const unstaged = 2;\n');
387
- // Verify scenario
388
- const state = analyzeGitState('main', mainRepoDir);
389
- expect(detectScenario(state)).toBe('main_both_same');
390
- // Create action (commit_all stages everything)
391
- const action = {
392
- action: 'commit_all',
393
- branchFrom: 'head',
394
- stashUnstaged: false,
395
- };
396
- // Execute action to stage all
397
- const deps = createRealDeps(mainRepoDir);
398
- executeStateAction(action, 'Test', branchName, deps, mainRepoDir);
399
- // Verify both files are staged
400
- const stagedBefore = git.getStagedFiles(mainRepoDir);
401
- expect(stagedBefore).toContain('staged-both.ts');
402
- expect(stagedBefore).toContain('unstaged-both.ts');
403
- // Create branch from HEAD
404
- const branchPoint = getBranchPoint(action, 'main');
405
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
406
- // Verify all staged files preserved
407
- const stagedAfter = git.getStagedFiles(mainRepoDir);
408
- expect(stagedAfter).toContain('staged-both.ts');
409
- expect(stagedAfter).toContain('unstaged-both.ts');
410
- });
411
- });
412
- describe('branch_with_changes: no divergent commits', () => {
413
- it('preserves staged changes when branching from HEAD', () => {
414
- const branchName = 'test-branch-changes';
415
- // Create a feature branch at main (no divergent commits)
416
- execSync('git checkout -b feature-no-diverge', { cwd: mainRepoDir });
417
- // Push upstream commit to origin/main
418
- pushUpstreamCommit('upstream7.txt', 'upstream content 7\n', 'Upstream commit 7');
419
- // Create unstaged file BEFORE analyzing state
420
- fs.writeFileSync(path.join(mainRepoDir, 'branch-new.ts'), 'export const branch = 1;\n');
421
- // Now verify state and scenario (must be AFTER creating the file)
422
- const state = analyzeGitState('main', mainRepoDir);
423
- expect(state.branchType).toBe('other');
424
- expect(state.localCommits.length).toBe(0); // No divergent commits
425
- expect(state.workingTreeStatus).toBe('unstaged_only');
426
- // Verify scenario
427
- const scenario = detectScenario(state);
428
- expect(scenario).toBe('branch_with_changes');
429
- // Create action with branchFrom: head
430
- const action = {
431
- action: 'commit_all',
432
- branchFrom: 'head',
433
- stashUnstaged: false,
434
- };
435
- // Execute action to stage all
436
- const deps = createRealDeps(mainRepoDir);
437
- executeStateAction(action, 'Test', branchName, deps, mainRepoDir);
438
- // Create branch from HEAD
439
- const branchPoint = getBranchPoint(action, 'main');
440
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
441
- // Verify staged files preserved
442
- const stagedAfter = git.getStagedFiles(mainRepoDir);
443
- expect(stagedAfter).toContain('branch-new.ts');
444
- });
445
- });
446
- describe('Full flow simulation: newpr with fix', () => {
447
- it('complete flow: stage, checkout HEAD, commit, push-ready', () => {
448
- const branchName = 'feat/complete-flow-test';
449
- // Push upstream commit to make origin/main ahead
450
- pushUpstreamCommit('upstream-final.txt', 'final upstream\n', 'Final upstream commit');
451
- assertLocalBehindOrigin();
452
- // Create multiple files (mix of new and modified)
453
- fs.writeFileSync(path.join(mainRepoDir, 'new-feature.ts'), 'export const feature = 1;\n');
454
- fs.appendFileSync(path.join(mainRepoDir, 'README.md'), '\n## New Section\n');
455
- // Verify initial state
456
- const state = analyzeGitState('main', mainRepoDir);
457
- expect(detectScenario(state)).toBe('main_unstaged_same');
458
- // Get the action from getScenarioContext (simulating user selection)
459
- const context = getScenarioContext(detectScenario(state), state, 'main');
460
- const commitAllAction = context.choices.find((c) => c.action?.action === 'commit_all');
461
- expect(commitAllAction.action.branchFrom).toBe('head'); // Verify fix is in place
462
- // Execute the action
463
- const deps = createRealDeps(mainRepoDir);
464
- const result = executeStateAction(commitAllAction.action, 'Complete flow test', branchName, deps, mainRepoDir);
465
- expect(result.success).toBe(true);
466
- // Verify staged
467
- const stagedBefore = git.getStagedFiles(mainRepoDir);
468
- expect(stagedBefore).toContain('new-feature.ts');
469
- expect(stagedBefore).toContain('README.md');
470
- // Checkout from HEAD (what the fix does)
471
- const branchPoint = getBranchPoint(commitAllAction.action, 'main');
472
- expect(branchPoint).toBe('HEAD');
473
- git.exec(['checkout', '-b', branchName, branchPoint], { cwd: mainRepoDir });
474
- // Verify staged preserved
475
- const stagedAfter = git.getStagedFiles(mainRepoDir);
476
- expect(stagedAfter).toContain('new-feature.ts');
477
- expect(stagedAfter).toContain('README.md');
478
- // Commit
479
- git.commit({ message: 'feat: Complete flow test\n\nšŸ¤– Created with newpr' }, mainRepoDir);
480
- // Verify commit contains our files
481
- const showOutput = execSync('git show --name-only HEAD', {
482
- cwd: mainRepoDir,
483
- encoding: 'utf8',
484
- });
485
- expect(showOutput).toContain('new-feature.ts');
486
- expect(showOutput).toContain('README.md');
487
- expect(showOutput).toContain('Complete flow test');
488
- // Verify we can switch back to main without our files
489
- git.checkout('main', mainRepoDir);
490
- expect(fs.existsSync(path.join(mainRepoDir, 'new-feature.ts'))).toBe(false);
491
- // Verify our branch has the files
492
- git.checkout(branchName, mainRepoDir);
493
- expect(fs.existsSync(path.join(mainRepoDir, 'new-feature.ts'))).toBe(true);
494
- expect(fs.readFileSync(path.join(mainRepoDir, 'README.md'), 'utf8')).toContain('## New Section');
495
- });
496
- });
497
- });
498
- //# sourceMappingURL=newpr-branchfrom-head.integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newpr-branchfrom-head.integration.test.js","sourceRoot":"","sources":["../../src/integration/newpr-branchfrom-head.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=newpr.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newpr.integration.test.d.ts","sourceRoot":"","sources":["../../src/integration/newpr.integration.test.ts"],"names":[],"mappings":""}