pr-merge-queue 0.0.0-stage → 0.0.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 (331) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +125 -2
  3. package/dist/claim-pr/claim-pr.d.mts +45 -0
  4. package/dist/claim-pr/claim-pr.d.mts.map +1 -0
  5. package/dist/claim-pr/claim-pr.mjs +217 -0
  6. package/dist/claim-pr/claim-pr.mjs.map +1 -0
  7. package/dist/claim-pr/index.d.mts +2 -0
  8. package/dist/claim-pr/index.d.mts.map +1 -0
  9. package/dist/claim-pr/index.mjs +2 -0
  10. package/dist/claim-pr/index.mjs.map +1 -0
  11. package/dist/cmd/claim-pr.d.mts +3 -0
  12. package/dist/cmd/claim-pr.d.mts.map +1 -0
  13. package/dist/cmd/claim-pr.mjs +20 -0
  14. package/dist/cmd/claim-pr.mjs.map +1 -0
  15. package/dist/cmd/open-pr.d.mts +3 -0
  16. package/dist/cmd/open-pr.d.mts.map +1 -0
  17. package/dist/cmd/open-pr.mjs +20 -0
  18. package/dist/cmd/open-pr.mjs.map +1 -0
  19. package/dist/cmd/pr-report.d.mts +3 -0
  20. package/dist/cmd/pr-report.d.mts.map +1 -0
  21. package/dist/cmd/pr-report.mjs +20 -0
  22. package/dist/cmd/pr-report.mjs.map +1 -0
  23. package/dist/cmd/push-fixed-pr.d.mts +3 -0
  24. package/dist/cmd/push-fixed-pr.d.mts.map +1 -0
  25. package/dist/cmd/push-fixed-pr.mjs +20 -0
  26. package/dist/cmd/push-fixed-pr.mjs.map +1 -0
  27. package/dist/cmd/report-unowned-prs.d.mts +3 -0
  28. package/dist/cmd/report-unowned-prs.d.mts.map +1 -0
  29. package/dist/cmd/report-unowned-prs.mjs +20 -0
  30. package/dist/cmd/report-unowned-prs.mjs.map +1 -0
  31. package/dist/cmd/unblock-prs.d.mts +3 -0
  32. package/dist/cmd/unblock-prs.d.mts.map +1 -0
  33. package/dist/cmd/unblock-prs.mjs +19 -0
  34. package/dist/cmd/unblock-prs.mjs.map +1 -0
  35. package/dist/entry-point.d.mts +3 -0
  36. package/dist/entry-point.d.mts.map +1 -0
  37. package/dist/entry-point.mjs +3 -0
  38. package/dist/entry-point.mjs.map +1 -0
  39. package/dist/lib/cli-args.d.mts +27 -0
  40. package/dist/lib/cli-args.d.mts.map +1 -0
  41. package/dist/lib/cli-args.mjs +55 -0
  42. package/dist/lib/cli-args.mjs.map +1 -0
  43. package/dist/lib/github-api.d.mts +153 -0
  44. package/dist/lib/github-api.d.mts.map +1 -0
  45. package/dist/lib/github-api.mjs +291 -0
  46. package/dist/lib/github-api.mjs.map +1 -0
  47. package/dist/lib/index.d.mts +7 -0
  48. package/dist/lib/index.d.mts.map +1 -0
  49. package/dist/lib/index.mjs +7 -0
  50. package/dist/lib/index.mjs.map +1 -0
  51. package/dist/lib/json.d.mts +12 -0
  52. package/dist/lib/json.d.mts.map +1 -0
  53. package/dist/lib/json.mjs +28 -0
  54. package/dist/lib/json.mjs.map +1 -0
  55. package/dist/lib/log.d.mts +10 -0
  56. package/dist/lib/log.d.mts.map +1 -0
  57. package/dist/lib/log.mjs +13 -0
  58. package/dist/lib/log.mjs.map +1 -0
  59. package/dist/lib/shell.d.mts +18 -0
  60. package/dist/lib/shell.d.mts.map +1 -0
  61. package/dist/lib/shell.mjs +42 -0
  62. package/dist/lib/shell.mjs.map +1 -0
  63. package/dist/lib/time.d.mts +17 -0
  64. package/dist/lib/time.d.mts.map +1 -0
  65. package/dist/lib/time.mjs +35 -0
  66. package/dist/lib/time.mjs.map +1 -0
  67. package/dist/open-pr/github.d.mts +72 -0
  68. package/dist/open-pr/github.d.mts.map +1 -0
  69. package/dist/open-pr/github.mjs +249 -0
  70. package/dist/open-pr/github.mjs.map +1 -0
  71. package/dist/open-pr/index.d.mts +6 -0
  72. package/dist/open-pr/index.d.mts.map +1 -0
  73. package/dist/open-pr/index.mjs +6 -0
  74. package/dist/open-pr/index.mjs.map +1 -0
  75. package/dist/open-pr/main.d.mts +36 -0
  76. package/dist/open-pr/main.d.mts.map +1 -0
  77. package/dist/open-pr/main.mjs +204 -0
  78. package/dist/open-pr/main.mjs.map +1 -0
  79. package/dist/open-pr/options.d.mts +20 -0
  80. package/dist/open-pr/options.d.mts.map +1 -0
  81. package/dist/open-pr/options.mjs +66 -0
  82. package/dist/open-pr/options.mjs.map +1 -0
  83. package/dist/open-pr/steps.d.mts +23 -0
  84. package/dist/open-pr/steps.d.mts.map +1 -0
  85. package/dist/open-pr/steps.mjs +38 -0
  86. package/dist/open-pr/steps.mjs.map +1 -0
  87. package/dist/open-pr/types.d.mts +179 -0
  88. package/dist/open-pr/types.d.mts.map +1 -0
  89. package/dist/open-pr/types.mjs +20 -0
  90. package/dist/open-pr/types.mjs.map +1 -0
  91. package/dist/pr-report/github.d.mts +59 -0
  92. package/dist/pr-report/github.d.mts.map +1 -0
  93. package/dist/pr-report/github.mjs +561 -0
  94. package/dist/pr-report/github.mjs.map +1 -0
  95. package/dist/pr-report/index.d.mts +8 -0
  96. package/dist/pr-report/index.d.mts.map +1 -0
  97. package/dist/pr-report/index.mjs +8 -0
  98. package/dist/pr-report/index.mjs.map +1 -0
  99. package/dist/pr-report/linked-issues.d.mts +15 -0
  100. package/dist/pr-report/linked-issues.d.mts.map +1 -0
  101. package/dist/pr-report/linked-issues.mjs +39 -0
  102. package/dist/pr-report/linked-issues.mjs.map +1 -0
  103. package/dist/pr-report/main.d.mts +42 -0
  104. package/dist/pr-report/main.d.mts.map +1 -0
  105. package/dist/pr-report/main.mjs +163 -0
  106. package/dist/pr-report/main.mjs.map +1 -0
  107. package/dist/pr-report/options.d.mts +36 -0
  108. package/dist/pr-report/options.d.mts.map +1 -0
  109. package/dist/pr-report/options.mjs +90 -0
  110. package/dist/pr-report/options.mjs.map +1 -0
  111. package/dist/pr-report/queue.d.mts +28 -0
  112. package/dist/pr-report/queue.d.mts.map +1 -0
  113. package/dist/pr-report/queue.mjs +74 -0
  114. package/dist/pr-report/queue.mjs.map +1 -0
  115. package/dist/pr-report/render.d.mts +14 -0
  116. package/dist/pr-report/render.d.mts.map +1 -0
  117. package/dist/pr-report/render.mjs +318 -0
  118. package/dist/pr-report/render.mjs.map +1 -0
  119. package/dist/pr-report/repo-settings.d.mts +12 -0
  120. package/dist/pr-report/repo-settings.d.mts.map +1 -0
  121. package/dist/pr-report/repo-settings.mjs +22 -0
  122. package/dist/pr-report/repo-settings.mjs.map +1 -0
  123. package/dist/push-fixed-pr/index.d.mts +2 -0
  124. package/dist/push-fixed-pr/index.d.mts.map +1 -0
  125. package/dist/push-fixed-pr/index.mjs +2 -0
  126. package/dist/push-fixed-pr/index.mjs.map +1 -0
  127. package/dist/push-fixed-pr/push-fixed-pr.d.mts +54 -0
  128. package/dist/push-fixed-pr/push-fixed-pr.d.mts.map +1 -0
  129. package/dist/push-fixed-pr/push-fixed-pr.mjs +172 -0
  130. package/dist/push-fixed-pr/push-fixed-pr.mjs.map +1 -0
  131. package/dist/report-unowned-prs/index.d.mts +2 -0
  132. package/dist/report-unowned-prs/index.d.mts.map +1 -0
  133. package/dist/report-unowned-prs/index.mjs +2 -0
  134. package/dist/report-unowned-prs/index.mjs.map +1 -0
  135. package/dist/report-unowned-prs/report-unowned-prs.d.mts +49 -0
  136. package/dist/report-unowned-prs/report-unowned-prs.d.mts.map +1 -0
  137. package/dist/report-unowned-prs/report-unowned-prs.mjs +127 -0
  138. package/dist/report-unowned-prs/report-unowned-prs.mjs.map +1 -0
  139. package/dist/tsconfig.json +1 -0
  140. package/dist/unblock-prs/auto-fix.d.mts +45 -0
  141. package/dist/unblock-prs/auto-fix.d.mts.map +1 -0
  142. package/dist/unblock-prs/auto-fix.mjs +207 -0
  143. package/dist/unblock-prs/auto-fix.mjs.map +1 -0
  144. package/dist/unblock-prs/checks.d.mts +307 -0
  145. package/dist/unblock-prs/checks.d.mts.map +1 -0
  146. package/dist/unblock-prs/checks.mjs +372 -0
  147. package/dist/unblock-prs/checks.mjs.map +1 -0
  148. package/dist/unblock-prs/claims.d.mts +21 -0
  149. package/dist/unblock-prs/claims.d.mts.map +1 -0
  150. package/dist/unblock-prs/claims.mjs +23 -0
  151. package/dist/unblock-prs/claims.mjs.map +1 -0
  152. package/dist/unblock-prs/config.d.mts +487 -0
  153. package/dist/unblock-prs/config.d.mts.map +1 -0
  154. package/dist/unblock-prs/config.mjs +119 -0
  155. package/dist/unblock-prs/config.mjs.map +1 -0
  156. package/dist/unblock-prs/constants.d.mts +28 -0
  157. package/dist/unblock-prs/constants.d.mts.map +1 -0
  158. package/dist/unblock-prs/constants.mjs +28 -0
  159. package/dist/unblock-prs/constants.mjs.map +1 -0
  160. package/dist/unblock-prs/demotions.d.mts +42 -0
  161. package/dist/unblock-prs/demotions.d.mts.map +1 -0
  162. package/dist/unblock-prs/demotions.mjs +50 -0
  163. package/dist/unblock-prs/demotions.mjs.map +1 -0
  164. package/dist/unblock-prs/github.d.mts +739 -0
  165. package/dist/unblock-prs/github.d.mts.map +1 -0
  166. package/dist/unblock-prs/github.mjs +626 -0
  167. package/dist/unblock-prs/github.mjs.map +1 -0
  168. package/dist/unblock-prs/index.d.mts +25 -0
  169. package/dist/unblock-prs/index.d.mts.map +1 -0
  170. package/dist/unblock-prs/index.mjs +25 -0
  171. package/dist/unblock-prs/index.mjs.map +1 -0
  172. package/dist/unblock-prs/labels.d.mts +49 -0
  173. package/dist/unblock-prs/labels.d.mts.map +1 -0
  174. package/dist/unblock-prs/labels.mjs +49 -0
  175. package/dist/unblock-prs/labels.mjs.map +1 -0
  176. package/dist/unblock-prs/main.d.mts +179 -0
  177. package/dist/unblock-prs/main.d.mts.map +1 -0
  178. package/dist/unblock-prs/main.mjs +640 -0
  179. package/dist/unblock-prs/main.mjs.map +1 -0
  180. package/dist/unblock-prs/merge-after.d.mts +46 -0
  181. package/dist/unblock-prs/merge-after.d.mts.map +1 -0
  182. package/dist/unblock-prs/merge-after.mjs +65 -0
  183. package/dist/unblock-prs/merge-after.mjs.map +1 -0
  184. package/dist/unblock-prs/options.d.mts +35 -0
  185. package/dist/unblock-prs/options.d.mts.map +1 -0
  186. package/dist/unblock-prs/options.mjs +88 -0
  187. package/dist/unblock-prs/options.mjs.map +1 -0
  188. package/dist/unblock-prs/owner.d.mts +32 -0
  189. package/dist/unblock-prs/owner.d.mts.map +1 -0
  190. package/dist/unblock-prs/owner.mjs +63 -0
  191. package/dist/unblock-prs/owner.mjs.map +1 -0
  192. package/dist/unblock-prs/quiet.d.mts +21 -0
  193. package/dist/unblock-prs/quiet.d.mts.map +1 -0
  194. package/dist/unblock-prs/quiet.mjs +42 -0
  195. package/dist/unblock-prs/quiet.mjs.map +1 -0
  196. package/dist/unblock-prs/rebase.d.mts +120 -0
  197. package/dist/unblock-prs/rebase.d.mts.map +1 -0
  198. package/dist/unblock-prs/rebase.mjs +576 -0
  199. package/dist/unblock-prs/rebase.mjs.map +1 -0
  200. package/dist/unblock-prs/release.d.mts +62 -0
  201. package/dist/unblock-prs/release.d.mts.map +1 -0
  202. package/dist/unblock-prs/release.mjs +94 -0
  203. package/dist/unblock-prs/release.mjs.map +1 -0
  204. package/dist/unblock-prs/set-aside-comment.d.mts +20 -0
  205. package/dist/unblock-prs/set-aside-comment.d.mts.map +1 -0
  206. package/dist/unblock-prs/set-aside-comment.mjs +93 -0
  207. package/dist/unblock-prs/set-aside-comment.mjs.map +1 -0
  208. package/dist/unblock-prs/set-aside-detail.d.mts +41 -0
  209. package/dist/unblock-prs/set-aside-detail.d.mts.map +1 -0
  210. package/dist/unblock-prs/set-aside-detail.mjs +56 -0
  211. package/dist/unblock-prs/set-aside-detail.mjs.map +1 -0
  212. package/dist/unblock-prs/skips.d.mts +85 -0
  213. package/dist/unblock-prs/skips.d.mts.map +1 -0
  214. package/dist/unblock-prs/skips.mjs +141 -0
  215. package/dist/unblock-prs/skips.mjs.map +1 -0
  216. package/dist/unblock-prs/stack.d.mts +98 -0
  217. package/dist/unblock-prs/stack.d.mts.map +1 -0
  218. package/dist/unblock-prs/stack.mjs +141 -0
  219. package/dist/unblock-prs/stack.mjs.map +1 -0
  220. package/dist/unblock-prs/triage.d.mts +28 -0
  221. package/dist/unblock-prs/triage.d.mts.map +1 -0
  222. package/dist/unblock-prs/triage.mjs +396 -0
  223. package/dist/unblock-prs/triage.mjs.map +1 -0
  224. package/dist/unblock-prs/types.d.mts +793 -0
  225. package/dist/unblock-prs/types.d.mts.map +1 -0
  226. package/dist/unblock-prs/types.mjs +26 -0
  227. package/dist/unblock-prs/types.mjs.map +1 -0
  228. package/dist/unblock-prs/util.d.mts +23 -0
  229. package/dist/unblock-prs/util.d.mts.map +1 -0
  230. package/dist/unblock-prs/util.mjs +60 -0
  231. package/dist/unblock-prs/util.mjs.map +1 -0
  232. package/dist/unblock-prs/version-pr.d.mts +57 -0
  233. package/dist/unblock-prs/version-pr.d.mts.map +1 -0
  234. package/dist/unblock-prs/version-pr.mjs +79 -0
  235. package/dist/unblock-prs/version-pr.mjs.map +1 -0
  236. package/dist/unblock-prs/watch.d.mts +17 -0
  237. package/dist/unblock-prs/watch.d.mts.map +1 -0
  238. package/dist/unblock-prs/watch.mjs +128 -0
  239. package/dist/unblock-prs/watch.mjs.map +1 -0
  240. package/package.json +118 -3
  241. package/src/claim-pr/claim-pr.mts +380 -0
  242. package/src/claim-pr/claim-pr.test.mts +176 -0
  243. package/src/claim-pr/index.mts +1 -0
  244. package/src/cmd/claim-pr.mts +32 -0
  245. package/src/cmd/open-pr.mts +28 -0
  246. package/src/cmd/pr-report.mts +28 -0
  247. package/src/cmd/push-fixed-pr.mts +36 -0
  248. package/src/cmd/report-unowned-prs.mts +37 -0
  249. package/src/cmd/unblock-prs.mts +24 -0
  250. package/src/entry-point.mts +3 -0
  251. package/src/lib/cli-args.mts +86 -0
  252. package/src/lib/cli-args.test.mts +92 -0
  253. package/src/lib/github-api.mts +463 -0
  254. package/src/lib/github-api.test.mts +40 -0
  255. package/src/lib/index.mts +6 -0
  256. package/src/lib/json.mts +43 -0
  257. package/src/lib/json.test.mts +34 -0
  258. package/src/lib/log.mts +19 -0
  259. package/src/lib/log.test.mts +45 -0
  260. package/src/lib/shell.mts +52 -0
  261. package/src/lib/time.mts +49 -0
  262. package/src/open-pr/README.md +237 -0
  263. package/src/open-pr/github.mts +444 -0
  264. package/src/open-pr/index.mts +5 -0
  265. package/src/open-pr/main.mts +327 -0
  266. package/src/open-pr/options.mts +101 -0
  267. package/src/open-pr/options.test.mts +67 -0
  268. package/src/open-pr/steps.mts +57 -0
  269. package/src/open-pr/steps.test.mts +59 -0
  270. package/src/open-pr/types.mts +42 -0
  271. package/src/pr-report/README.md +244 -0
  272. package/src/pr-report/github.mts +911 -0
  273. package/src/pr-report/index.mts +7 -0
  274. package/src/pr-report/linked-issues.mts +51 -0
  275. package/src/pr-report/linked-issues.test.mts +65 -0
  276. package/src/pr-report/main.mts +257 -0
  277. package/src/pr-report/options.mts +140 -0
  278. package/src/pr-report/queue.mts +125 -0
  279. package/src/pr-report/render.mts +428 -0
  280. package/src/pr-report/render.test.mts +379 -0
  281. package/src/pr-report/repo-settings.mts +34 -0
  282. package/src/push-fixed-pr/index.mts +1 -0
  283. package/src/push-fixed-pr/push-fixed-pr.mts +276 -0
  284. package/src/push-fixed-pr/push-fixed-pr.test.mts +228 -0
  285. package/src/report-unowned-prs/index.mts +1 -0
  286. package/src/report-unowned-prs/report-unowned-prs.mts +190 -0
  287. package/src/report-unowned-prs/report-unowned-prs.test.mts +87 -0
  288. package/src/unblock-prs/README.md +1616 -0
  289. package/src/unblock-prs/auto-fix.mts +334 -0
  290. package/src/unblock-prs/auto-fix.test.mts +159 -0
  291. package/src/unblock-prs/checks.mts +538 -0
  292. package/src/unblock-prs/checks.test.mts +507 -0
  293. package/src/unblock-prs/claims.mts +33 -0
  294. package/src/unblock-prs/claims.test.mts +64 -0
  295. package/src/unblock-prs/config.mts +187 -0
  296. package/src/unblock-prs/config.schema.json +71 -0
  297. package/src/unblock-prs/config.test.mts +139 -0
  298. package/src/unblock-prs/constants.mts +33 -0
  299. package/src/unblock-prs/demotions.mts +73 -0
  300. package/src/unblock-prs/demotions.test.mts +100 -0
  301. package/src/unblock-prs/github.mts +1042 -0
  302. package/src/unblock-prs/github.test.mts +84 -0
  303. package/src/unblock-prs/index.mts +24 -0
  304. package/src/unblock-prs/labels.mts +70 -0
  305. package/src/unblock-prs/main.mts +1051 -0
  306. package/src/unblock-prs/merge-after.mts +117 -0
  307. package/src/unblock-prs/merge-after.test.mts +120 -0
  308. package/src/unblock-prs/options.mts +157 -0
  309. package/src/unblock-prs/owner.mts +91 -0
  310. package/src/unblock-prs/owner.test.mts +114 -0
  311. package/src/unblock-prs/quiet.mts +62 -0
  312. package/src/unblock-prs/quiet.test.mts +175 -0
  313. package/src/unblock-prs/rebase.mts +962 -0
  314. package/src/unblock-prs/release.mts +149 -0
  315. package/src/unblock-prs/release.test.mts +209 -0
  316. package/src/unblock-prs/set-aside-comment.mts +143 -0
  317. package/src/unblock-prs/set-aside-comment.test.mts +148 -0
  318. package/src/unblock-prs/set-aside-detail.mts +82 -0
  319. package/src/unblock-prs/set-aside-detail.test.mts +131 -0
  320. package/src/unblock-prs/skips.mts +215 -0
  321. package/src/unblock-prs/skips.test.mts +280 -0
  322. package/src/unblock-prs/stack.mts +220 -0
  323. package/src/unblock-prs/stack.test.mts +449 -0
  324. package/src/unblock-prs/triage.mts +669 -0
  325. package/src/unblock-prs/triage.test.mts +100 -0
  326. package/src/unblock-prs/types.mts +358 -0
  327. package/src/unblock-prs/util.mts +78 -0
  328. package/src/unblock-prs/util.test.mts +26 -0
  329. package/src/unblock-prs/version-pr.mts +112 -0
  330. package/src/unblock-prs/version-pr.test.mts +78 -0
  331. package/src/unblock-prs/watch.mts +219 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/unblock-prs/types.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+
2
+ import * as t from 'ts-fortress';
3
+
4
+ export const PullRequestSchema = t.record({
5
+ number: t.number(),
6
+
7
+ id: t.string(),
8
+ title: t.string(),
9
+
10
+ body: t.string(),
11
+ state: t.string(),
12
+ headRefName: t.string(),
13
+ headRefOid: t.string(),
14
+ baseRefName: t.string(),
15
+
16
+
17
+
18
+
19
+ isCrossRepository: t.boolean(),
20
+ isDraft: t.boolean(),
21
+ mergeStateStatus: t.string(),
22
+ autoMergeRequest: t.unknown(),
23
+ labels: t.array(t.record({ name: t.string() })),
24
+ });
25
+ export const PullRequestListSchema = t.array(PullRequestSchema);
26
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/unblock-prs/types.mts"],"names":[],"mappings":"AAAA,mCAAmC;AAanC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAGjC,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,0EAA0E;IAC1E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,uDAAuD;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;;OAGG;IACH,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CAChD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The small things every other module here needs: the stop signal and what
3
+ * listens to it. Quoting and logging are shared with the other commands, in
4
+ * `tools/scripts/lib/`.
5
+ */
6
+ /**
7
+ * Read through a call rather than directly, because the flag flips inside a
8
+ * signal handler and TypeScript would otherwise narrow it to `false` for the
9
+ * rest of any block that has already tested it.
10
+ */
11
+ export declare const stopRequested: () => boolean;
12
+ /**
13
+ * The SHA `git ls-remote` lists for `branch`, by its whole ref name. A ref
14
+ * pattern given to `ls-remote` matches on the tail of the name, so
15
+ * `ls-remote origin main` lists `refs/heads/changeset-release/main` too, and
16
+ * first; the first line is not the branch asked for.
17
+ */
18
+ export declare const headShaFromListing: (listing: string, branch: string) => string | undefined;
19
+ export declare const lastLines: (text: string, count: number) => string;
20
+ /** Sleeps, returning early when a stop has been requested. */
21
+ export declare const pause: (ms: number) => Promise<void>;
22
+ export declare const installStopHandlers: () => void;
23
+ //# sourceMappingURL=util.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.mts","sourceRoot":"","sources":["../../src/unblock-prs/util.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,OAAwC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,UACP,MAAM,KACb,MAAM,GAAG,SAI+C,CAAC;AAE5D,eAAO,MAAM,SAAS,SAAU,MAAM,SAAS,MAAM,KAAG,MACN,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,KAAK,OAAc,MAAM,KAAG,OAAO,CAAC,IAAI,CAQpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,IAItC,CAAC"}
@@ -0,0 +1,60 @@
1
+
2
+
3
+
4
+
5
+
6
+ import { setTimeout as sleep } from 'node:timers/promises';
7
+ import { log } from '../lib/index.mjs';
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ const stopController = new AbortController();
24
+
25
+
26
+
27
+
28
+
29
+ export const stopRequested = () => stopController.signal.aborted;
30
+
31
+
32
+
33
+
34
+
35
+
36
+ export const headShaFromListing = (listing, branch) => listing
37
+ .split('\n')
38
+ .map((line) => line.trim().split(/\s+/u))
39
+ .find(([, ref]) => ref === `refs/heads/${branch}`)?.[0];
40
+ export const lastLines = (text, count) => text.trim().split('\n').slice(-count).join('\n');
41
+
42
+ export const pause = async (ms) => {
43
+ if (stopRequested()) {
44
+ return;
45
+ }
46
+ await sleep(ms, undefined, { signal: stopController.signal }).catch(() => undefined);
47
+ };
48
+ export const installStopHandlers = () => {
49
+ process.once('SIGINT', onSignal);
50
+ process.once('SIGTERM', onSignal);
51
+ };
52
+ const onSignal = (signal) => {
53
+ log(`${signal}: finishing the current step, then stopping.`);
54
+ stopController.abort();
55
+
56
+ process.once(signal, () => {
57
+ process.exit(130);
58
+ });
59
+ };
60
+ //# sourceMappingURL=util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","sourceRoot":"","sources":["../../src/unblock-prs/util.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAe,EACf,MAAc,EACM,EAAE,CACtB,OAAO;KACJ,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACxC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,cAAc,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAC/D,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;IACvD,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CACjE,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAQ,EAAE;IAChD,GAAG,CAAC,GAAG,MAAM,8CAA8C,CAAC,CAAC;IAE7D,cAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The version pull request — `changeset-release/<base>`, opened and rewritten
3
+ * by `changesets/action` — and what holds it back.
4
+ *
5
+ * It is the one pull request here that is derived rather than written. On
6
+ * every push to the base the release workflow rebuilds the branch from the
7
+ * tip, force-pushes it, and overwrites the title and body through
8
+ * `updatePullRequest`. Two consequences shape everything in this file:
9
+ *
10
+ * - **Nothing written in its body survives.** A `Merge-After:` trailer put
11
+ * there is wiped by the next push to the base — which, when several pull
12
+ * requests are queued, is exactly while the ordering still mattered. So the
13
+ * ordering is declared from the other side, with `blocks-release` on the
14
+ * pull request the release is waiting for.
15
+ * - **It must not be rebased.** `unblock-prs` and the release workflow would
16
+ * be two things force-pushing one branch. Worse, a rebase lands the old
17
+ * version commit on a tip that carries a changeset it never consumed, so
18
+ * what merges is a release missing the change the queue was assembled for.
19
+ * Whether the branch is ready is not this script's to fix: it is the
20
+ * release workflow's, and the only thing to do here is wait for it.
21
+ */
22
+ import { Result } from 'ts-data-forge';
23
+ import type { Classification, PullRequest, TriageContext } from './types.mjs';
24
+ /**
25
+ * Whether this is the version pull request, by the branch it comes from
26
+ * (`isVersionBranch`).
27
+ */
28
+ export declare const isVersionPullRequest: (pr: PullRequest, defaultBranch: string) => boolean;
29
+ /**
30
+ * What to report while pull requests labelled `blocks-release` are open.
31
+ * Nothing here can clear it: a `blocks-release` pull request ends when a
32
+ * person merges or closes it.
33
+ */
34
+ export declare const releaseBlockedNote: (pr: PullRequest, by: readonly Readonly<{
35
+ number: number;
36
+ isDraft: boolean;
37
+ }>[]) => Classification;
38
+ /**
39
+ * What to report while the branch was built on a stale tip, which the
40
+ * release workflow's next run rebuilds.
41
+ */
42
+ export declare const releaseStaleNote: (pr: PullRequest, context: Readonly<{
43
+ defaultBranch: string;
44
+ baseSha: string;
45
+ }>) => Classification;
46
+ /**
47
+ * Whether the branch was built on the current tip of the base — the question
48
+ * `mergeStateStatus` is asked everywhere else here, asked of git instead —
49
+ * or, when git cannot say, the note to report.
50
+ *
51
+ * GitHub's answer is computed asynchronously and cached, and being wrong
52
+ * about this one releases a set the branch was built before, so it is worth
53
+ * a fetch. `git merge-base` rather than `--is-ancestor`, whose "no" is an
54
+ * exit status this module could not tell apart from a git that failed.
55
+ */
56
+ export declare const isRebuiltOnBaseTip: (pr: PullRequest, context: TriageContext) => Promise<Result<boolean, Classification>>;
57
+ //# sourceMappingURL=version-pr.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-pr.d.mts","sourceRoot":"","sources":["../../src/unblock-prs/version-pr.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG9E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAC3B,WAAW,iBACA,MAAM,KACpB,OAAyD,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OACzB,WAAW,MACX,SAAS,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,KAC5D,cAQU,CAAC;AAEd;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OACvB,WAAW,WACN,QAAQ,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,KAC5D,cAIU,CAAC;AAEd;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,OACzB,WAAW,WACN,aAAa,KACrB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CASzC,CAAC"}
@@ -0,0 +1,79 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+ import { BLOCKS_RELEASE_LABEL, isVersionBranch } from 'pr-report-core';
23
+ import { Result } from 'ts-data-forge';
24
+ import { git, sh } from '../lib/index.mjs';
25
+ import { lastLines } from './util.mjs';
26
+
27
+
28
+
29
+
30
+ export const isVersionPullRequest = (pr, defaultBranch) => isVersionBranch(pr.headRefName, defaultBranch);
31
+
32
+
33
+
34
+
35
+
36
+ export const releaseBlockedNote = (pr, by) => ({
37
+ kind: 'note',
38
+ note: `#${pr.number}: ${BLOCKS_RELEASE_LABEL} on ${by
39
+ .map((blocker) => `#${blocker.number}${blocker.isDraft ? ' (draft)' : ''}`)
40
+ .join(', ')} — still open, so the release waits`,
41
+ });
42
+
43
+
44
+
45
+
46
+ export const releaseStaleNote = (pr, context) => ({
47
+ kind: 'note',
48
+ note: `#${pr.number}: built before ${context.defaultBranch} reached ${context.baseSha.slice(0, 10)}; waiting for the release workflow to rebuild it`,
49
+ });
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+ export const isRebuiltOnBaseTip = async (pr, context) => {
61
+ const answered = await mergeBaseIsTip(pr, context);
62
+ return Result.isErr(answered)
63
+ ? Result.err({
64
+ kind: 'note',
65
+ note: `#${pr.number}: cannot tell whether it was rebuilt on ${context.baseSha.slice(0, 10)}: ${answered.value}`,
66
+ })
67
+ : answered;
68
+ };
69
+ const mergeBaseIsTip = async (pr, context) => {
70
+ const fetched = await git(`git fetch --quiet origin ${sh(context.defaultBranch)} ${sh(pr.headRefName)}`);
71
+ if (Result.isErr(fetched)) {
72
+ return Result.err(`fetch failed: ${lastLines(fetched.value, 2)}`);
73
+ }
74
+ const mergeBase = await git(`git merge-base ${sh(context.baseSha)} ${sh(pr.headRefOid)}`);
75
+ return Result.isErr(mergeBase)
76
+ ? Result.err(`merge-base failed: ${lastLines(mergeBase.value, 2)}`)
77
+ : Result.ok(mergeBase.value.trim() === context.baseSha);
78
+ };
79
+ //# sourceMappingURL=version-pr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-pr.mjs","sourceRoot":"","sources":["../../src/unblock-prs/version-pr.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** Polling one pull request until it merges, or until it will not. */
2
+ import { type ApiContext } from '../lib/index.mjs';
3
+ import type { Options } from './options.mjs';
4
+ import type { PullRequest, Watched } from './types.mjs';
5
+ /**
6
+ * Polls one pull request until it merges or until something says it will not.
7
+ * `expectedHead` is the commit the checks are expected on; a different head
8
+ * means someone else pushed, and the survey has to start over.
9
+ *
10
+ * `bypassReason` is set for a pull request only a ruleset bypass merges
11
+ * (`pr-report-core`'s `review-hold.mts`). It has no auto-merge to lose, and
12
+ * nothing will merge it on green, so the watch ends at the verdict: failed as
13
+ * for any other, or green and `awaiting-bypass`, with the reason for the
14
+ * comment to say.
15
+ */
16
+ export declare const watch: (api: ApiContext, pr: PullRequest, expectedHead: string, requiredContexts: readonly string[], options: Options, bypassReason: string | undefined) => Promise<Watched>;
17
+ //# sourceMappingURL=watch.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.mts","sourceRoot":"","sources":["../../src/unblock-prs/watch.mts"],"names":[],"mappings":"AAAA,sEAAsE;AAItE,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGxD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,QACX,UAAU,MACX,WAAW,gBACD,MAAM,oBACF,SAAS,MAAM,EAAE,WAC1B,OAAO,gBACF,MAAM,GAAG,SAAS,KAC/B,OAAO,CAAC,OAAO,CAiJjB,CAAC"}
@@ -0,0 +1,128 @@
1
+
2
+ import { isMergeableState } from 'pr-report-core';
3
+ import { isRecord, Result } from 'ts-data-forge';
4
+ import { log } from '../lib/index.mjs';
5
+ import { describeWaitingOn, listRequiredChecks, listRunningChecks, summarizeChecks, } from './checks.mjs';
6
+ import { BLOCKED_GREEN_POLLS_BEFORE_GIVING_UP, GREEN_POLLS_BEFORE_GIVING_UP, MAX_CONSECUTIVE_POLL_ERRORS, } from './constants.mjs';
7
+ import { viewPullRequest, viewReviewDecision } from './github.mjs';
8
+ import { isSkipCiLabelled } from './labels.mjs';
9
+ import { describeFailedChecks, describeHold, describeTimeout, } from './set-aside-detail.mjs';
10
+ import { pause, stopRequested } from './util.mjs';
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+ export const watch = async (api, pr, expectedHead, requiredContexts, options, bypassReason) => {
23
+ const deadline = Date.now() + options.watchTimeoutMin * 60_000;
24
+ let mut_greenPolls = 0;
25
+ let mut_errors = 0;
26
+ while (!stopRequested()) {
27
+ await pause(options.pollIntervalSec * 1000);
28
+ if (stopRequested()) {
29
+ break;
30
+ }
31
+ const viewed = await viewPullRequest(api, pr.number);
32
+ if (Result.isErr(viewed)) {
33
+ mut_errors += 1;
34
+ log(`#${pr.number}: poll failed (${mut_errors}): ${viewed.value}`);
35
+ if (mut_errors >= MAX_CONSECUTIVE_POLL_ERRORS) {
36
+ return { outcome: 'error' };
37
+ }
38
+ continue;
39
+ }
40
+ const current = viewed.value;
41
+ if (current.state === 'MERGED') {
42
+ return { outcome: 'merged' };
43
+ }
44
+ if (current.state !== 'OPEN') {
45
+ return { outcome: 'closed' };
46
+ }
47
+ if (bypassReason === undefined && !isRecord(current.autoMergeRequest)) {
48
+ return { outcome: 'auto-merge-disabled' };
49
+ }
50
+
51
+
52
+
53
+ if (isSkipCiLabelled(current)) {
54
+ return { outcome: 'skip-ci-labelled' };
55
+ }
56
+ if (current.headRefOid !== expectedHead) {
57
+ return { outcome: 'head-moved' };
58
+ }
59
+ if (current.mergeStateStatus === 'BEHIND' ||
60
+ current.mergeStateStatus === 'DIRTY') {
61
+ return { outcome: 'behind-again' };
62
+ }
63
+ const checks = await readChecks(api, pr.number);
64
+ if (Result.isErr(checks)) {
65
+ mut_errors += 1;
66
+ log(`#${pr.number}: poll failed (${mut_errors}): ${checks.value}`);
67
+ if (mut_errors >= MAX_CONSECUTIVE_POLL_ERRORS) {
68
+ return { outcome: 'error' };
69
+ }
70
+ continue;
71
+ }
72
+ mut_errors = 0;
73
+ const summary = summarizeChecks(checks.value.required, requiredContexts, checks.value.running);
74
+ if (summary.verdict === 'failing') {
75
+ const failed = describeFailedChecks(summary);
76
+ log(`#${pr.number}: ${failed.detail}`);
77
+ return { outcome: 'checks-failed', ...failed };
78
+ }
79
+ if (summary.verdict === 'pending') {
80
+ mut_greenPolls = 0;
81
+ log(`#${pr.number}: ${current.mergeStateStatus}, waiting on ${describeWaitingOn(summary)}`);
82
+ }
83
+ else if (bypassReason !== undefined) {
84
+ log(`#${pr.number}: all ${summary.required} required checks green; it waits for a bypass merge.`);
85
+ return {
86
+ outcome: 'awaiting-bypass',
87
+ detail: `every required check is green; ${bypassReason}`,
88
+ };
89
+ }
90
+ else {
91
+ mut_greenPolls += 1;
92
+
93
+
94
+
95
+ const budget = isMergeableState(current.mergeStateStatus)
96
+ ? GREEN_POLLS_BEFORE_GIVING_UP
97
+ : BLOCKED_GREEN_POLLS_BEFORE_GIVING_UP;
98
+ log(`#${pr.number}: ${current.mergeStateStatus}, all ${summary.required} required checks green (${mut_greenPolls}/${budget}), waiting for auto-merge`);
99
+ if (mut_greenPolls >= budget) {
100
+ const reviewDecision = await viewReviewDecision(api, pr.number);
101
+ return {
102
+ outcome: 'not-merging',
103
+ detail: describeHold(current.mergeStateStatus, Result.isOk(reviewDecision) ? reviewDecision.value : undefined),
104
+ };
105
+ }
106
+ }
107
+ if (Date.now() > deadline) {
108
+ log(`#${pr.number}: still waiting on ${describeWaitingOn(summary)} after ${options.watchTimeoutMin} minutes.`);
109
+ return {
110
+ outcome: 'timeout',
111
+ detail: describeTimeout(summary, options.watchTimeoutMin),
112
+ };
113
+ }
114
+ }
115
+ return { outcome: 'stopped' };
116
+ };
117
+
118
+ const readChecks = async (api, prNumber) => {
119
+ const required = await listRequiredChecks(api, prNumber);
120
+ if (Result.isErr(required)) {
121
+ return required;
122
+ }
123
+ const running = await listRunningChecks(api, prNumber);
124
+ return Result.isErr(running)
125
+ ? running
126
+ : Result.ok({ required: required.value, running: running.value });
127
+ };
128
+ //# sourceMappingURL=watch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.mjs","sourceRoot":"","sources":["../../src/unblock-prs/watch.mts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,GAAG,EAAmB,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAGhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oCAAoC,EACpC,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EACxB,GAAe,EACf,EAAe,EACf,YAAoB,EACpB,gBAAmC,EACnC,OAAgB,EAChB,YAAgC,EACd,EAAE;IACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;IAE/D,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QAE5C,IAAI,aAAa,EAAE,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,UAAU,IAAI,CAAC,CAAC;YAEhB,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,kBAAkB,UAAU,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAEnE,IAAI,UAAU,IAAI,2BAA2B,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC9B,CAAC;YAED,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAE7B,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC5C,CAAC;QAED,qEAAqE;QACrE,wEAAwE;QACxE,uDAAuD;QACvD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACnC,CAAC;QAED,IACE,OAAO,CAAC,gBAAgB,KAAK,QAAQ;YACrC,OAAO,CAAC,gBAAgB,KAAK,OAAO,EACpC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,UAAU,IAAI,CAAC,CAAC;YAEhB,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,kBAAkB,UAAU,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAEnE,IAAI,UAAU,IAAI,2BAA2B,EAAE,CAAC;gBAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC9B,CAAC;YAED,SAAS;QACX,CAAC;QAED,UAAU,GAAG,CAAC,CAAC;QAEf,MAAM,OAAO,GAAG,eAAe,CAC7B,MAAM,CAAC,KAAK,CAAC,QAAQ,EACrB,gBAAgB,EAChB,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAE7C,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,GAAG,CAAC,CAAC;YAEnB,GAAG,CACD,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,gBAAgB,gBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;aAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,GAAG,CACD,IAAI,EAAE,CAAC,MAAM,SAAS,OAAO,CAAC,QAAQ,sDAAsD,CAC7F,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,kCAAkC,YAAY,EAAE;aACzD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,cAAc,IAAI,CAAC,CAAC;YAEpB,wEAAwE;YACxE,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACvD,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,oCAAoC,CAAC;YAEzC,GAAG,CACD,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,gBAAgB,SAAS,OAAO,CAAC,QAAQ,2BAA2B,cAAc,IAAI,MAAM,2BAA2B,CAClJ,CAAC;YAEF,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBAEhE,OAAO;oBACL,OAAO,EAAE,aAAa;oBACtB,MAAM,EAAE,YAAY,CAClB,OAAO,CAAC,gBAAgB,EACxB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC/D;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1B,GAAG,CACD,IAAI,EAAE,CAAC,MAAM,sBAAsB,iBAAiB,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,eAAe,WAAW,CAC1G,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;aAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,UAAU,GAAG,KAAK,EACtB,GAAe,EACf,QAAgB,EAShB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,121 @@
1
1
  {
2
2
  "name": "pr-merge-queue",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.0.0",
4
+ "private": false,
5
+ "description": "A merge queue for GitHub driven by labels and `Merge-After:` trailers: unblock-prs lands the queued pull requests one at a time, open-pr opens one the way the queue wants it, and pr-report, claim-pr, push-fixed-pr and report-unowned-prs read and hand over the queue",
6
+ "keywords": [
7
+ "github",
8
+ "pull-request",
9
+ "merge-queue",
10
+ "stacked-pull-requests",
11
+ "cli"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/noshiro-pf/mono.git",
16
+ "directory": "libs/pr-merge-queue"
17
+ },
18
+ "license": "Apache-2.0",
19
+ "author": "noshiro-pf <noshiro.pf@gmail.com>",
20
+ "sideEffects": false,
21
+ "type": "module",
22
+ "exports": {
23
+ ".": {
24
+ "import": {
25
+ "types": "./dist/entry-point.d.mts",
26
+ "default": "./dist/entry-point.mjs"
27
+ },
28
+ "default": {
29
+ "types": "./dist/entry-point.d.mts",
30
+ "default": "./dist/entry-point.mjs"
31
+ }
32
+ }
33
+ },
34
+ "module": "./dist/entry-point.mjs",
35
+ "types": "./dist/entry-point.d.mts",
36
+ "bin": {
37
+ "claim-pr": "./dist/cmd/claim-pr.mjs",
38
+ "open-pr": "./dist/cmd/open-pr.mjs",
39
+ "pr-report": "./dist/cmd/pr-report.mjs",
40
+ "push-fixed-pr": "./dist/cmd/push-fixed-pr.mjs",
41
+ "report-unowned-prs": "./dist/cmd/report-unowned-prs.mjs",
42
+ "unblock-prs": "./dist/cmd/unblock-prs.mjs"
43
+ },
44
+ "files": [
45
+ "src",
46
+ "dist",
47
+ "README.md",
48
+ "LICENSE"
49
+ ],
50
+ "dependencies": {
51
+ "dedent": "^1.7.2",
52
+ "pr-report-core": "^0.0.5",
53
+ "ts-data-forge": "^14.10.0",
54
+ "ts-fortress": "^12.4.0",
55
+ "ts-repo-utils": "^10.7.1",
56
+ "ts-type-forge": "^9.2.2"
57
+ },
58
+ "devDependencies": {
59
+ "@types/node": "26.6.5",
60
+ "@vitest/coverage-v8": "5.0.5",
61
+ "cspell": "10.4.0",
62
+ "eslint": "10.13.0",
63
+ "eslint-config-typed": "5.19.2",
64
+ "eslint-plugin-ts-data-forge": "0.10.3",
65
+ "eslint-plugin-ts-fortress": "1.3.8",
66
+ "eslint-plugin-ts-type-forge": "0.8.13",
67
+ "jiti": "2.7.0",
68
+ "npm-run-all2": "9.0.3",
69
+ "prettier": "3.9.10",
70
+ "prettier-plugin-organize-imports": "4.3.0",
71
+ "prettier-plugin-packagejson": "3.0.2",
72
+ "tsx": "4.23.15",
73
+ "typescript": "6.0.3",
74
+ "typescript-native": "npm:typescript@7.0.2",
75
+ "vite": "8.3.4",
76
+ "vitest": "5.0.5"
77
+ },
78
+ "engines": {
79
+ "node": ">=22.22.2",
80
+ "pnpm": ">=9.0.0"
81
+ },
82
+ "volta": {
83
+ "node": "26.12.1"
84
+ },
85
+ "publishConfig": {
86
+ "access": "public",
87
+ "provenance": true
88
+ },
89
+ "scripts": {
90
+ "build": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts",
91
+ "check:cspell": "cspell \"**\" --gitignore --gitignore-root ../../ --no-progress",
92
+ "check:dist": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-dist.mts",
93
+ "check:ext": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-ext.mts",
94
+ "check:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . && eslint .",
95
+ "check:test": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest:node run",
96
+ "check:test:cov": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest:node run --coverage",
97
+ "check:types": "node ../../tools/scripts/cmd/assert-deps-built.mts && node ../../node_modules/typescript-native/bin/tsc --noEmit",
98
+ "doc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-docs.mts",
99
+ "fix:codemod": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/ts-codemod.mts --uncommitted --transformer append-as-const --transformer convert-to-readonly '{src,scripts,samples}/**/*.mts' && pnpm run fix:fmt",
100
+ "fix:codemod:diff": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/ts-codemod.mts --diff-from origin/main --transformer append-as-const --transformer convert-to-readonly '{src,scripts,samples}/**/*.mts' && pnpm run fix:fmt",
101
+ "fix:codemod:full": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/ts-codemod.mts --transformer append-as-const --transformer convert-to-readonly '{src,scripts,samples}/**/*.mts' && pnpm run fix:fmt",
102
+ "fix:fmt": "pnpm run z:format-uncommitted --cwd .",
103
+ "fix:fmt:diff": "pnpm run z:format-diff-from origin/main --cwd .",
104
+ "fix:fmt:full": "prettier --write .",
105
+ "fix:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . --fix && eslint . --fix",
106
+ "fmt": "pnpm run fix:fmt",
107
+ "gen": "run-s gen:index gen:config-schema gen:plugin-version",
108
+ "gen:config-schema": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-config-schema.mts",
109
+ "gen:index": "run-s gen:index:src fix:fmt",
110
+ "gen:index:src": "pnpm run z:gen-index-ts ./src/lib,./src/open-pr,./src/unblock-prs,./src/pr-report,./src/claim-pr,./src/push-fixed-pr,./src/report-unowned-prs --index-ext .mts --export-ext .mjs --target-ext .mts",
111
+ "gen:plugin-version": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-plugin-version.mts",
112
+ "test": "pnpm run check:test",
113
+ "watch:test": "pnpm run z:vitest:node watch",
114
+ "watch:types": "node ../../node_modules/typescript-native/bin/tsc --noEmit --watch -p ./tsconfig.json",
115
+ "z:format-diff-from": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-diff-from.mts",
116
+ "z:format-uncommitted": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-uncommitted.mts",
117
+ "z:gen-index-ts": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/gen-index-ts.mts",
118
+ "z:vitest": "vitest --config ./configs/vitest.config.mts",
119
+ "z:vitest:node": "pnpm run z:vitest --project='Node.js'"
120
+ }
6
121
  }