intershell 0.3.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 (357) hide show
  1. package/README.md +301 -0
  2. package/dist/commands/ci/act.d.ts +13 -0
  3. package/dist/commands/ci/act.d.ts.map +1 -0
  4. package/dist/commands/ci/act.js +89 -0
  5. package/dist/commands/ci/act.js.map +1 -0
  6. package/dist/commands/ci/attach-affected.d.ts +12 -0
  7. package/dist/commands/ci/attach-affected.d.ts.map +1 -0
  8. package/dist/commands/ci/attach-affected.js +83 -0
  9. package/dist/commands/ci/attach-affected.js.map +1 -0
  10. package/dist/commands/ci/attach-service-ports.d.ts +10 -0
  11. package/dist/commands/ci/attach-service-ports.d.ts.map +1 -0
  12. package/dist/commands/ci/attach-service-ports.js +25 -0
  13. package/dist/commands/ci/attach-service-ports.js.map +1 -0
  14. package/dist/commands/commit-check.d.ts +13 -0
  15. package/dist/commands/commit-check.d.ts.map +1 -0
  16. package/dist/commands/commit-check.js +110 -0
  17. package/dist/commands/commit-check.js.map +1 -0
  18. package/dist/commands/commit.d.ts +16 -0
  19. package/dist/commands/commit.d.ts.map +1 -0
  20. package/dist/commands/commit.js +91 -0
  21. package/dist/commands/commit.js.map +1 -0
  22. package/dist/commands/dev/check.d.ts +13 -0
  23. package/dist/commands/dev/check.d.ts.map +1 -0
  24. package/dist/commands/dev/check.js +91 -0
  25. package/dist/commands/dev/check.js.map +1 -0
  26. package/dist/commands/dev/cleanup.d.ts +10 -0
  27. package/dist/commands/dev/cleanup.d.ts.map +1 -0
  28. package/dist/commands/dev/cleanup.js +28 -0
  29. package/dist/commands/dev/cleanup.js.map +1 -0
  30. package/dist/commands/dev/rm.d.ts +12 -0
  31. package/dist/commands/dev/rm.d.ts.map +1 -0
  32. package/dist/commands/dev/rm.js +49 -0
  33. package/dist/commands/dev/rm.js.map +1 -0
  34. package/dist/commands/dev/setup.d.ts +10 -0
  35. package/dist/commands/dev/setup.d.ts.map +1 -0
  36. package/dist/commands/dev/setup.js +40 -0
  37. package/dist/commands/dev/setup.js.map +1 -0
  38. package/dist/commands/local/cleanup.d.ts +12 -0
  39. package/dist/commands/local/cleanup.d.ts.map +1 -0
  40. package/dist/commands/local/cleanup.js +62 -0
  41. package/dist/commands/local/cleanup.js.map +1 -0
  42. package/dist/commands/local/setup.d.ts +11 -0
  43. package/dist/commands/local/setup.d.ts.map +1 -0
  44. package/dist/commands/local/setup.js +55 -0
  45. package/dist/commands/local/setup.js.map +1 -0
  46. package/dist/commands/local/vscode.d.ts +17 -0
  47. package/dist/commands/local/vscode.d.ts.map +1 -0
  48. package/dist/commands/local/vscode.js +94 -0
  49. package/dist/commands/local/vscode.js.map +1 -0
  50. package/dist/commands/update-package-json.d.ts +12 -0
  51. package/dist/commands/update-package-json.d.ts.map +1 -0
  52. package/dist/commands/update-package-json.js +82 -0
  53. package/dist/commands/update-package-json.js.map +1 -0
  54. package/dist/commands/version/apply.d.ts +16 -0
  55. package/dist/commands/version/apply.d.ts.map +1 -0
  56. package/dist/commands/version/apply.js +120 -0
  57. package/dist/commands/version/apply.js.map +1 -0
  58. package/dist/commands/version/ci.d.ts +12 -0
  59. package/dist/commands/version/ci.d.ts.map +1 -0
  60. package/dist/commands/version/ci.js +67 -0
  61. package/dist/commands/version/ci.js.map +1 -0
  62. package/dist/commands/version/prepare.d.ts +19 -0
  63. package/dist/commands/version/prepare.d.ts.map +1 -0
  64. package/dist/commands/version/prepare.js +153 -0
  65. package/dist/commands/version/prepare.js.map +1 -0
  66. package/dist/core/colorify.d.ts +21 -0
  67. package/dist/core/colorify.d.ts.map +1 -0
  68. package/dist/core/colorify.js +56 -0
  69. package/dist/core/colorify.js.map +1 -0
  70. package/dist/core/index.d.ts +4 -0
  71. package/dist/core/index.d.ts.map +1 -0
  72. package/dist/core/index.js +3 -0
  73. package/dist/core/index.js.map +1 -0
  74. package/dist/core/types.d.ts +181 -0
  75. package/dist/core/types.d.ts.map +1 -0
  76. package/dist/core/types.js +5 -0
  77. package/dist/core/types.js.map +1 -0
  78. package/dist/core/wrapshell.d.ts +19 -0
  79. package/dist/core/wrapshell.d.ts.map +1 -0
  80. package/dist/core/wrapshell.js +323 -0
  81. package/dist/core/wrapshell.js.map +1 -0
  82. package/dist/entities/affected/affected.d.ts +4 -0
  83. package/dist/entities/affected/affected.d.ts.map +1 -0
  84. package/dist/entities/affected/affected.js +20 -0
  85. package/dist/entities/affected/affected.js.map +1 -0
  86. package/dist/entities/affected/affected.test.d.ts +2 -0
  87. package/dist/entities/affected/affected.test.d.ts.map +1 -0
  88. package/dist/entities/affected/affected.test.js +305 -0
  89. package/dist/entities/affected/affected.test.js.map +1 -0
  90. package/dist/entities/affected/index.d.ts +2 -0
  91. package/dist/entities/affected/index.d.ts.map +1 -0
  92. package/dist/entities/affected/index.js +2 -0
  93. package/dist/entities/affected/index.js.map +1 -0
  94. package/dist/entities/branch/branch.d.ts +8 -0
  95. package/dist/entities/branch/branch.d.ts.map +1 -0
  96. package/dist/entities/branch/branch.js +74 -0
  97. package/dist/entities/branch/branch.js.map +1 -0
  98. package/dist/entities/branch/branch.test.d.ts +2 -0
  99. package/dist/entities/branch/branch.test.d.ts.map +1 -0
  100. package/dist/entities/branch/branch.test.js +316 -0
  101. package/dist/entities/branch/branch.test.js.map +1 -0
  102. package/dist/entities/branch/branch.types.d.ts +6 -0
  103. package/dist/entities/branch/branch.types.d.ts.map +1 -0
  104. package/dist/entities/branch/branch.types.js +2 -0
  105. package/dist/entities/branch/branch.types.js.map +1 -0
  106. package/dist/entities/branch/index.d.ts +3 -0
  107. package/dist/entities/branch/index.d.ts.map +1 -0
  108. package/dist/entities/branch/index.js +3 -0
  109. package/dist/entities/branch/index.js.map +1 -0
  110. package/dist/entities/commit/commit.d.ts +15 -0
  111. package/dist/entities/commit/commit.d.ts.map +1 -0
  112. package/dist/entities/commit/commit.js +196 -0
  113. package/dist/entities/commit/commit.js.map +1 -0
  114. package/dist/entities/commit/commit.test.d.ts +26 -0
  115. package/dist/entities/commit/commit.test.d.ts.map +1 -0
  116. package/dist/entities/commit/commit.test.js +550 -0
  117. package/dist/entities/commit/commit.test.js.map +1 -0
  118. package/dist/entities/commit/commit.types.d.ts +49 -0
  119. package/dist/entities/commit/commit.types.d.ts.map +1 -0
  120. package/dist/entities/commit/commit.types.js +31 -0
  121. package/dist/entities/commit/commit.types.js.map +1 -0
  122. package/dist/entities/commit/index.d.ts +3 -0
  123. package/dist/entities/commit/index.d.ts.map +1 -0
  124. package/dist/entities/commit/index.js +3 -0
  125. package/dist/entities/commit/index.js.map +1 -0
  126. package/dist/entities/commit/pr.d.ts +11 -0
  127. package/dist/entities/commit/pr.d.ts.map +1 -0
  128. package/dist/entities/commit/pr.js +201 -0
  129. package/dist/entities/commit/pr.js.map +1 -0
  130. package/dist/entities/commit/pr.test.d.ts +2 -0
  131. package/dist/entities/commit/pr.test.d.ts.map +1 -0
  132. package/dist/entities/commit/pr.test.js +782 -0
  133. package/dist/entities/commit/pr.test.js.map +1 -0
  134. package/dist/entities/compose/compose.d.ts +18 -0
  135. package/dist/entities/compose/compose.d.ts.map +1 -0
  136. package/dist/entities/compose/compose.js +197 -0
  137. package/dist/entities/compose/compose.js.map +1 -0
  138. package/dist/entities/compose/compose.test.d.ts +2 -0
  139. package/dist/entities/compose/compose.test.d.ts.map +1 -0
  140. package/dist/entities/compose/compose.test.js +406 -0
  141. package/dist/entities/compose/compose.test.js.map +1 -0
  142. package/dist/entities/compose/compose.types.d.ts +77 -0
  143. package/dist/entities/compose/compose.types.d.ts.map +1 -0
  144. package/dist/entities/compose/compose.types.js +2 -0
  145. package/dist/entities/compose/compose.types.js.map +1 -0
  146. package/dist/entities/compose/index.d.ts +3 -0
  147. package/dist/entities/compose/index.d.ts.map +1 -0
  148. package/dist/entities/compose/index.js +3 -0
  149. package/dist/entities/compose/index.js.map +1 -0
  150. package/dist/entities/entities.shell.d.ts +29 -0
  151. package/dist/entities/entities.shell.d.ts.map +1 -0
  152. package/dist/entities/entities.shell.js +27 -0
  153. package/dist/entities/entities.shell.js.map +1 -0
  154. package/dist/entities/entities.shell.test.d.ts +2 -0
  155. package/dist/entities/entities.shell.test.d.ts.map +1 -0
  156. package/dist/entities/entities.shell.test.js +23 -0
  157. package/dist/entities/entities.shell.test.js.map +1 -0
  158. package/dist/entities/index.d.ts +12 -0
  159. package/dist/entities/index.d.ts.map +1 -0
  160. package/dist/entities/index.js +12 -0
  161. package/dist/entities/index.js.map +1 -0
  162. package/dist/entities/intershell-config/intershell-config.d.ts +11 -0
  163. package/dist/entities/intershell-config/intershell-config.d.ts.map +1 -0
  164. package/dist/entities/intershell-config/intershell-config.default.d.ts +188 -0
  165. package/dist/entities/intershell-config/intershell-config.default.d.ts.map +1 -0
  166. package/dist/entities/intershell-config/intershell-config.default.js +225 -0
  167. package/dist/entities/intershell-config/intershell-config.default.js.map +1 -0
  168. package/dist/entities/intershell-config/intershell-config.js +132 -0
  169. package/dist/entities/intershell-config/intershell-config.js.map +1 -0
  170. package/dist/entities/intershell-config/intershell-config.test.d.ts +2 -0
  171. package/dist/entities/intershell-config/intershell-config.test.d.ts.map +1 -0
  172. package/dist/entities/intershell-config/intershell-config.test.js +102 -0
  173. package/dist/entities/intershell-config/intershell-config.test.js.map +1 -0
  174. package/dist/entities/intershell-config/intershell-config.types.d.ts +103 -0
  175. package/dist/entities/intershell-config/intershell-config.types.d.ts.map +1 -0
  176. package/dist/entities/intershell-config/intershell-config.types.js +2 -0
  177. package/dist/entities/intershell-config/intershell-config.types.js.map +1 -0
  178. package/dist/entities/package/index.d.ts +4 -0
  179. package/dist/entities/package/index.d.ts.map +1 -0
  180. package/dist/entities/package/index.js +4 -0
  181. package/dist/entities/package/index.js.map +1 -0
  182. package/dist/entities/package/package.d.ts +49 -0
  183. package/dist/entities/package/package.d.ts.map +1 -0
  184. package/dist/entities/package/package.js +234 -0
  185. package/dist/entities/package/package.js.map +1 -0
  186. package/dist/entities/package/package.shell.d.ts +48 -0
  187. package/dist/entities/package/package.shell.d.ts.map +1 -0
  188. package/dist/entities/package/package.shell.js +118 -0
  189. package/dist/entities/package/package.shell.js.map +1 -0
  190. package/dist/entities/package/package.test.d.ts +23 -0
  191. package/dist/entities/package/package.test.d.ts.map +1 -0
  192. package/dist/entities/package/package.test.js +637 -0
  193. package/dist/entities/package/package.test.js.map +1 -0
  194. package/dist/entities/package/package.types.d.ts +48 -0
  195. package/dist/entities/package/package.types.d.ts.map +1 -0
  196. package/dist/entities/package/package.types.js +2 -0
  197. package/dist/entities/package/package.types.js.map +1 -0
  198. package/dist/entities/package-changelog/index.d.ts +4 -0
  199. package/dist/entities/package-changelog/index.d.ts.map +1 -0
  200. package/dist/entities/package-changelog/index.js +4 -0
  201. package/dist/entities/package-changelog/index.js.map +1 -0
  202. package/dist/entities/package-changelog/package-changelog.d.ts +20 -0
  203. package/dist/entities/package-changelog/package-changelog.d.ts.map +1 -0
  204. package/dist/entities/package-changelog/package-changelog.js +59 -0
  205. package/dist/entities/package-changelog/package-changelog.js.map +1 -0
  206. package/dist/entities/package-changelog/package-changelog.types.d.ts +25 -0
  207. package/dist/entities/package-changelog/package-changelog.types.d.ts.map +1 -0
  208. package/dist/entities/package-changelog/package-changelog.types.js +2 -0
  209. package/dist/entities/package-changelog/package-changelog.types.js.map +1 -0
  210. package/dist/entities/package-changelog/template.d.ts +20 -0
  211. package/dist/entities/package-changelog/template.d.ts.map +1 -0
  212. package/dist/entities/package-changelog/template.default.d.ts +10 -0
  213. package/dist/entities/package-changelog/template.default.d.ts.map +1 -0
  214. package/dist/entities/package-changelog/template.default.js +85 -0
  215. package/dist/entities/package-changelog/template.default.js.map +1 -0
  216. package/dist/entities/package-changelog/template.js +90 -0
  217. package/dist/entities/package-changelog/template.js.map +1 -0
  218. package/dist/entities/package-commits/dependency-analyzer.d.ts +35 -0
  219. package/dist/entities/package-commits/dependency-analyzer.d.ts.map +1 -0
  220. package/dist/entities/package-commits/dependency-analyzer.js +169 -0
  221. package/dist/entities/package-commits/dependency-analyzer.js.map +1 -0
  222. package/dist/entities/package-commits/dependency-analyzer.test.d.ts +2 -0
  223. package/dist/entities/package-commits/dependency-analyzer.test.d.ts.map +1 -0
  224. package/dist/entities/package-commits/dependency-analyzer.test.js +25 -0
  225. package/dist/entities/package-commits/dependency-analyzer.test.js.map +1 -0
  226. package/dist/entities/package-commits/index.d.ts +3 -0
  227. package/dist/entities/package-commits/index.d.ts.map +1 -0
  228. package/dist/entities/package-commits/index.js +3 -0
  229. package/dist/entities/package-commits/index.js.map +1 -0
  230. package/dist/entities/package-commits/package-commits.d.ts +33 -0
  231. package/dist/entities/package-commits/package-commits.d.ts.map +1 -0
  232. package/dist/entities/package-commits/package-commits.js +149 -0
  233. package/dist/entities/package-commits/package-commits.js.map +1 -0
  234. package/dist/entities/package-commits/package-commits.test.d.ts +2 -0
  235. package/dist/entities/package-commits/package-commits.test.d.ts.map +1 -0
  236. package/dist/entities/package-commits/package-commits.test.js +40 -0
  237. package/dist/entities/package-commits/package-commits.test.js.map +1 -0
  238. package/dist/entities/package-tags/index.d.ts +2 -0
  239. package/dist/entities/package-tags/index.d.ts.map +1 -0
  240. package/dist/entities/package-tags/index.js +2 -0
  241. package/dist/entities/package-tags/index.js.map +1 -0
  242. package/dist/entities/package-tags/package-tags.d.ts +24 -0
  243. package/dist/entities/package-tags/package-tags.d.ts.map +1 -0
  244. package/dist/entities/package-tags/package-tags.js +197 -0
  245. package/dist/entities/package-tags/package-tags.js.map +1 -0
  246. package/dist/entities/package-tags/package-tags.test.d.ts +2 -0
  247. package/dist/entities/package-tags/package-tags.test.d.ts.map +1 -0
  248. package/dist/entities/package-tags/package-tags.test.js +60 -0
  249. package/dist/entities/package-tags/package-tags.test.js.map +1 -0
  250. package/dist/entities/package-version/index.d.ts +3 -0
  251. package/dist/entities/package-version/index.d.ts.map +1 -0
  252. package/dist/entities/package-version/index.js +3 -0
  253. package/dist/entities/package-version/index.js.map +1 -0
  254. package/dist/entities/package-version/package-version.d.ts +16 -0
  255. package/dist/entities/package-version/package-version.d.ts.map +1 -0
  256. package/dist/entities/package-version/package-version.js +166 -0
  257. package/dist/entities/package-version/package-version.js.map +1 -0
  258. package/dist/entities/package-version/package-version.test.d.ts +2 -0
  259. package/dist/entities/package-version/package-version.test.d.ts.map +1 -0
  260. package/dist/entities/package-version/package-version.test.js +113 -0
  261. package/dist/entities/package-version/package-version.test.js.map +1 -0
  262. package/dist/entities/package-version/package-version.types.d.ts +31 -0
  263. package/dist/entities/package-version/package-version.types.d.ts.map +1 -0
  264. package/dist/entities/package-version/package-version.types.js +2 -0
  265. package/dist/entities/package-version/package-version.types.js.map +1 -0
  266. package/dist/entities/tag/index.d.ts +3 -0
  267. package/dist/entities/tag/index.d.ts.map +1 -0
  268. package/dist/entities/tag/index.js +3 -0
  269. package/dist/entities/tag/index.js.map +1 -0
  270. package/dist/entities/tag/tag.d.ts +24 -0
  271. package/dist/entities/tag/tag.d.ts.map +1 -0
  272. package/dist/entities/tag/tag.js +168 -0
  273. package/dist/entities/tag/tag.js.map +1 -0
  274. package/dist/entities/tag/tag.test.d.ts +2 -0
  275. package/dist/entities/tag/tag.test.d.ts.map +1 -0
  276. package/dist/entities/tag/tag.test.js +638 -0
  277. package/dist/entities/tag/tag.test.js.map +1 -0
  278. package/dist/entities/tag/tag.types.d.ts +35 -0
  279. package/dist/entities/tag/tag.types.d.ts.map +1 -0
  280. package/dist/entities/tag/tag.types.js +2 -0
  281. package/dist/entities/tag/tag.types.js.map +1 -0
  282. package/dist/index.d.ts +3 -0
  283. package/dist/index.d.ts.map +1 -0
  284. package/dist/index.js +6 -0
  285. package/dist/index.js.map +1 -0
  286. package/package.json +73 -0
  287. package/src/commands/ci/act.ts +95 -0
  288. package/src/commands/ci/attach-affected.ts +93 -0
  289. package/src/commands/ci/attach-service-ports.ts +31 -0
  290. package/src/commands/commit-check.ts +124 -0
  291. package/src/commands/commit.ts +103 -0
  292. package/src/commands/dev/check.ts +117 -0
  293. package/src/commands/dev/cleanup.ts +34 -0
  294. package/src/commands/dev/rm.ts +66 -0
  295. package/src/commands/dev/setup.ts +48 -0
  296. package/src/commands/local/cleanup.ts +74 -0
  297. package/src/commands/local/setup.ts +68 -0
  298. package/src/commands/local/vscode.ts +118 -0
  299. package/src/commands/update-package-json.ts +104 -0
  300. package/src/commands/version/apply.ts +156 -0
  301. package/src/commands/version/ci.ts +85 -0
  302. package/src/commands/version/prepare.ts +217 -0
  303. package/src/core/colorify.ts +61 -0
  304. package/src/core/index.ts +3 -0
  305. package/src/core/types.ts +262 -0
  306. package/src/core/wrapshell.ts +388 -0
  307. package/src/entities/affected/affected.test.ts +427 -0
  308. package/src/entities/affected/affected.ts +22 -0
  309. package/src/entities/affected/index.ts +1 -0
  310. package/src/entities/branch/branch.test.ts +348 -0
  311. package/src/entities/branch/branch.ts +89 -0
  312. package/src/entities/branch/branch.types.ts +5 -0
  313. package/src/entities/branch/index.ts +2 -0
  314. package/src/entities/commit/commit.test.ts +769 -0
  315. package/src/entities/commit/commit.ts +245 -0
  316. package/src/entities/commit/commit.types.ts +81 -0
  317. package/src/entities/commit/index.ts +2 -0
  318. package/src/entities/commit/pr.test.ts +860 -0
  319. package/src/entities/commit/pr.ts +241 -0
  320. package/src/entities/compose/compose.test.ts +496 -0
  321. package/src/entities/compose/compose.ts +251 -0
  322. package/src/entities/compose/compose.types.ts +88 -0
  323. package/src/entities/compose/index.ts +2 -0
  324. package/src/entities/entities.shell.test.ts +35 -0
  325. package/src/entities/entities.shell.ts +81 -0
  326. package/src/entities/index.ts +11 -0
  327. package/src/entities/intershell-config/intershell-config.default.ts +229 -0
  328. package/src/entities/intershell-config/intershell-config.test.ts +117 -0
  329. package/src/entities/intershell-config/intershell-config.ts +143 -0
  330. package/src/entities/intershell-config/intershell-config.types.ts +118 -0
  331. package/src/entities/package/index.ts +3 -0
  332. package/src/entities/package/package.shell.ts +124 -0
  333. package/src/entities/package/package.test.ts +830 -0
  334. package/src/entities/package/package.ts +267 -0
  335. package/src/entities/package/package.types.ts +49 -0
  336. package/src/entities/package-changelog/index.ts +3 -0
  337. package/src/entities/package-changelog/package-changelog.ts +81 -0
  338. package/src/entities/package-changelog/package-changelog.types.ts +30 -0
  339. package/src/entities/package-changelog/template.default.ts +109 -0
  340. package/src/entities/package-changelog/template.ts +118 -0
  341. package/src/entities/package-commits/dependency-analyzer.test.ts +29 -0
  342. package/src/entities/package-commits/dependency-analyzer.ts +194 -0
  343. package/src/entities/package-commits/index.ts +2 -0
  344. package/src/entities/package-commits/package-commits.test.ts +44 -0
  345. package/src/entities/package-commits/package-commits.ts +191 -0
  346. package/src/entities/package-tags/index.ts +1 -0
  347. package/src/entities/package-tags/package-tags.test.ts +73 -0
  348. package/src/entities/package-tags/package-tags.ts +234 -0
  349. package/src/entities/package-version/index.ts +2 -0
  350. package/src/entities/package-version/package-version.test.ts +141 -0
  351. package/src/entities/package-version/package-version.ts +234 -0
  352. package/src/entities/package-version/package-version.types.ts +35 -0
  353. package/src/entities/tag/index.ts +2 -0
  354. package/src/entities/tag/tag.test.ts +844 -0
  355. package/src/entities/tag/tag.ts +208 -0
  356. package/src/entities/tag/tag.types.ts +37 -0
  357. package/src/index.ts +7 -0
@@ -0,0 +1,169 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { entitiesShell } from "../entities.shell";
4
+ import { EntityPackage } from "../package";
5
+ export class EntityDependencyAnalyzer {
6
+ package;
7
+ constructor(packageInstance) {
8
+ this.package = packageInstance;
9
+ }
10
+ /**
11
+ * Get internal monorepo dependencies for a package at a specific tag/commit
12
+ * Returns only dependencies within this monorepo
13
+ */
14
+ async getPackageDependenciesAtRef(reference) {
15
+ try {
16
+ // Get all internal packages in the monorepo
17
+ const allPackages = await EntityPackage.getAllPackages();
18
+ // Get package.json dependencies
19
+ const packageJsonDeps = await this.getPackageJsonDependencies(reference);
20
+ // Get tsconfig dependencies
21
+ const tsconfigDeps = await this.getTsConfigDependencies(reference);
22
+ // Combine and filter for internal dependencies only
23
+ const allDeps = [...new Set([...packageJsonDeps, ...tsconfigDeps])];
24
+ return allDeps.filter((dep) => allPackages.includes(dep));
25
+ }
26
+ catch {
27
+ return [];
28
+ }
29
+ }
30
+ /**
31
+ * Get package.json dependencies for a package at a specific reference
32
+ */
33
+ async getPackageJsonDependencies(reference) {
34
+ try {
35
+ const result = await entitiesShell.gitShowPackageJsonAtTag(reference, this.package.getJsonPath());
36
+ if (result.exitCode !== 0) {
37
+ return [];
38
+ }
39
+ const packageJson = JSON.parse(result.text());
40
+ const deps = [
41
+ ...(packageJson.dependencies
42
+ ? Object.keys(packageJson.dependencies)
43
+ : []),
44
+ ...(packageJson.devDependencies
45
+ ? Object.keys(packageJson.devDependencies)
46
+ : []),
47
+ ...(packageJson.peerDependencies
48
+ ? Object.keys(packageJson.peerDependencies)
49
+ : []),
50
+ ];
51
+ // Filter for @repo/ packages and return without @repo/ prefix
52
+ return deps.filter((dep) => dep.startsWith("@repo/")).map((dep) => dep.replace("@repo/", ""));
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ }
58
+ /**
59
+ * Get tsconfig dependencies by resolving paths to actual internal packages
60
+ */
61
+ async getTsConfigDependencies(reference) {
62
+ try {
63
+ const packagePath = this.package.getPath();
64
+ const tsconfigPaths = await this.getTsConfigPaths(reference);
65
+ const deps = [];
66
+ for (const [alias, paths] of Object.entries(tsconfigPaths)) {
67
+ // Check if alias itself is an internal package
68
+ if (alias.startsWith("@repo/")) {
69
+ deps.push(alias.replace("@repo/", ""));
70
+ }
71
+ // Check if paths point to internal packages
72
+ if (Array.isArray(paths)) {
73
+ for (const path of paths) {
74
+ const resolvedPath = resolve(packagePath, path);
75
+ const internalPackage = this.findInternalPackageFromPath(resolvedPath);
76
+ if (internalPackage) {
77
+ deps.push(internalPackage);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ return [...new Set(deps)];
83
+ }
84
+ catch {
85
+ return [];
86
+ }
87
+ }
88
+ /**
89
+ * Find internal package name from absolute path
90
+ */
91
+ findInternalPackageFromPath(absolutePath) {
92
+ // Check if path points to packages/ or apps/ directory
93
+ const packagesMatch = absolutePath.match(/\/packages\/([^/]+)/);
94
+ const appsMatch = absolutePath.match(/\/apps\/([^/]+)/);
95
+ if (packagesMatch) {
96
+ return `@repo/${packagesMatch[1]}`;
97
+ }
98
+ if (appsMatch) {
99
+ return appsMatch[1];
100
+ }
101
+ return null;
102
+ }
103
+ /**
104
+ * Get TypeScript configuration paths for a package at a specific git reference
105
+ */
106
+ async getTsConfigPaths(reference) {
107
+ try {
108
+ const tsconfig = await this.readTsconfigAtRef(reference);
109
+ const resolvedConfig = await this.resolveExtendedTsConfig(tsconfig, this.package.getPath());
110
+ return resolvedConfig.compilerOptions?.paths || {};
111
+ }
112
+ catch {
113
+ return {};
114
+ }
115
+ }
116
+ /**
117
+ * Read tsconfig.json at a specific git reference
118
+ */
119
+ async readTsconfigAtRef(reference) {
120
+ try {
121
+ const result = await entitiesShell.gitShow(`${reference}:${this.package.getTsconfigPath()}`);
122
+ if (result.exitCode !== 0) {
123
+ // If tsconfig.json doesn't exist at this reference, return empty config
124
+ return {};
125
+ }
126
+ const content = result.text();
127
+ return JSON.parse(content);
128
+ }
129
+ catch {
130
+ // If parsing fails, return empty config
131
+ return {};
132
+ }
133
+ }
134
+ /**
135
+ * Resolve extended TypeScript configurations
136
+ */
137
+ async resolveExtendedTsConfig(config, packagePath) {
138
+ if (!config.extends) {
139
+ return config;
140
+ }
141
+ const extendedPath = resolve(packagePath, config.extends);
142
+ if (!existsSync(extendedPath)) {
143
+ return config;
144
+ }
145
+ try {
146
+ const extendedContent = readFileSync(extendedPath, "utf-8");
147
+ const extendedConfig = JSON.parse(extendedContent);
148
+ // Recursively resolve extended configs
149
+ const resolvedExtended = await this.resolveExtendedTsConfig(extendedConfig, packagePath);
150
+ // Merge configurations
151
+ return {
152
+ ...resolvedExtended,
153
+ ...config,
154
+ compilerOptions: {
155
+ ...resolvedExtended.compilerOptions,
156
+ ...config.compilerOptions,
157
+ paths: {
158
+ ...(resolvedExtended.compilerOptions?.paths || {}),
159
+ ...(config.compilerOptions?.paths || {}),
160
+ },
161
+ },
162
+ };
163
+ }
164
+ catch {
165
+ return config;
166
+ }
167
+ }
168
+ }
169
+ //# sourceMappingURL=dependency-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../../src/entities/package-commits/dependency-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dependency-analyzer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-analyzer.test.d.ts","sourceRoot":"","sources":["../../../src/entities/package-commits/dependency-analyzer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, expect, test } from "bun:test";
2
+ import { EntityPackage } from "../package";
3
+ import { EntityDependencyAnalyzer } from "./dependency-analyzer";
4
+ describe("EntityDependencyAnalyzer", () => {
5
+ test("should create instance", () => {
6
+ const packageInstance = new EntityPackage("root");
7
+ const analyzer = new EntityDependencyAnalyzer(packageInstance);
8
+ expect(analyzer).toBeDefined();
9
+ });
10
+ test("should get package dependencies at ref", async () => {
11
+ const packageInstance = new EntityPackage("root");
12
+ const analyzer = new EntityDependencyAnalyzer(packageInstance);
13
+ // This will return empty array since we can't mock git operations easily
14
+ const deps = await analyzer.getPackageDependenciesAtRef("HEAD");
15
+ expect(Array.isArray(deps)).toBe(true);
16
+ });
17
+ test("should handle dependencies", async () => {
18
+ const packageInstance = new EntityPackage("root");
19
+ const analyzer = new EntityDependencyAnalyzer(packageInstance);
20
+ const deps = await analyzer.getPackageDependenciesAtRef("HEAD");
21
+ expect(Array.isArray(deps)).toBe(true);
22
+ // Root package might have dependencies, so we just check it's an array
23
+ });
24
+ });
25
+ //# sourceMappingURL=dependency-analyzer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-analyzer.test.js","sourceRoot":"","sources":["../../../src/entities/package-commits/dependency-analyzer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACnC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAE/D,yEAAyE;QACzE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,uEAAuE;IACxE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./dependency-analyzer";
2
+ export * from "./package-commits";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/package-commits/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./dependency-analyzer";
2
+ export * from "./package-commits";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/package-commits/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { ParsedCommitData } from "../commit";
2
+ import { EntityPackage } from "../package";
3
+ export declare class EntityPackageCommits {
4
+ private package;
5
+ private commit;
6
+ private dependencyAnalyzer;
7
+ constructor(packageInstance: EntityPackage);
8
+ /**
9
+ * Get the first commit for this package
10
+ */
11
+ getFirstCommitForPackage(): Promise<string>;
12
+ /**
13
+ * Get commits in a range for this package with dependency filtering
14
+ */
15
+ getCommitsInRange(from: string, to: string): Promise<ParsedCommitData[]>;
16
+ /**
17
+ * Get which packages are affected by a commit (direct and dependencies)
18
+ * Analyzes the commit's file changes against package dependencies
19
+ */
20
+ getCommitAffectedPackages(commit: ParsedCommitData): Promise<{
21
+ direct: string | null;
22
+ dependencies: string[];
23
+ }>;
24
+ /**
25
+ * Deduplicate merge commits - remove hashes that are already included in merge commits
26
+ */
27
+ private filterMergeCommitsByPackage;
28
+ /**
29
+ * Sort commits: merge commits first, then orphan commits, both by date (newest first)
30
+ */
31
+ private sortCommits;
32
+ }
33
+ //# sourceMappingURL=package-commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-commits.d.ts","sourceRoot":"","sources":["../../../src/entities/package-commits/package-commits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,qBAAa,oBAAoB;IAChC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,kBAAkB,CAA2B;gBAEzC,eAAe,EAAE,aAAa;IAM1C;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqCjD;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+C9E;;;OAGG;IACG,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAClE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IA+BF;;OAEG;YACW,2BAA2B;IAwBzC;;OAEG;IACH,OAAO,CAAC,WAAW;CAenB"}
@@ -0,0 +1,149 @@
1
+ import { EntityCommit } from "../commit";
2
+ import { entitiesShell } from "../entities.shell";
3
+ import { EntityPackage } from "../package";
4
+ import { EntityDependencyAnalyzer } from "./dependency-analyzer";
5
+ export class EntityPackageCommits {
6
+ package;
7
+ commit;
8
+ dependencyAnalyzer;
9
+ constructor(packageInstance) {
10
+ this.package = packageInstance;
11
+ this.commit = new EntityCommit();
12
+ this.dependencyAnalyzer = new EntityDependencyAnalyzer(this.package);
13
+ }
14
+ /**
15
+ * Get the first commit for this package
16
+ */
17
+ async getFirstCommitForPackage() {
18
+ if (this.package.getName() === "root") {
19
+ // For root package, use the very first commit of the repository
20
+ const result = await entitiesShell.gitFirstCommit();
21
+ if (result.exitCode !== 0) {
22
+ throw new Error("Could not find first commit");
23
+ }
24
+ return result.text().trim();
25
+ }
26
+ // For sub-packages, find the first commit where the package directory was introduced
27
+ const packagePath = this.package.getPath();
28
+ const result = await entitiesShell.gitLogHashes([packagePath]);
29
+ if (result.exitCode !== 0 || !result.text().trim()) {
30
+ // If no commits found for this package path, fall back to first commit
31
+ const firstCommitResult = await entitiesShell.gitFirstCommit();
32
+ if (firstCommitResult.exitCode !== 0) {
33
+ throw new Error("Could not find first commit");
34
+ }
35
+ return firstCommitResult.text().trim();
36
+ }
37
+ // Get the last commit hash from the result (since git log returns newest first)
38
+ const commitHashes = result.text().trim().split("\n").filter(Boolean);
39
+ if (commitHashes.length === 0) {
40
+ const firstCommitResult = await entitiesShell.gitFirstCommit();
41
+ if (firstCommitResult.exitCode !== 0) {
42
+ throw new Error("Could not find first commit");
43
+ }
44
+ return firstCommitResult.text().trim();
45
+ }
46
+ // Return the last commit (which is the first chronologically)
47
+ return commitHashes[commitHashes.length - 1];
48
+ }
49
+ /**
50
+ * Get commits in a range for this package with dependency filtering
51
+ */
52
+ async getCommitsInRange(from, to) {
53
+ const gitRange = from === "0.0.0" ? to : `${from}..${to}`;
54
+ try {
55
+ // Get all commit hashes (both regular and merge commits)
56
+ const [allHashesResult, mergeHashesResult] = await Promise.all([
57
+ entitiesShell.gitLogHashes([gitRange]),
58
+ entitiesShell.gitLogHashes([gitRange, "--merges"]),
59
+ ]);
60
+ const allHashes = allHashesResult.exitCode === 0
61
+ ? allHashesResult.text().trim().split("\n").filter(Boolean)
62
+ : [];
63
+ const mergeHashes = mergeHashesResult.exitCode === 0
64
+ ? mergeHashesResult.text().trim().split("\n").filter(Boolean)
65
+ : [];
66
+ // For non-root packages, filter merge commits by package path
67
+ const commitHashes = await this.filterMergeCommitsByPackage(allHashes, mergeHashes);
68
+ // Parse all commits
69
+ const allCommits = await Promise.all(commitHashes.map((hash) => this.commit.parseByHash(hash)));
70
+ // Filter commits based on package dependencies at each commit
71
+ const relevantCommits = [];
72
+ for (const commit of allCommits) {
73
+ // Check if commit affects this package or its dependencies
74
+ const affected = await this.getCommitAffectedPackages(commit);
75
+ // Include commit if it affects this package directly or any of its dependencies
76
+ if (affected.direct !== null || affected.dependencies.length > 0) {
77
+ relevantCommits.push(commit);
78
+ }
79
+ }
80
+ // Sort commits: merge commits first, then orphan commits, both by date
81
+ return this.sortCommits(relevantCommits);
82
+ }
83
+ catch (error) {
84
+ console.warn("Failed to get commits in range:", error);
85
+ return [];
86
+ }
87
+ }
88
+ /**
89
+ * Get which packages are affected by a commit (direct and dependencies)
90
+ * Analyzes the commit's file changes against package dependencies
91
+ */
92
+ async getCommitAffectedPackages(commit) {
93
+ if (!commit.files?.length) {
94
+ return { direct: null, dependencies: [] };
95
+ }
96
+ // Get package dependencies at the commit
97
+ const commitHash = commit.info?.hash || "HEAD";
98
+ const packageDeps = await this.dependencyAnalyzer.getPackageDependenciesAtRef(commitHash);
99
+ // Check if commit affects this package directly
100
+ const packagePath = this.package.getPath();
101
+ const affectsDirect = this.package.isRoot()
102
+ ? commit.files.length > 0 // For root package, any file change affects it
103
+ : commit.files.some((file) => file.startsWith(packagePath));
104
+ // Check if commit affects any dependencies
105
+ const affectedDependencies = [];
106
+ for (const dep of packageDeps) {
107
+ const depPackage = new EntityPackage(dep);
108
+ const depPath = depPackage.getPath();
109
+ if (commit.files.some((file) => file.startsWith(depPath))) {
110
+ affectedDependencies.push(dep);
111
+ }
112
+ }
113
+ return {
114
+ direct: affectsDirect ? this.package.getName() : null,
115
+ dependencies: affectedDependencies,
116
+ };
117
+ }
118
+ /**
119
+ * Deduplicate merge commits - remove hashes that are already included in merge commits
120
+ */
121
+ async filterMergeCommitsByPackage(allHashes, mergeHashes) {
122
+ // For each merge commit, get the individual commits inside it
123
+ const individualCommits = new Set();
124
+ for (const mergeHash of mergeHashes) {
125
+ const prCommitsResult = await entitiesShell.gitLogHashes([`${mergeHash}^..${mergeHash}^2`]);
126
+ if (prCommitsResult.exitCode === 0) {
127
+ const prHashes = prCommitsResult.text().trim().split("\n").filter(Boolean);
128
+ prHashes.forEach((hash) => {
129
+ individualCommits.add(hash);
130
+ });
131
+ }
132
+ }
133
+ // Remove individual commits that are already included in merge commits
134
+ const filteredHashes = allHashes.filter((hash) => !individualCommits.has(hash));
135
+ // Return merge commits + filtered individual commits
136
+ return [...new Set([...filteredHashes, ...mergeHashes])];
137
+ }
138
+ /**
139
+ * Sort commits: merge commits first, then orphan commits, both by date (newest first)
140
+ */
141
+ sortCommits(commits) {
142
+ const mergeCommits = commits.filter((commit) => commit.message.isMerge);
143
+ const orphanCommits = commits.filter((commit) => !commit.message.isMerge &&
144
+ !mergeCommits.some((mergeCommit) => mergeCommit.pr?.prCommits?.some((prCommit) => prCommit.info?.hash === commit.info?.hash)));
145
+ const sortByDate = (a, b) => new Date(b.info?.date || "0").getTime() - new Date(a.info?.date || "0").getTime();
146
+ return [...mergeCommits.sort(sortByDate), ...orphanCommits.sort(sortByDate)];
147
+ }
148
+ }
149
+ //# sourceMappingURL=package-commits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-commits.js","sourceRoot":"","sources":["../../../src/entities/package-commits/package-commits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=package-commits.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-commits.test.d.ts","sourceRoot":"","sources":["../../../src/entities/package-commits/package-commits.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { describe, expect, test } from "bun:test";
2
+ import { EntityPackage } from "../package";
3
+ import { EntityPackageCommits } from "./package-commits";
4
+ describe("EntityPackageCommits", () => {
5
+ test("should create instance", () => {
6
+ const packageInstance = new EntityPackage("api");
7
+ const commitPackage = new EntityPackageCommits(packageInstance);
8
+ expect(commitPackage).toBeDefined();
9
+ });
10
+ test("should create root instance", () => {
11
+ const packageInstance = new EntityPackage("root");
12
+ const rootCommitPackage = new EntityPackageCommits(packageInstance);
13
+ expect(rootCommitPackage).toBeDefined();
14
+ });
15
+ test("should have main method", () => {
16
+ const packageInstance = new EntityPackage("api");
17
+ const commitPackage = new EntityPackageCommits(packageInstance);
18
+ // Check that the main method exists
19
+ expect(typeof commitPackage.getCommitsInRange).toBe("function");
20
+ });
21
+ describe("getCommitsInRange", () => {
22
+ test("should return empty array when git operations fail", async () => {
23
+ const packageInstance = new EntityPackage("root");
24
+ const commitPackage = new EntityPackageCommits(packageInstance);
25
+ // Test with invalid range to trigger error handling
26
+ const result = await commitPackage.getCommitsInRange("invalid", "invalid");
27
+ expect(Array.isArray(result)).toBe(true);
28
+ expect(result.length).toBe(0);
29
+ });
30
+ test("should handle package-specific commits", async () => {
31
+ const packageInstance = new EntityPackage("api");
32
+ const commitPackage = new EntityPackageCommits(packageInstance);
33
+ // Test with invalid range to trigger error handling
34
+ const result = await commitPackage.getCommitsInRange("invalid", "invalid");
35
+ expect(Array.isArray(result)).toBe(true);
36
+ expect(result.length).toBe(0);
37
+ });
38
+ });
39
+ });
40
+ //# sourceMappingURL=package-commits.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-commits.test.js","sourceRoot":"","sources":["../../../src/entities/package-commits/package-commits.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACnC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACxC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACpC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAChE,oCAAoC;QACpC,MAAM,CAAC,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAChE,oDAAoD;YACpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAChE,oDAAoD;YACpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EntityPackageTags } from "./package-tags";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/package-tags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EntityPackageTags } from "./package-tags";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/package-tags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { EntityPackage } from "../package";
2
+ import type { EntityGitTagVersion, EntityPackageVersionHistory } from "../package-version/package-version.types";
3
+ export declare class EntityPackageTags {
4
+ private package;
5
+ private packageCommits;
6
+ constructor(packageInstance: EntityPackage);
7
+ getTagPrefix(): Promise<string>;
8
+ createPackageTag(version: string, message?: string): Promise<void>;
9
+ listPackageTags(): Promise<string[]>;
10
+ packageTagExists(version: string): Promise<boolean>;
11
+ getBaseTagShaForPackage(from?: string): Promise<string>;
12
+ getTagsInRangeForPackage(from: string, to: string): Promise<Array<{
13
+ tag: string;
14
+ previousTag?: string;
15
+ }>>;
16
+ getPackageVersionHistory(): Promise<EntityPackageVersionHistory>;
17
+ getLatestPackageVersionInHistory(): Promise<string | null>;
18
+ packageVersionExistsInHistory(version: string): Promise<boolean>;
19
+ getPackageVersionAtTag(tagName: string): Promise<EntityGitTagVersion | null>;
20
+ validateTagPrefixForPackage(tagName: string): Promise<void>;
21
+ detectTagPrefix(tagName: string): string | undefined;
22
+ compareVersions(version1: string, version2: string): number;
23
+ }
24
+ //# sourceMappingURL=package-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-tags.d.ts","sourceRoot":"","sources":["../../../src/entities/package-tags/package-tags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,MAAM,0CAA0C,CAAC;AAGlD,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,eAAe,EAAE,aAAa;IAKpC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOnD,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBvD,wBAAwB,CAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA8BlD,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAgChE,gCAAgC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK1D,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKhE,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA+B5E,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCjE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAepD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAc3D"}