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,102 @@
1
+ import { describe, expect, mock, test } from "bun:test";
2
+ describe("Config", () => {
3
+ // Common mock setup for dependencies
4
+ const setupMocks = async () => {
5
+ // Mock EntityPackage methods
6
+ const { EntityPackage } = await import("../package");
7
+ EntityPackage.prototype.readJson = mock(() => ({
8
+ name: "test-package",
9
+ version: "1.0.0",
10
+ }));
11
+ return { EntityPackage };
12
+ };
13
+ test.skip("should have default commit configuration", async () => {
14
+ await setupMocks();
15
+ const { entitiesConfig } = await import("./intershell-config");
16
+ const config = entitiesConfig.getConfig();
17
+ expect(config.commit.conventional.type?.list).toBeDefined();
18
+ expect(config.commit.conventional.type?.list?.length).toBeGreaterThan(0);
19
+ expect(config.commit.staged).toBeDefined();
20
+ expect(config.commit.staged?.length).toBeGreaterThan(0);
21
+ });
22
+ test.skip("should have default branch configuration", async () => {
23
+ await setupMocks();
24
+ const { entitiesConfig } = await import("./intershell-config");
25
+ const config = entitiesConfig.getConfig();
26
+ expect(config.branch.defaultBranch).toBe("main");
27
+ expect(config.branch.prefixes).toEqual([
28
+ "feature",
29
+ "fix",
30
+ "hotfix",
31
+ "release",
32
+ "docs",
33
+ "refactor",
34
+ "ci",
35
+ "chore",
36
+ "wip",
37
+ "renovate",
38
+ ]);
39
+ });
40
+ test.skip("should have default tag configuration", async () => {
41
+ await setupMocks();
42
+ const { entitiesConfig } = await import("./intershell-config");
43
+ const config = entitiesConfig.getConfig();
44
+ expect(config.tag.name.enabled).toBe(true);
45
+ expect(config.tag.name.minLength).toBe(1);
46
+ expect(config.tag.name.maxLength).toBe(100);
47
+ expect(config.tag.name.noSpaces).toBe(true);
48
+ expect(config.tag.name.noSpecialChars).toBe(false);
49
+ });
50
+ test.skip("should merge custom commit configuration", async () => {
51
+ await setupMocks();
52
+ const { entitiesConfig } = await import("./intershell-config");
53
+ // Mock custom config as a JSON string (as expected by PackageJson interface)
54
+ const customConfig = {
55
+ commit: {
56
+ conventional: {
57
+ type: {
58
+ list: [
59
+ {
60
+ type: "feat",
61
+ label: "Features",
62
+ description: "A new feature",
63
+ category: "features",
64
+ emoji: "🚀",
65
+ badgeColor: "00D4AA",
66
+ breakingAllowed: true,
67
+ },
68
+ ],
69
+ },
70
+ },
71
+ },
72
+ };
73
+ // Mock EntityPackage to return custom config
74
+ const { EntityPackage } = await import("../package");
75
+ EntityPackage.prototype.readJson = mock(() => ({
76
+ name: "test-package",
77
+ version: "1.0.0",
78
+ intershell: {
79
+ config: JSON.stringify(customConfig),
80
+ },
81
+ }));
82
+ const config = entitiesConfig.getConfig();
83
+ expect(config.commit.conventional.type?.list?.[0]?.type).toBe("feat");
84
+ expect(config.commit.conventional.type?.list?.[0]?.emoji).toBe("🚀");
85
+ });
86
+ test("should validate branch name regex pattern", async () => {
87
+ await setupMocks();
88
+ const { entitiesConfig } = await import("./intershell-config");
89
+ const config = entitiesConfig.getConfig();
90
+ const allowedCharacters = config.branch.name.allowedCharacters;
91
+ expect(allowedCharacters).toBeInstanceOf(RegExp);
92
+ // Test valid characters
93
+ expect(allowedCharacters.test("feature-branch")).toBe(true);
94
+ expect(allowedCharacters.test("fix_bug_123")).toBe(true);
95
+ expect(allowedCharacters.test("docs/update-readme")).toBe(true);
96
+ // Test invalid characters
97
+ expect(allowedCharacters.test("feature branch")).toBe(false); // space
98
+ expect(allowedCharacters.test("fix@bug")).toBe(false); // @ symbol
99
+ expect(allowedCharacters.test("docs#update")).toBe(false); // # symbol
100
+ });
101
+ });
102
+ //# sourceMappingURL=intershell-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intershell-config.test.js","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ export type PRCategory = "features" | "bugfixes" | "dependencies" | "infrastructure" | "documentation" | "refactoring" | "other";
2
+ type Validator = (commit: unknown) => true | string;
3
+ export interface CommitConfig {
4
+ conventional: {
5
+ type?: {
6
+ list?: CommitTypeDefinition[];
7
+ validator?: Validator;
8
+ };
9
+ scopes?: {
10
+ list?: string[];
11
+ validator?: Validator;
12
+ };
13
+ description?: {
14
+ minLength?: number;
15
+ maxLength?: number;
16
+ shouldNotEndWithPeriod?: boolean;
17
+ shouldNotStartWithType?: boolean;
18
+ validator?: Validator;
19
+ };
20
+ bodyLines?: {
21
+ minLength?: number;
22
+ maxLength?: number;
23
+ validator?: Validator;
24
+ };
25
+ isBreaking?: {
26
+ validator?: Validator;
27
+ };
28
+ isMerge?: {
29
+ validator?: Validator;
30
+ };
31
+ isDependency?: {
32
+ validator?: Validator;
33
+ };
34
+ };
35
+ staged?: StagedConfig;
36
+ }
37
+ export interface CommitTypeDefinition {
38
+ readonly type: string;
39
+ readonly label: string;
40
+ readonly description: string;
41
+ readonly category: PRCategory;
42
+ readonly emoji: string;
43
+ readonly badgeColor: string;
44
+ readonly breakingAllowed: boolean;
45
+ }
46
+ export type StagedConfig = {
47
+ filePattern: RegExp[];
48
+ contentPattern?: RegExp[];
49
+ description: string;
50
+ disabled?: boolean;
51
+ ignore?: {
52
+ mode: "create" | "update";
53
+ };
54
+ }[];
55
+ interface BranchConfig {
56
+ readonly defaultBranch: string;
57
+ readonly prefixes: string[];
58
+ readonly name: {
59
+ readonly minLength: number;
60
+ readonly maxLength: number;
61
+ readonly allowedCharacters: RegExp;
62
+ readonly noConsecutiveSeparators: boolean;
63
+ readonly noLeadingTrailingSeparators: boolean;
64
+ };
65
+ }
66
+ interface PackageValidationConfig {
67
+ readonly selectiveVersioning: {
68
+ readonly enabled: boolean;
69
+ readonly description: string;
70
+ };
71
+ readonly semanticVersioning: {
72
+ readonly enabled: boolean;
73
+ readonly description: string;
74
+ };
75
+ readonly description: {
76
+ readonly enabled: boolean;
77
+ readonly description: string;
78
+ };
79
+ }
80
+ interface TagValidationConfig {
81
+ readonly name: {
82
+ readonly enabled: boolean;
83
+ readonly description: string;
84
+ readonly minLength: number;
85
+ readonly maxLength: number;
86
+ readonly allowedCharacters: RegExp;
87
+ readonly noSpaces: boolean;
88
+ readonly noSpecialChars: boolean;
89
+ readonly validator?: Validator;
90
+ };
91
+ }
92
+ export interface IConfig {
93
+ readonly commit: CommitConfig;
94
+ readonly branch: BranchConfig;
95
+ readonly package: PackageValidationConfig;
96
+ readonly tag: TagValidationConfig;
97
+ }
98
+ type DeepPartial<T> = {
99
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
100
+ };
101
+ export type CustomConfigJson = DeepPartial<IConfig>;
102
+ export {};
103
+ //# sourceMappingURL=intershell-config.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intershell-config.types.d.ts","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=intershell-config.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intershell-config.types.js","sourceRoot":"","sources":["../../../src/entities/intershell-config/intershell-config.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from "./package";
2
+ export * from "./package.shell";
3
+ export * from "./package.types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/package/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./package";
2
+ export * from "./package.shell";
3
+ export * from "./package.types";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/package/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { PackageJson, TsConfig } from "./package.types";
2
+ export declare class EntityPackage {
3
+ private readonly packageName;
4
+ private packageJson;
5
+ constructor(packageName: string);
6
+ getName(): string;
7
+ isRoot(): boolean;
8
+ getPath(): string;
9
+ getJsonPath(): string;
10
+ readJson(): PackageJson;
11
+ writeJson(data: PackageJson): Promise<void>;
12
+ readVersion(): string | undefined;
13
+ writeVersion(version: string): Promise<void>;
14
+ getTsconfigPath(): string;
15
+ readTsconfig(): TsConfig;
16
+ writeTsconfig(content: string): Promise<void>;
17
+ getChangelogPath(): string;
18
+ readChangelog(): string;
19
+ writeChangelog(content: string): Promise<void>;
20
+ validatePackage(): string[];
21
+ /**
22
+ * Determines if this package should be versioned based on its private field
23
+ * @returns true if the package should be versioned (private !== true)
24
+ */
25
+ shouldVersion(): boolean;
26
+ /**
27
+ * Gets the tag series name for this package
28
+ * @returns tag series prefix (e.g., 'v', 'intershell-v') or null if package shouldn't be versioned
29
+ */
30
+ getTagSeriesName(): string | null;
31
+ static getRepoUrl(): string;
32
+ static getAllPackages(): Promise<string[]>;
33
+ /**
34
+ * Gets all packages that should be versioned (private !== true)
35
+ * @returns Array of package names that should be versioned
36
+ */
37
+ static getVersionedPackages(): Promise<string[]>;
38
+ /**
39
+ * Gets all packages that should NOT be versioned (private === true)
40
+ * @returns Array of package names that should NOT be versioned
41
+ */
42
+ static getUnversionedPackages(): Promise<string[]>;
43
+ /**
44
+ * Validates all packages in the workspace
45
+ * @returns Object containing validation results for all packages
46
+ */
47
+ static validateAllPackages(): Promise<string[]>;
48
+ }
49
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/entities/package/package.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE7D,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,WAAW,CAA0B;gBACjC,WAAW,EAAE,MAAM;IAK/B,OAAO,IAAI,MAAM;IAGjB,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,MAAM;IAOjB,WAAW,IAAI,MAAM;IAGrB,QAAQ,IAAI,WAAW;IAajB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,IAAI,MAAM,GAAG,SAAS;IAG3B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,eAAe,IAAI,MAAM;IAGzB,YAAY,IAAI,QAAQ;IAKlB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,gBAAgB,IAAI,MAAM;IAG1B,aAAa,IAAI,MAAM;IAIjB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,eAAe,IAAI,MAAM,EAAE;IA2C3B;;;OAGG;IACH,aAAa,IAAI,OAAO;IAMxB;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAQjC,MAAM,CAAC,UAAU,IAAI,MAAM;WAMd,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAyDhD;;;OAGG;WACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IActD;;;OAGG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAcxD;;;OAGG;WACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAarD"}
@@ -0,0 +1,234 @@
1
+ import { entitiesShell } from "../entities.shell";
2
+ import { entitiesConfig } from "../intershell-config/intershell-config";
3
+ import { packagesShell } from "./package.shell";
4
+ export class EntityPackage {
5
+ packageName;
6
+ packageJson;
7
+ constructor(packageName) {
8
+ this.packageName = packageName;
9
+ this.packageJson = this.readJson();
10
+ }
11
+ getName() {
12
+ return this.packageName;
13
+ }
14
+ isRoot() {
15
+ return this.getName() === "root";
16
+ }
17
+ getPath() {
18
+ if (this.packageName === "root")
19
+ return ".";
20
+ if (this.packageName.startsWith("@repo/"))
21
+ return `packages/${this.packageName.replace("@repo/", "")}`;
22
+ return `apps/${this.packageName}`;
23
+ }
24
+ getJsonPath() {
25
+ return `${this.getPath()}/package.json`;
26
+ }
27
+ readJson() {
28
+ if (this.packageJson) {
29
+ return this.packageJson;
30
+ }
31
+ const jsonPath = this.getJsonPath();
32
+ try {
33
+ const packageJson = packagesShell.readJsonFile(jsonPath);
34
+ return packageJson;
35
+ }
36
+ catch (error) {
37
+ throw new Error(`Package not found ${this.packageName} at ${this.getJsonPath()}: ${error}`);
38
+ }
39
+ }
40
+ async writeJson(data) {
41
+ await packagesShell.writeJsonFile(this.getJsonPath(), data);
42
+ this.packageJson = data;
43
+ await entitiesShell.runBiomeCheck(this.getJsonPath());
44
+ }
45
+ readVersion() {
46
+ return this.readJson().version;
47
+ }
48
+ async writeVersion(version) {
49
+ const packageJson = this.readJson();
50
+ packageJson.version = version;
51
+ this.packageJson = packageJson;
52
+ await this.writeJson(packageJson);
53
+ }
54
+ getTsconfigPath() {
55
+ return `${this.getPath()}/tsconfig.json`;
56
+ }
57
+ readTsconfig() {
58
+ const tsconfigPath = this.getTsconfigPath();
59
+ const content = packagesShell.readFileAsTextSync(tsconfigPath);
60
+ return JSON.parse(content);
61
+ }
62
+ async writeTsconfig(content) {
63
+ const tsconfigPath = this.getTsconfigPath();
64
+ await packagesShell.writeFileAsText(tsconfigPath, content);
65
+ await entitiesShell.runBiomeCheck(tsconfigPath);
66
+ }
67
+ getChangelogPath() {
68
+ return `${this.getPath()}/CHANGELOG.md`;
69
+ }
70
+ readChangelog() {
71
+ const changelogPath = this.getChangelogPath();
72
+ return packagesShell.readChangelogFile(changelogPath);
73
+ }
74
+ async writeChangelog(content) {
75
+ await packagesShell.writeChangelogFile(this.getChangelogPath(), content);
76
+ await entitiesShell.runBiomeCheck(this.getChangelogPath());
77
+ }
78
+ validatePackage() {
79
+ const packageJson = this.readJson();
80
+ const config = entitiesConfig.getConfig();
81
+ const errors = [];
82
+ // Only validate if package validation is enabled
83
+ if (!config.package) {
84
+ return errors;
85
+ }
86
+ const rules = config.package;
87
+ // Selective versioning rules
88
+ if (rules.selectiveVersioning.enabled) {
89
+ if (packageJson.private === true && packageJson.version) {
90
+ errors.push(`${this.packageName}: Private packages should not have version field`);
91
+ }
92
+ if (packageJson.private !== true && !packageJson.version) {
93
+ errors.push(`${this.packageName}: Versioned packages must have a version field`);
94
+ }
95
+ if (!packageJson.version && packageJson.private !== true) {
96
+ errors.push(`${this.packageName}: Unversioned packages must have private: true`);
97
+ }
98
+ if (packageJson.version && packageJson.private === true) {
99
+ errors.push(`${this.packageName}: Versioned packages should not have private: true`);
100
+ }
101
+ }
102
+ // Semantic versioning rules
103
+ if (rules.semanticVersioning.enabled && packageJson.version) {
104
+ if (!/^\d+\.\d+\.\d+$/.test(packageJson.version)) {
105
+ errors.push(`${this.packageName}: Version should follow semantic versioning (e.g., 1.0.0)`);
106
+ }
107
+ }
108
+ // Description rules
109
+ if (rules.description.enabled && packageJson.version && !packageJson.description) {
110
+ errors.push(`${this.packageName}: Consider adding a description to package.json`);
111
+ }
112
+ return errors;
113
+ }
114
+ /**
115
+ * Determines if this package should be versioned based on its private field
116
+ * @returns true if the package should be versioned (private !== true)
117
+ */
118
+ shouldVersion() {
119
+ const packageJson = this.readJson();
120
+ // Package should be versioned if private is false or undefined
121
+ return packageJson.private !== true;
122
+ }
123
+ /**
124
+ * Gets the tag series name for this package
125
+ * @returns tag series prefix (e.g., 'v', 'intershell-v') or null if package shouldn't be versioned
126
+ */
127
+ getTagSeriesName() {
128
+ if (!this.shouldVersion())
129
+ return null;
130
+ // Generate tag series name based on package name
131
+ if (this.packageName === "root")
132
+ return "v";
133
+ return `${this.packageName.replace("@repo/", "")}-v`;
134
+ }
135
+ static getRepoUrl() {
136
+ const rootPackageJson = new EntityPackage("root").readJson();
137
+ return typeof rootPackageJson.repository === "string"
138
+ ? rootPackageJson.repository
139
+ : rootPackageJson.repository?.url || "";
140
+ }
141
+ static async getAllPackages() {
142
+ const packages = ["root"];
143
+ // Get workspace root
144
+ const workspaceRoot = await packagesShell.getWorkspaceRoot();
145
+ // Read apps directory
146
+ let apps = [];
147
+ try {
148
+ const appsPath = `${workspaceRoot}/apps`;
149
+ apps = await packagesShell.readDirectory(appsPath);
150
+ }
151
+ catch {
152
+ // apps directory doesn't exist or can't be read
153
+ }
154
+ // Read packages directory
155
+ let pkgs = [];
156
+ try {
157
+ const packagesPath = `${workspaceRoot}/packages`;
158
+ const packageNames = await packagesShell.readDirectory(packagesPath);
159
+ pkgs = packageNames.map((name) => `@repo/${name}`);
160
+ }
161
+ catch {
162
+ // packages directory doesn't exist or can't be read
163
+ }
164
+ // Filter packages that have valid package.json files
165
+ const filteredPackages = await Promise.all([...apps, ...pkgs].map(async (pkg) => {
166
+ const packageInstance = new EntityPackage(pkg);
167
+ const packageJsonPath = packageInstance.getJsonPath();
168
+ try {
169
+ const exists = await packagesShell.canAccessFile(packageJsonPath);
170
+ if (!exists)
171
+ return null;
172
+ const packageJsonContent = await packagesShell.readFileAsText(packageJsonPath);
173
+ const packageJson = JSON.parse(packageJsonContent);
174
+ const name = packageJson.name;
175
+ if (!name)
176
+ return null;
177
+ if (name !== pkg) {
178
+ throw new Error(`Package ${pkg} has a different name in package.json: ${name}`);
179
+ }
180
+ return name;
181
+ }
182
+ catch {
183
+ return null;
184
+ }
185
+ }));
186
+ packages.push(...filteredPackages.filter((pkg) => pkg !== null));
187
+ return packages;
188
+ }
189
+ /**
190
+ * Gets all packages that should be versioned (private !== true)
191
+ * @returns Array of package names that should be versioned
192
+ */
193
+ static async getVersionedPackages() {
194
+ const allPackages = await EntityPackage.getAllPackages();
195
+ const versionedPackages = [];
196
+ for (const packageName of allPackages) {
197
+ const packageInstance = new EntityPackage(packageName);
198
+ if (packageInstance.shouldVersion()) {
199
+ versionedPackages.push(packageName);
200
+ }
201
+ }
202
+ return versionedPackages;
203
+ }
204
+ /**
205
+ * Gets all packages that should NOT be versioned (private === true)
206
+ * @returns Array of package names that should NOT be versioned
207
+ */
208
+ static async getUnversionedPackages() {
209
+ const allPackages = await EntityPackage.getAllPackages();
210
+ const unversionedPackages = [];
211
+ for (const packageName of allPackages) {
212
+ const packageInstance = new EntityPackage(packageName);
213
+ if (!packageInstance.shouldVersion()) {
214
+ unversionedPackages.push(packageName);
215
+ }
216
+ }
217
+ return unversionedPackages;
218
+ }
219
+ /**
220
+ * Validates all packages in the workspace
221
+ * @returns Object containing validation results for all packages
222
+ */
223
+ static async validateAllPackages() {
224
+ const allPackages = await EntityPackage.getAllPackages();
225
+ const errors = [];
226
+ for (const packageName of allPackages) {
227
+ const packageInstance = new EntityPackage(packageName);
228
+ const packageErrors = packageInstance.validatePackage();
229
+ errors.push(...packageErrors);
230
+ }
231
+ return errors;
232
+ }
233
+ }
234
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/entities/package/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { PackageJson } from "./package.types";
2
+ export declare const packagesShell: {
3
+ /**
4
+ * Reads a JSON file synchronously
5
+ */
6
+ readJsonFile: (filePath: string) => PackageJson;
7
+ /**
8
+ * Writes JSON data to a file
9
+ */
10
+ writeJsonFile: (filePath: string, data: PackageJson) => Promise<void>;
11
+ /**
12
+ * Reads a changelog file
13
+ */
14
+ readChangelogFile: (filePath: string) => string;
15
+ /**
16
+ * Writes content to a changelog file
17
+ */
18
+ writeChangelogFile: (filePath: string, content: string) => Promise<void>;
19
+ /**
20
+ * Checks if a file exists
21
+ */
22
+ fileExists: (filePath: string) => Promise<boolean>;
23
+ /**
24
+ * Reads directory contents
25
+ */
26
+ readDirectory: (dirPath: string) => Promise<string[]>;
27
+ /**
28
+ * Checks if a file can be accessed
29
+ */
30
+ canAccessFile: (filePath: string) => Promise<boolean>;
31
+ /**
32
+ * Reads a file as text
33
+ */
34
+ readFileAsText: (filePath: string) => Promise<string>;
35
+ /**
36
+ * Reads a file as text synchronously
37
+ */
38
+ readFileAsTextSync: (filePath: string) => string;
39
+ /**
40
+ * Writes content to a file as text
41
+ */
42
+ writeFileAsText: (filePath: string, content: string) => Promise<void>;
43
+ /**
44
+ * Gets the workspace root directory
45
+ */
46
+ getWorkspaceRoot: () => Promise<string>;
47
+ };
48
+ //# sourceMappingURL=package.shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.shell.d.ts","sourceRoot":"","sources":["../../../src/entities/package/package.shell.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,aAAa;IACzB;;OAEG;6BACsB,MAAM,KAAG,WAAW;IAS7C;;OAEG;8BAC6B,MAAM,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;kCAC2B,MAAM,KAAG,MAAM;IAS7C;;OAEG;mCACkC,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAS5E;;OAEG;2BAC0B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAStD;;OAEG;6BAC4B,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMzD;;OAEG;8BAC6B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAUzD;;OAEG;+BAC8B,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IAKzD;;OAEG;mCAC4B,MAAM,KAAG,MAAM;IAI9C;;OAEG;gCAC+B,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;OAEG;4BACyB,OAAO,CAAC,MAAM,CAAC;CAe3C,CAAC"}