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,153 @@
1
+ import fs from "node:fs";
2
+ import { Command, Flags } from "@oclif/core";
3
+ import { $ } from "bun";
4
+ import { colorify } from "../../core";
5
+ import { DefaultChangelogTemplate, EntityCompose, EntityPackage, EntityPackageChangelog, EntityPackageCommits, EntityPackageTags, EntityPackageVersion, EntityTag, } from "../../entities";
6
+ const bumpTypeOptions = ["major", "minor", "patch", "none"];
7
+ export default class VersionPrepare extends Command {
8
+ static description = "Prepare version bumps and generate changelogs for packages";
9
+ static examples = [
10
+ "intershell version:prepare",
11
+ "intershell version:prepare --package root",
12
+ "intershell version:prepare --from v1.0.0 --to HEAD",
13
+ "intershell version:prepare --from-version 1.0.0 --to-version 1.2.0",
14
+ "intershell version:prepare --package package-name --from-version 1.0.0",
15
+ "intershell version:prepare --package root --bump-type major",
16
+ "intershell version:prepare --bump-type patch",
17
+ ];
18
+ static flags = {
19
+ package: Flags.string({
20
+ char: "p",
21
+ description: "Package name to process (default: all packages)",
22
+ default: "root",
23
+ }),
24
+ from: Flags.string({
25
+ char: "f",
26
+ description: "Start commit/tag for changelog generation",
27
+ }),
28
+ to: Flags.string({
29
+ char: "t",
30
+ description: "End commit/tag for changelog generation (default: HEAD)",
31
+ }),
32
+ "from-version": Flags.string({
33
+ description: "Start version for changelog generation (converts to appropriate tag based on package)",
34
+ }),
35
+ "to-version": Flags.string({
36
+ description: "End version for changelog generation (converts to appropriate tag based on package)",
37
+ }),
38
+ "bump-type": Flags.string({
39
+ description: "Override version bump type (major, minor, patch, none)",
40
+ options: bumpTypeOptions,
41
+ }),
42
+ };
43
+ async run() {
44
+ const { flags } = await this.parse(VersionPrepare);
45
+ const packageName = flags.package || "root";
46
+ this.log("🔍 Validating package configurations...");
47
+ const validationResult = await EntityPackage.validateAllPackages();
48
+ if (validationResult.length > 0) {
49
+ this.error(`❌ Package validation failed!\nFound ${validationResult.length} validation errors:\n${validationResult.map((error) => ` 📦 ${error}`).join("\n")}`);
50
+ }
51
+ this.log(colorify.green("✅ All packages passed validation"));
52
+ const allVersionedPackages = await EntityPackage.getVersionedPackages();
53
+ const packageInstance = new EntityPackage(packageName);
54
+ const packageTags = new EntityPackageTags(packageInstance);
55
+ const packageCommits = new EntityPackageCommits(packageInstance);
56
+ const packageVersion = new EntityPackageVersion(packageInstance, packageCommits, packageTags);
57
+ const prefix = packageInstance.getTagSeriesName();
58
+ if (!allVersionedPackages.includes(packageName)) {
59
+ throw new Error(`Package "${packageName}" should not be versioned (private package). Only versioned packages can be processed.`);
60
+ }
61
+ if (!prefix) {
62
+ throw new Error(`Tag series name not found for ${packageName}, this package should not be versioned (private package). Only versioned packages can be processed.`);
63
+ }
64
+ this.log(`🚀 Starting version preparation for package ${colorify.blue(packageName)}`);
65
+ const { fromCommit, toCommit } = await this.resolveCommitRange({
66
+ packageTags,
67
+ from: flags.from,
68
+ to: flags.to,
69
+ fromVersion: Array.isArray(flags["from-version"])
70
+ ? flags["from-version"][0]
71
+ : flags["from-version"],
72
+ toVersion: Array.isArray(flags["to-version"]) ? flags["to-version"][0] : flags["to-version"],
73
+ });
74
+ const from = flags.from || flags["from-version"]
75
+ ? fromCommit
76
+ : await packageTags.getBaseTagShaForPackage();
77
+ this.log(`📝 Generating changelog from ${colorify.blue(from)} to ${colorify.blue(toCommit)}`);
78
+ // Get commits and version data using EntityPackageVersion
79
+ const commits = await packageCommits.getCommitsInRange(from, toCommit);
80
+ const overrideBumpType = flags["bump-type"];
81
+ const versionData = await packageVersion.calculateVersionData(commits, overrideBumpType);
82
+ // Create changelog with commits
83
+ const template = new DefaultChangelogTemplate(packageName, prefix);
84
+ const changelog = new EntityPackageChangelog(packageInstance, commits, {
85
+ template,
86
+ versionData,
87
+ versionMode: true,
88
+ });
89
+ const changelogContent = changelog.generateMergedChangelog();
90
+ if (commits.length === 0) {
91
+ this.log(colorify.yellow(`📦 ${packageName}: ${colorify.yellow("No commits found")}`));
92
+ return;
93
+ }
94
+ if (!versionData.shouldBump) {
95
+ this.log(colorify.yellow(`📦 ${packageName}: ${colorify.yellow("No version bump needed")} (${versionData.bumpType})`));
96
+ return;
97
+ }
98
+ this.log(`🔄 Updating package version from ${versionData.currentVersion} to ${versionData.targetVersion} in ${packageInstance.getJsonPath()}`);
99
+ await packageInstance.writeVersion(versionData.targetVersion);
100
+ await $ `bun install`;
101
+ await packageInstance.writeChangelog(changelogContent);
102
+ const tagName = `${prefix}${versionData.targetVersion}`;
103
+ const versionCommitMessage = `release(${packageName}): ${tagName} [${versionData.bumpType}] (${versionData.currentVersion} => ${versionData.targetVersion})\n\n📝 Commits processed: ${commits.length}\n📝 Changelog updated: (${packageInstance.getChangelogPath()})`;
104
+ this.log(`📦 (${colorify.yellow(versionData.currentVersion)} => ${colorify.green(versionData.targetVersion)}) ${colorify.blue(packageName)}: ${versionData.bumpType} (${colorify.green(packageInstance.getChangelogPath())})`);
105
+ await Bun.write(".git/COMMIT_EDITMSG", versionCommitMessage);
106
+ this.log(`${colorify.green("📝 Commit message written in")} ${colorify.blue(".git/COMMIT_EDITMSG")}:`, `\n\t${versionCommitMessage.replace(/\n/g, "\n\t")}`);
107
+ const services = await new EntityCompose("docker-compose.yml").getServices();
108
+ const servicesToDeploy = services.filter((s) => s.name === packageName).map((s) => s.name);
109
+ if (servicesToDeploy) {
110
+ const servicesToDeployNames = servicesToDeploy.join(",");
111
+ if (process.env.GITHUB_OUTPUT) {
112
+ await fs.promises.appendFile(process.env.GITHUB_OUTPUT, `packages-to-deploy=${servicesToDeployNames}\n`);
113
+ }
114
+ this.log(`\n🚀 Packages to deploy: ${colorify.blue(servicesToDeployNames)}`);
115
+ }
116
+ this.log("\n📝 Next steps:\n" +
117
+ "1. Review the generated changelogs\n" +
118
+ `2. Run ${colorify.blue("intershell version:apply")} to commit, tag and push the versions (you can turn it off using --no-push)`);
119
+ this.log(colorify.green("✅ Version preparation completed!"));
120
+ }
121
+ /**
122
+ * Resolves from/to commits, handling version-to-tag conversion when needed
123
+ */
124
+ async resolveCommitRange({ packageTags, from, to, fromVersion, toVersion, }) {
125
+ let fromCommit;
126
+ let toCommit;
127
+ // Handle --from-version conversion
128
+ if (fromVersion) {
129
+ const fromTag = `${await packageTags.getTagPrefix()}${fromVersion}`;
130
+ this.log(`📝 Converting --from-version ${fromVersion} to tag: ${fromTag}`);
131
+ fromCommit = await EntityTag.getBaseCommitSha(fromTag);
132
+ }
133
+ else if (from) {
134
+ fromCommit = await EntityTag.getBaseCommitSha(from);
135
+ }
136
+ else {
137
+ // No --from specified, let EntityPackageTags auto-find the correct base SHA
138
+ // This will use the latest tag if it exists, or fall back to first commit for first-time versioning
139
+ fromCommit = await packageTags.getBaseTagShaForPackage();
140
+ }
141
+ // Handle --to-version conversion
142
+ if (toVersion) {
143
+ const toTag = `${await packageTags.getTagPrefix()}${toVersion}`;
144
+ this.log(`📝 Converting --to-version ${toVersion} to tag: ${toTag}`);
145
+ toCommit = await EntityTag.getBaseCommitSha(toTag);
146
+ }
147
+ else {
148
+ toCommit = to || "HEAD";
149
+ }
150
+ return { fromCommit, toCommit };
151
+ }
152
+ }
153
+ //# sourceMappingURL=prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Custom console coloring utility to replace chalk
3
+ * Provides ANSI color codes for terminal output
4
+ */
5
+ /**
6
+ * Console color utility that mimics chalk's API
7
+ */
8
+ export declare const colorify: {
9
+ readonly red: (text: string) => string;
10
+ readonly green: (text: string) => string;
11
+ readonly yellow: (text: string) => string;
12
+ readonly blue: (text: string) => string;
13
+ readonly cyan: (text: string) => string;
14
+ readonly gray: (text: string) => string;
15
+ readonly bold: (text: string) => string;
16
+ readonly reset: "\u001B[0m";
17
+ readonly supportsColor: () => boolean;
18
+ readonly disable: () => void;
19
+ readonly enable: () => void;
20
+ };
21
+ //# sourceMappingURL=colorify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorify.d.ts","sourceRoot":"","sources":["../../src/core/colorify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH;;GAEG;AACH,eAAO,MAAM,QAAQ;yBARN,MAAM,KAAG,MAAM;2BAAf,MAAM,KAAG,MAAM;4BAAf,MAAM,KAAG,MAAM;0BAAf,MAAM,KAAG,MAAM;0BAAf,MAAM,KAAG,MAAM;0BAAf,MAAM,KAAG,MAAM;0BAAf,MAAM,KAAG,MAAM;;kCAkBV,OAAO;;;CAoBjB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Custom console coloring utility to replace chalk
3
+ * Provides ANSI color codes for terminal output
4
+ */
5
+ // ANSI color codes
6
+ const colors = {
7
+ red: "\x1b[31m",
8
+ green: "\x1b[32m",
9
+ yellow: "\x1b[33m",
10
+ blue: "\x1b[34m",
11
+ cyan: "\x1b[36m",
12
+ gray: "\x1b[90m",
13
+ bold: "\x1b[1m",
14
+ reset: "\x1b[0m",
15
+ };
16
+ const createColorFunction = (colorCode) => {
17
+ return (text) => {
18
+ return `${colorCode}${text}${colors.reset}`;
19
+ };
20
+ };
21
+ /**
22
+ * Console color utility that mimics chalk's API
23
+ */
24
+ export const colorify = {
25
+ red: createColorFunction(colors.red),
26
+ green: createColorFunction(colors.green),
27
+ yellow: createColorFunction(colors.yellow),
28
+ blue: createColorFunction(colors.blue),
29
+ cyan: createColorFunction(colors.cyan),
30
+ gray: createColorFunction(colors.gray),
31
+ bold: createColorFunction(colors.bold),
32
+ reset: colors.reset,
33
+ supportsColor: () => {
34
+ // Check if we're in a terminal that supports colors
35
+ return process.stdout.isTTY && process.env.NO_COLOR !== "1";
36
+ },
37
+ disable: () => {
38
+ Object.keys(colorify).forEach((key) => {
39
+ if (typeof colorify[key] === "function") {
40
+ colorify[key] = (text) => text;
41
+ }
42
+ });
43
+ },
44
+ enable: () => {
45
+ Object.keys(colors).forEach((key) => {
46
+ if (key !== "reset") {
47
+ colorify[key] =
48
+ createColorFunction(colors[key]);
49
+ }
50
+ });
51
+ },
52
+ };
53
+ if (!colorify.supportsColor()) {
54
+ colorify.disable();
55
+ }
56
+ //# sourceMappingURL=colorify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorify.js","sourceRoot":"","sources":["../../src/core/colorify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mBAAmB;AACnB,MAAM,MAAM,GAAG;IACd,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACjD,OAAO,CAAC,IAAY,EAAU,EAAE;QAC/B,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC;IACpC,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC;IACxC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,KAAK;IAEnB,aAAa,EAAE,GAAY,EAAE;QAC5B,oDAAoD;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,GAAG,EAAE;QACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,IAAI,OAAO,QAAQ,CAAC,GAA4B,CAAC,KAAK,UAAU,EAAE,CAAC;gBACjE,QAAgE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CACzF,IAAI,CAAC;YACP,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,EAAE;QACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,QAAgE,CAAC,GAAG,CAAC;oBACrE,mBAAmB,CAAC,MAAM,CAAC,GAA0B,CAAC,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACQ,CAAC;AAEX,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./colorify";
2
+ export type * from "./types";
3
+ export { createScript } from "./wrapshell";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./colorify";
2
+ export { createScript } from "./wrapshell";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Core type definitions for the InterShell CLI framework
3
+ */
4
+ export interface KeyPress {
5
+ sequence: string;
6
+ name?: string;
7
+ ctrl: boolean;
8
+ meta: boolean;
9
+ shift: boolean;
10
+ }
11
+ export interface ValidationResult<T = unknown> {
12
+ isValid: boolean;
13
+ value?: T;
14
+ error?: string;
15
+ warnings?: string[];
16
+ }
17
+ export interface ValidationError {
18
+ message: string;
19
+ field?: string;
20
+ code?: string;
21
+ }
22
+ export type EventHandler<T = unknown> = (data: T) => void | Promise<void>;
23
+ export interface EventEmitter<TEvents extends Record<string, unknown> = Record<string, unknown>> {
24
+ on<K extends keyof TEvents>(event: K, handler: EventHandler<TEvents[K]>): void;
25
+ off<K extends keyof TEvents>(event: K, handler: EventHandler<TEvents[K]>): void;
26
+ emit<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
27
+ }
28
+ export type StateListener<TState> = (state: TState, prevState: TState) => void;
29
+ export interface StateManager<TState> {
30
+ getState(): TState;
31
+ setState(newState: TState): void;
32
+ subscribe(listener: StateListener<TState>): () => void;
33
+ }
34
+ export type ArgOption = {
35
+ short?: string;
36
+ long: string;
37
+ description: string;
38
+ examples?: string[];
39
+ } & ({
40
+ required: true;
41
+ type: "string" | "boolean" | "number";
42
+ validator: (value: string) => boolean | string | Promise<boolean | string>;
43
+ } | {
44
+ required: false;
45
+ type: "string" | "boolean" | "number";
46
+ defaultValue?: string | boolean | number;
47
+ validator: (value: string) => boolean | string | Promise<boolean | string>;
48
+ } | {
49
+ required: true;
50
+ type: "string[]" | "number[]";
51
+ validator: (value: string[]) => boolean | string | Promise<boolean | string>;
52
+ } | {
53
+ required: false;
54
+ type: "string[]" | "number[]";
55
+ defaultValue?: string[] | number[];
56
+ validator: (value: string[]) => boolean | string | Promise<boolean | string>;
57
+ });
58
+ export interface ScriptConfig {
59
+ name: string;
60
+ description: string;
61
+ usage?: string;
62
+ examples?: string[];
63
+ options: ArgOption[];
64
+ }
65
+ export type ScriptHandler<TConfig extends ScriptConfig> = (args: InferArgs<TConfig>, console: Console) => Promise<void> | void;
66
+ export interface ScriptInstance<TConfig extends ScriptConfig> {
67
+ config: TConfig;
68
+ handler: ScriptHandler<TConfig>;
69
+ run(args?: Partial<InferArgs<TConfig>>): Promise<void>;
70
+ }
71
+ export type InferArgs<TConfig extends ScriptConfig> = {
72
+ [K in TConfig["options"][number] as K["long"] extends `--${infer Name}` ? Name : never]: K extends {
73
+ required: true;
74
+ type: infer T;
75
+ } ? T extends "string[]" | "number[]" ? string[] | number[] : T extends "string" ? string : T extends "boolean" ? boolean : T extends "number" ? number : never : K extends {
76
+ required: false;
77
+ type: infer T;
78
+ defaultValue: infer D;
79
+ } ? T extends "string[]" | "number[]" ? (string[] | number[]) | D : T extends "string" ? string | D : T extends "boolean" ? boolean | D : T extends "number" ? number | D : never : K extends {
80
+ required: false;
81
+ type: infer T;
82
+ } ? T extends "string[]" | "number[]" ? (string[] | number[]) | undefined : T extends "string" ? string | undefined : T extends "boolean" ? boolean | undefined : T extends "number" ? number | undefined : never : never;
83
+ } & {
84
+ verbose?: boolean;
85
+ quiet?: boolean;
86
+ "dry-run"?: boolean;
87
+ help?: boolean;
88
+ debug?: boolean;
89
+ };
90
+ export interface HookContext<TConfig extends ScriptConfig> {
91
+ script: ScriptInstance<TConfig>;
92
+ args: InferArgs<TConfig>;
93
+ startTime: number;
94
+ error?: Error;
95
+ }
96
+ export type Hook<TConfig extends ScriptConfig, TReturn = void> = (context: HookContext<TConfig>) => Promise<TReturn> | TReturn;
97
+ export interface HookSystem<TConfig extends ScriptConfig> {
98
+ beforeRun: Hook<TConfig>[];
99
+ afterRun: Hook<TConfig, unknown>[];
100
+ onError: Hook<TConfig>[];
101
+ onValidation: Hook<TConfig, ValidationResult>[];
102
+ }
103
+ export type ColorFunction = (text: string) => string;
104
+ export interface ColorSystem {
105
+ red: ColorFunction;
106
+ green: ColorFunction;
107
+ blue: ColorFunction;
108
+ yellow: ColorFunction;
109
+ cyan: ColorFunction;
110
+ magenta: ColorFunction;
111
+ white: ColorFunction;
112
+ black: ColorFunction;
113
+ gray: ColorFunction;
114
+ grey: ColorFunction;
115
+ bold: ColorFunction;
116
+ italic: ColorFunction;
117
+ underline: ColorFunction;
118
+ strikethrough: ColorFunction;
119
+ rgb(r: number, g: number, b: number): ColorFunction;
120
+ hsl(h: number, s: number, l: number): ColorFunction;
121
+ hex(color: string): ColorFunction;
122
+ gradient(colors: string[]): ColorFunction;
123
+ rainbow: ColorFunction;
124
+ strip(text: string): string;
125
+ supportsColor(): boolean;
126
+ enable(): void;
127
+ disable(): void;
128
+ }
129
+ export interface QuickAction {
130
+ key: string;
131
+ label: string;
132
+ description: string;
133
+ shortcut?: string;
134
+ action: () => void | Promise<void>;
135
+ }
136
+ export interface SelectConfig {
137
+ multiple?: boolean;
138
+ clearScreen?: boolean;
139
+ showCursor?: boolean;
140
+ exitOnCtrlC?: boolean;
141
+ quickActions?: QuickAction[];
142
+ }
143
+ export interface PromptConfig {
144
+ clearScreen?: boolean;
145
+ allowEmpty?: boolean;
146
+ showCursor?: boolean;
147
+ exitOnCtrlC?: boolean;
148
+ quickActions?: QuickAction[];
149
+ onLeft?: () => void;
150
+ }
151
+ export interface ConfirmConfig {
152
+ clearScreen?: boolean;
153
+ defaultValue?: boolean;
154
+ exitOnCtrlC?: boolean;
155
+ }
156
+ export interface InteractiveCLIOptions {
157
+ enableRawMode?: boolean;
158
+ exitOnCtrlC?: boolean;
159
+ clearOnExit?: boolean;
160
+ }
161
+ export interface InteractiveCLI {
162
+ select(question: string, options: string[], config?: SelectConfig): Promise<string[]>;
163
+ prompt(question: string, config?: PromptConfig): Promise<string>;
164
+ confirm(question: string, config?: ConfirmConfig): Promise<boolean>;
165
+ clearScreen(): void;
166
+ showCursor(): void;
167
+ hideCursor(): void;
168
+ onKeyPress(callback: (key: KeyPress) => void): void;
169
+ offKeyPress(callback: (key: KeyPress) => void): void;
170
+ cleanup(): void;
171
+ }
172
+ export interface FrameworkOptions {
173
+ debug?: boolean;
174
+ logLevel?: "error" | "warn" | "info" | "debug";
175
+ enableHotkeys?: boolean;
176
+ enableHistory?: boolean;
177
+ maxHistorySize?: number;
178
+ renderMode?: "immediate" | "debounced" | "throttled";
179
+ renderDelay?: number;
180
+ }
181
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Core type definitions for the InterShell CLI framework
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,19 @@
1
+ import type { ScriptConfig, ScriptHandler, ScriptInstance } from "./types";
2
+ export declare function createScript<TConfig extends ScriptConfig>(config: TConfig, handler: ScriptHandler<TConfig>): ScriptInstance<TConfig>;
3
+ export declare namespace createScript {
4
+ var validators: {
5
+ readonly nonEmpty: (value: string) => boolean | string;
6
+ readonly boolean: (value: string) => boolean | string;
7
+ readonly number: (value: string) => boolean | string;
8
+ readonly integer: (value: string) => boolean | string;
9
+ readonly fileExists: (filePath: string) => boolean | string;
10
+ readonly directoryExists: (path: string) => boolean | string;
11
+ readonly enum: (allowedValues: string[]) => (value: string) => boolean | string;
12
+ readonly regex: (pattern: RegExp, message?: string) => (value: string) => boolean | string;
13
+ readonly custom: <T>(validator: (value: string) => T | string) => (value: string) => boolean | string;
14
+ readonly url: (value: string) => boolean | string;
15
+ readonly email: (value: string) => boolean | string;
16
+ readonly semver: (value: string) => boolean | string;
17
+ };
18
+ }
19
+ //# sourceMappingURL=wrapshell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapshell.d.ts","sourceRoot":"","sources":["../../src/core/wrapshell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,MAAM,SAAS,CAAC;AAmXjB,wBAAgB,YAAY,CAAC,OAAO,SAAS,YAAY,EACxD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,cAAc,CAAC,OAAO,CAAC,CAEzB;yBALe,YAAY;;mCAhXT,MAAM,KAAG,OAAO,GAAG,MAAM;kCAM1B,MAAM,KAAG,OAAO,GAAG,MAAM;iCAU1B,MAAM,KAAG,OAAO,GAAG,MAAM;kCAOxB,MAAM,KAAG,OAAO,GAAG,MAAM;wCAOnB,MAAM,KAAG,OAAO,GAAG,MAAM;yCAWxB,MAAM,KAAG,OAAO,GAAG,MAAM;uCAYhC,MAAM,EAAE,aAChB,MAAM,KAAG,OAAO,GAAG,MAAM;kCAOvB,MAAM,YAAY,MAAM,aAC1B,MAAM,KAAG,OAAO,GAAG,MAAM;0BAOhC,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,MAAM,aACpC,MAAM,KAAG,OAAO,GAAG,MAAM;8BAWrB,MAAM,KAAG,OAAO,GAAG,MAAM;gCAQvB,MAAM,KAAG,OAAO,GAAG,MAAM;iCAOxB,MAAM,KAAG,OAAO,GAAG,MAAM"}