@eui/mcp 1.0.3 → 1.2.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 (314) hide show
  1. package/dist/config/__tests__/schema.property.test.d.ts +2 -0
  2. package/dist/config/__tests__/schema.property.test.d.ts.map +1 -0
  3. package/dist/config/__tests__/schema.property.test.js +203 -0
  4. package/dist/config/__tests__/schema.property.test.js.map +1 -0
  5. package/dist/config/__tests__/schema.test.d.ts +2 -0
  6. package/dist/config/__tests__/schema.test.d.ts.map +1 -0
  7. package/dist/config/__tests__/schema.test.js +454 -0
  8. package/dist/config/__tests__/schema.test.js.map +1 -0
  9. package/dist/config/loader.js +4 -4
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/loader/__tests__/cache-manager.property.test.d.ts +2 -0
  14. package/dist/loader/__tests__/cache-manager.property.test.d.ts.map +1 -0
  15. package/dist/loader/__tests__/cache-manager.property.test.js +245 -0
  16. package/dist/loader/__tests__/cache-manager.property.test.js.map +1 -0
  17. package/dist/loader/__tests__/cache-manager.test.d.ts +2 -0
  18. package/dist/loader/__tests__/cache-manager.test.d.ts.map +1 -0
  19. package/dist/loader/__tests__/cache-manager.test.js +256 -0
  20. package/dist/loader/__tests__/cache-manager.test.js.map +1 -0
  21. package/dist/loader/__tests__/documentation-loader.integration.test.d.ts +2 -0
  22. package/dist/loader/__tests__/documentation-loader.integration.test.d.ts.map +1 -0
  23. package/dist/loader/__tests__/documentation-loader.integration.test.js +498 -0
  24. package/dist/loader/__tests__/documentation-loader.integration.test.js.map +1 -0
  25. package/dist/loader/__tests__/documentation-loader.property.test.d.ts +2 -0
  26. package/dist/loader/__tests__/documentation-loader.property.test.d.ts.map +1 -0
  27. package/dist/loader/__tests__/documentation-loader.property.test.js +258 -0
  28. package/dist/loader/__tests__/documentation-loader.property.test.js.map +1 -0
  29. package/dist/loader/__tests__/errors.test.d.ts +2 -0
  30. package/dist/loader/__tests__/errors.test.d.ts.map +1 -0
  31. package/dist/loader/__tests__/errors.test.js +132 -0
  32. package/dist/loader/__tests__/errors.test.js.map +1 -0
  33. package/dist/loader/__tests__/http-client.property.test.d.ts +2 -0
  34. package/dist/loader/__tests__/http-client.property.test.d.ts.map +1 -0
  35. package/dist/loader/__tests__/http-client.property.test.js +288 -0
  36. package/dist/loader/__tests__/http-client.property.test.js.map +1 -0
  37. package/dist/loader/__tests__/http-client.test.d.ts +2 -0
  38. package/dist/loader/__tests__/http-client.test.d.ts.map +1 -0
  39. package/dist/loader/__tests__/http-client.test.js +497 -0
  40. package/dist/loader/__tests__/http-client.test.js.map +1 -0
  41. package/dist/loader/__tests__/local-documentation-source.property.test.d.ts +2 -0
  42. package/dist/loader/__tests__/local-documentation-source.property.test.d.ts.map +1 -0
  43. package/dist/loader/__tests__/local-documentation-source.property.test.js +373 -0
  44. package/dist/loader/__tests__/local-documentation-source.property.test.js.map +1 -0
  45. package/dist/loader/__tests__/local-documentation-source.test.d.ts +2 -0
  46. package/dist/loader/__tests__/local-documentation-source.test.d.ts.map +1 -0
  47. package/dist/loader/__tests__/local-documentation-source.test.js +544 -0
  48. package/dist/loader/__tests__/local-documentation-source.test.js.map +1 -0
  49. package/dist/loader/__tests__/path-type-detector.property.test.d.ts +2 -0
  50. package/dist/loader/__tests__/path-type-detector.property.test.d.ts.map +1 -0
  51. package/dist/loader/__tests__/path-type-detector.property.test.js +245 -0
  52. package/dist/loader/__tests__/path-type-detector.property.test.js.map +1 -0
  53. package/dist/loader/__tests__/path-type-detector.test.d.ts +2 -0
  54. package/dist/loader/__tests__/path-type-detector.test.d.ts.map +1 -0
  55. package/dist/loader/__tests__/path-type-detector.test.js +390 -0
  56. package/dist/loader/__tests__/path-type-detector.test.js.map +1 -0
  57. package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts +2 -0
  58. package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts.map +1 -0
  59. package/dist/loader/__tests__/remote-documentation-source.property.test.js +462 -0
  60. package/dist/loader/__tests__/remote-documentation-source.property.test.js.map +1 -0
  61. package/dist/loader/__tests__/remote-documentation-source.test.d.ts +2 -0
  62. package/dist/loader/__tests__/remote-documentation-source.test.d.ts.map +1 -0
  63. package/dist/loader/__tests__/remote-documentation-source.test.js +707 -0
  64. package/dist/loader/__tests__/remote-documentation-source.test.js.map +1 -0
  65. package/dist/loader/remote-documentation-source.d.ts +0 -4
  66. package/dist/loader/remote-documentation-source.d.ts.map +1 -1
  67. package/dist/loader/remote-documentation-source.js +1 -4
  68. package/dist/loader/remote-documentation-source.js.map +1 -1
  69. package/dist/main.js +0 -0
  70. package/dist/main.js.map +1 -1
  71. package/dist/mcp/__tests__/server.property.test.d.ts +2 -0
  72. package/dist/mcp/__tests__/server.property.test.d.ts.map +1 -0
  73. package/dist/mcp/__tests__/server.property.test.js +286 -0
  74. package/dist/mcp/__tests__/server.property.test.js.map +1 -0
  75. package/dist/mcp/__tests__/server.test.d.ts +2 -0
  76. package/dist/mcp/__tests__/server.test.d.ts.map +1 -0
  77. package/dist/mcp/__tests__/server.test.js +101 -0
  78. package/dist/mcp/__tests__/server.test.js.map +1 -0
  79. package/dist/mcp/server.d.ts.map +1 -1
  80. package/dist/mcp/server.js +16 -4
  81. package/dist/mcp/server.js.map +1 -1
  82. package/dist/publish/__tests__/publish-utils.test.d.ts +5 -0
  83. package/dist/publish/__tests__/publish-utils.test.d.ts.map +1 -0
  84. package/dist/publish/__tests__/publish-utils.test.js +189 -0
  85. package/dist/publish/__tests__/publish-utils.test.js.map +1 -0
  86. package/dist/query/__tests__/deprecation-parser.test.d.ts +2 -0
  87. package/dist/query/__tests__/deprecation-parser.test.d.ts.map +1 -0
  88. package/dist/query/__tests__/deprecation-parser.test.js +154 -0
  89. package/dist/query/__tests__/deprecation-parser.test.js.map +1 -0
  90. package/dist/query/__tests__/deprecation-query.test.d.ts +2 -0
  91. package/dist/query/__tests__/deprecation-query.test.d.ts.map +1 -0
  92. package/dist/query/__tests__/deprecation-query.test.js +199 -0
  93. package/dist/query/__tests__/deprecation-query.test.js.map +1 -0
  94. package/dist/query/__tests__/index-builder-debug.test.d.ts +2 -0
  95. package/dist/query/__tests__/index-builder-debug.test.d.ts.map +1 -0
  96. package/dist/query/__tests__/index-builder-debug.test.js +34 -0
  97. package/dist/query/__tests__/index-builder-debug.test.js.map +1 -0
  98. package/dist/query/__tests__/index-builder.property.test.d.ts +2 -0
  99. package/dist/query/__tests__/index-builder.property.test.d.ts.map +1 -0
  100. package/dist/query/__tests__/index-builder.property.test.js +422 -0
  101. package/dist/query/__tests__/index-builder.property.test.js.map +1 -0
  102. package/dist/query/__tests__/index-builder.test.d.ts +2 -0
  103. package/dist/query/__tests__/index-builder.test.d.ts.map +1 -0
  104. package/dist/query/__tests__/index-builder.test.js +55 -0
  105. package/dist/query/__tests__/index-builder.test.js.map +1 -0
  106. package/dist/query/__tests__/result-formatter-deprecation.test.d.ts +2 -0
  107. package/dist/query/__tests__/result-formatter-deprecation.test.d.ts.map +1 -0
  108. package/dist/query/__tests__/result-formatter-deprecation.test.js +159 -0
  109. package/dist/query/__tests__/result-formatter-deprecation.test.js.map +1 -0
  110. package/dist/query/__tests__/result-formatter.integration.test.d.ts +2 -0
  111. package/dist/query/__tests__/result-formatter.integration.test.d.ts.map +1 -0
  112. package/dist/query/__tests__/result-formatter.integration.test.js +140 -0
  113. package/dist/query/__tests__/result-formatter.integration.test.js.map +1 -0
  114. package/dist/query/__tests__/result-formatter.property.test.d.ts +2 -0
  115. package/dist/query/__tests__/result-formatter.property.test.d.ts.map +1 -0
  116. package/dist/query/__tests__/result-formatter.property.test.js +163 -0
  117. package/dist/query/__tests__/result-formatter.property.test.js.map +1 -0
  118. package/dist/query/__tests__/result-formatter.test.d.ts +2 -0
  119. package/dist/query/__tests__/result-formatter.test.d.ts.map +1 -0
  120. package/dist/query/__tests__/result-formatter.test.js +85 -0
  121. package/dist/query/__tests__/result-formatter.test.js.map +1 -0
  122. package/dist/query/__tests__/search-engine.property.test.d.ts +2 -0
  123. package/dist/query/__tests__/search-engine.property.test.d.ts.map +1 -0
  124. package/dist/query/__tests__/search-engine.property.test.js +389 -0
  125. package/dist/query/__tests__/search-engine.property.test.js.map +1 -0
  126. package/dist/query/deprecation-parser.d.ts +46 -0
  127. package/dist/query/deprecation-parser.d.ts.map +1 -0
  128. package/dist/query/deprecation-parser.js +81 -0
  129. package/dist/query/deprecation-parser.js.map +1 -0
  130. package/dist/query/deprecation-query.d.ts +19 -0
  131. package/dist/query/deprecation-query.d.ts.map +1 -0
  132. package/dist/query/deprecation-query.js +73 -0
  133. package/dist/query/deprecation-query.js.map +1 -0
  134. package/dist/query/result-formatter.d.ts +27 -0
  135. package/dist/query/result-formatter.d.ts.map +1 -1
  136. package/dist/query/result-formatter.js +64 -5
  137. package/dist/query/result-formatter.js.map +1 -1
  138. package/dist/tools/__tests__/deprecation-tools.test.d.ts +2 -0
  139. package/dist/tools/__tests__/deprecation-tools.test.d.ts.map +1 -0
  140. package/dist/tools/__tests__/deprecation-tools.test.js +178 -0
  141. package/dist/tools/__tests__/deprecation-tools.test.js.map +1 -0
  142. package/dist/tools/__tests__/get-component-docs.property.test.d.ts +2 -0
  143. package/dist/tools/__tests__/get-component-docs.property.test.d.ts.map +1 -0
  144. package/dist/tools/__tests__/get-component-docs.property.test.js +594 -0
  145. package/dist/tools/__tests__/get-component-docs.property.test.js.map +1 -0
  146. package/dist/tools/__tests__/get-component-docs.test.d.ts +2 -0
  147. package/dist/tools/__tests__/get-component-docs.test.d.ts.map +1 -0
  148. package/dist/tools/__tests__/get-component-docs.test.js +137 -0
  149. package/dist/tools/__tests__/get-component-docs.test.js.map +1 -0
  150. package/dist/tools/__tests__/get-component-examples.property.test.d.ts +2 -0
  151. package/dist/tools/__tests__/get-component-examples.property.test.d.ts.map +1 -0
  152. package/dist/tools/__tests__/get-component-examples.property.test.js +245 -0
  153. package/dist/tools/__tests__/get-component-examples.property.test.js.map +1 -0
  154. package/dist/tools/__tests__/get-component-examples.test.d.ts +2 -0
  155. package/dist/tools/__tests__/get-component-examples.test.d.ts.map +1 -0
  156. package/dist/tools/__tests__/get-component-examples.test.js +128 -0
  157. package/dist/tools/__tests__/get-component-examples.test.js.map +1 -0
  158. package/dist/tools/__tests__/get-component-inputs.property.test.d.ts +2 -0
  159. package/dist/tools/__tests__/get-component-inputs.property.test.d.ts.map +1 -0
  160. package/dist/tools/__tests__/get-component-inputs.property.test.js +310 -0
  161. package/dist/tools/__tests__/get-component-inputs.property.test.js.map +1 -0
  162. package/dist/tools/__tests__/get-component-inputs.test.d.ts +2 -0
  163. package/dist/tools/__tests__/get-component-inputs.test.d.ts.map +1 -0
  164. package/dist/tools/__tests__/get-component-inputs.test.js +245 -0
  165. package/dist/tools/__tests__/get-component-inputs.test.js.map +1 -0
  166. package/dist/tools/__tests__/get-component-outputs.property.test.d.ts +2 -0
  167. package/dist/tools/__tests__/get-component-outputs.property.test.d.ts.map +1 -0
  168. package/dist/tools/__tests__/get-component-outputs.property.test.js +227 -0
  169. package/dist/tools/__tests__/get-component-outputs.property.test.js.map +1 -0
  170. package/dist/tools/__tests__/get-component-outputs.test.d.ts +2 -0
  171. package/dist/tools/__tests__/get-component-outputs.test.d.ts.map +1 -0
  172. package/dist/tools/__tests__/get-component-outputs.test.js +189 -0
  173. package/dist/tools/__tests__/get-component-outputs.test.js.map +1 -0
  174. package/dist/tools/__tests__/get-library-version.property.test.d.ts +2 -0
  175. package/dist/tools/__tests__/get-library-version.property.test.d.ts.map +1 -0
  176. package/dist/tools/__tests__/get-library-version.property.test.js +115 -0
  177. package/dist/tools/__tests__/get-library-version.property.test.js.map +1 -0
  178. package/dist/tools/__tests__/get-library-version.test.d.ts +2 -0
  179. package/dist/tools/__tests__/get-library-version.test.d.ts.map +1 -0
  180. package/dist/tools/__tests__/get-library-version.test.js +97 -0
  181. package/dist/tools/__tests__/get-library-version.test.js.map +1 -0
  182. package/dist/tools/__tests__/list-components.property.test.d.ts +2 -0
  183. package/dist/tools/__tests__/list-components.property.test.d.ts.map +1 -0
  184. package/dist/tools/__tests__/list-components.property.test.js +241 -0
  185. package/dist/tools/__tests__/list-components.property.test.js.map +1 -0
  186. package/dist/tools/__tests__/list-components.test.d.ts +2 -0
  187. package/dist/tools/__tests__/list-components.test.d.ts.map +1 -0
  188. package/dist/tools/__tests__/list-components.test.js +170 -0
  189. package/dist/tools/__tests__/list-components.test.js.map +1 -0
  190. package/dist/tools/__tests__/search-components.test.d.ts +2 -0
  191. package/dist/tools/__tests__/search-components.test.d.ts.map +1 -0
  192. package/dist/tools/__tests__/search-components.test.js +239 -0
  193. package/dist/tools/__tests__/search-components.test.js.map +1 -0
  194. package/dist/tools/get-deprecation-info.d.ts +42 -0
  195. package/dist/tools/get-deprecation-info.d.ts.map +1 -0
  196. package/dist/tools/get-deprecation-info.js +55 -0
  197. package/dist/tools/get-deprecation-info.js.map +1 -0
  198. package/dist/tools/get-library-version.d.ts +33 -0
  199. package/dist/tools/get-library-version.d.ts.map +1 -0
  200. package/dist/tools/get-library-version.js +62 -0
  201. package/dist/tools/get-library-version.js.map +1 -0
  202. package/dist/tools/index.d.ts +3 -0
  203. package/dist/tools/index.d.ts.map +1 -1
  204. package/dist/tools/index.js +3 -0
  205. package/dist/tools/index.js.map +1 -1
  206. package/dist/tools/list-deprecated.d.ts +47 -0
  207. package/dist/tools/list-deprecated.d.ts.map +1 -0
  208. package/dist/tools/list-deprecated.js +56 -0
  209. package/dist/tools/list-deprecated.js.map +1 -0
  210. package/dist/types/compodoc.d.ts +1 -0
  211. package/dist/types/compodoc.d.ts.map +1 -1
  212. package/dist/types/deprecation.d.ts +33 -0
  213. package/dist/types/deprecation.d.ts.map +1 -0
  214. package/dist/types/deprecation.js +5 -0
  215. package/dist/types/deprecation.js.map +1 -0
  216. package/dist/utils/__tests__/credential-masking.property.test.d.ts +2 -0
  217. package/dist/utils/__tests__/credential-masking.property.test.d.ts.map +1 -0
  218. package/dist/utils/__tests__/credential-masking.property.test.js +145 -0
  219. package/dist/utils/__tests__/credential-masking.property.test.js.map +1 -0
  220. package/dist/utils/__tests__/credential-masking.test.d.ts +2 -0
  221. package/dist/utils/__tests__/credential-masking.test.d.ts.map +1 -0
  222. package/dist/utils/__tests__/credential-masking.test.js +188 -0
  223. package/dist/utils/__tests__/credential-masking.test.js.map +1 -0
  224. package/dist/utils/__tests__/errors.test.d.ts +2 -0
  225. package/dist/utils/__tests__/errors.test.d.ts.map +1 -0
  226. package/dist/utils/__tests__/errors.test.js +110 -0
  227. package/dist/utils/__tests__/errors.test.js.map +1 -0
  228. package/dist/utils/__tests__/integration.test.d.ts +2 -0
  229. package/dist/utils/__tests__/integration.test.d.ts.map +1 -0
  230. package/dist/utils/__tests__/integration.test.js +142 -0
  231. package/dist/utils/__tests__/integration.test.js.map +1 -0
  232. package/dist/utils/__tests__/logger.test.d.ts +2 -0
  233. package/dist/utils/__tests__/logger.test.d.ts.map +1 -0
  234. package/dist/utils/__tests__/logger.test.js +119 -0
  235. package/dist/utils/__tests__/logger.test.js.map +1 -0
  236. package/dist/utils/__tests__/retry.test.d.ts +2 -0
  237. package/dist/utils/__tests__/retry.test.d.ts.map +1 -0
  238. package/dist/utils/__tests__/retry.test.js +84 -0
  239. package/dist/utils/__tests__/retry.test.js.map +1 -0
  240. package/dist/utils/credential-masking.js +4 -4
  241. package/dist/utils/credential-masking.js.map +1 -1
  242. package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts +2 -0
  243. package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts.map +1 -0
  244. package/dist/version/__tests__/changelog-commit-grouping.property.test.js +297 -0
  245. package/dist/version/__tests__/changelog-commit-grouping.property.test.js.map +1 -0
  246. package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts +2 -0
  247. package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts.map +1 -0
  248. package/dist/version/__tests__/changelog-commit-parsing.property.test.js +396 -0
  249. package/dist/version/__tests__/changelog-commit-parsing.property.test.js.map +1 -0
  250. package/dist/version/__tests__/changelog-file-updates.property.test.d.ts +11 -0
  251. package/dist/version/__tests__/changelog-file-updates.property.test.d.ts.map +1 -0
  252. package/dist/version/__tests__/changelog-file-updates.property.test.js +452 -0
  253. package/dist/version/__tests__/changelog-file-updates.property.test.js.map +1 -0
  254. package/dist/version/__tests__/dry-run-action.property.test.d.ts +8 -0
  255. package/dist/version/__tests__/dry-run-action.property.test.d.ts.map +1 -0
  256. package/dist/version/__tests__/dry-run-action.property.test.js +50 -0
  257. package/dist/version/__tests__/dry-run-action.property.test.js.map +1 -0
  258. package/dist/version/__tests__/dry-run-changelog.property.test.d.ts +8 -0
  259. package/dist/version/__tests__/dry-run-changelog.property.test.d.ts.map +1 -0
  260. package/dist/version/__tests__/dry-run-changelog.property.test.js +53 -0
  261. package/dist/version/__tests__/dry-run-changelog.property.test.js.map +1 -0
  262. package/dist/version/__tests__/dry-run-utils.test.d.ts +7 -0
  263. package/dist/version/__tests__/dry-run-utils.test.d.ts.map +1 -0
  264. package/dist/version/__tests__/dry-run-utils.test.js +205 -0
  265. package/dist/version/__tests__/dry-run-utils.test.js.map +1 -0
  266. package/dist/version/__tests__/dry-run-version.property.test.d.ts +8 -0
  267. package/dist/version/__tests__/dry-run-version.property.test.d.ts.map +1 -0
  268. package/dist/version/__tests__/dry-run-version.property.test.js +59 -0
  269. package/dist/version/__tests__/dry-run-version.property.test.js.map +1 -0
  270. package/dist/version/__tests__/git-tag-annotation.property.test.d.ts +11 -0
  271. package/dist/version/__tests__/git-tag-annotation.property.test.d.ts.map +1 -0
  272. package/dist/version/__tests__/git-tag-annotation.property.test.js +271 -0
  273. package/dist/version/__tests__/git-tag-annotation.property.test.js.map +1 -0
  274. package/dist/version/__tests__/git-tag-format.property.test.d.ts +11 -0
  275. package/dist/version/__tests__/git-tag-format.property.test.d.ts.map +1 -0
  276. package/dist/version/__tests__/git-tag-format.property.test.js +411 -0
  277. package/dist/version/__tests__/git-tag-format.property.test.js.map +1 -0
  278. package/dist/version/__tests__/git-tag-utils.test.d.ts +2 -0
  279. package/dist/version/__tests__/git-tag-utils.test.d.ts.map +1 -0
  280. package/dist/version/__tests__/git-tag-utils.test.js +142 -0
  281. package/dist/version/__tests__/git-tag-utils.test.js.map +1 -0
  282. package/dist/version/__tests__/npm-tag-selection.property.test.d.ts +2 -0
  283. package/dist/version/__tests__/npm-tag-selection.property.test.d.ts.map +1 -0
  284. package/dist/version/__tests__/npm-tag-selection.property.test.js +79 -0
  285. package/dist/version/__tests__/npm-tag-selection.property.test.js.map +1 -0
  286. package/dist/version/__tests__/release-title-format.property.test.d.ts +11 -0
  287. package/dist/version/__tests__/release-title-format.property.test.d.ts.map +1 -0
  288. package/dist/version/__tests__/release-title-format.property.test.js +422 -0
  289. package/dist/version/__tests__/release-title-format.property.test.js.map +1 -0
  290. package/dist/version/__tests__/release-utils.test.d.ts +7 -0
  291. package/dist/version/__tests__/release-utils.test.d.ts.map +1 -0
  292. package/dist/version/__tests__/release-utils.test.js +176 -0
  293. package/dist/version/__tests__/release-utils.test.js.map +1 -0
  294. package/dist/version/__tests__/rollback-changelog.property.test.d.ts +8 -0
  295. package/dist/version/__tests__/rollback-changelog.property.test.d.ts.map +1 -0
  296. package/dist/version/__tests__/rollback-changelog.property.test.js +61 -0
  297. package/dist/version/__tests__/rollback-changelog.property.test.js.map +1 -0
  298. package/dist/version/__tests__/rollback-utils.test.d.ts +7 -0
  299. package/dist/version/__tests__/rollback-utils.test.d.ts.map +1 -0
  300. package/dist/version/__tests__/rollback-utils.test.js +74 -0
  301. package/dist/version/__tests__/rollback-utils.test.js.map +1 -0
  302. package/dist/version/__tests__/version-manager.property.test.d.ts +2 -0
  303. package/dist/version/__tests__/version-manager.property.test.d.ts.map +1 -0
  304. package/dist/version/__tests__/version-manager.property.test.js +143 -0
  305. package/dist/version/__tests__/version-manager.property.test.js.map +1 -0
  306. package/dist/version/__tests__/version-manager.test.d.ts +2 -0
  307. package/dist/version/__tests__/version-manager.test.d.ts.map +1 -0
  308. package/dist/version/__tests__/version-manager.test.js +203 -0
  309. package/dist/version/__tests__/version-manager.test.js.map +1 -0
  310. package/dist/version/version-manager.d.ts.map +1 -1
  311. package/dist/version/version-manager.js +0 -4
  312. package/dist/version/version-manager.js.map +1 -1
  313. package/package.json +1 -1
  314. package/dist/test-error.ts +0 -1
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Unit Tests for GitLab Release Utilities
3
+ *
4
+ * Tests the functions used for creating GitLab releases.
5
+ */
6
+ import { describe, it, expect } from '@jest/globals';
7
+ import { writeFileSync, mkdirSync, rmSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { extractVersion, formatReleaseTitle, getChangelogContent, createArtifactLink, createReleasePayload, } from '../release-utils.js';
10
+ describe('extractVersion', () => {
11
+ it('should remove v prefix from tag', () => {
12
+ expect(extractVersion('v1.2.3')).toBe('1.2.3');
13
+ });
14
+ it('should return version unchanged if no v prefix', () => {
15
+ expect(extractVersion('1.2.3')).toBe('1.2.3');
16
+ });
17
+ it('should handle edge cases', () => {
18
+ expect(extractVersion('v0.0.0')).toBe('0.0.0');
19
+ expect(extractVersion('v10.20.30')).toBe('10.20.30');
20
+ expect(extractVersion('0.0.1')).toBe('0.0.1');
21
+ });
22
+ });
23
+ describe('formatReleaseTitle', () => {
24
+ it('should format release title with v prefix', () => {
25
+ expect(formatReleaseTitle('v1.2.3')).toBe('Release v1.2.3');
26
+ });
27
+ it('should add v prefix if not present', () => {
28
+ expect(formatReleaseTitle('1.2.3')).toBe('Release v1.2.3');
29
+ });
30
+ it('should handle various version formats', () => {
31
+ expect(formatReleaseTitle('v0.0.1')).toBe('Release v0.0.1');
32
+ expect(formatReleaseTitle('v10.20.30')).toBe('Release v10.20.30');
33
+ expect(formatReleaseTitle('2.0.0')).toBe('Release v2.0.0');
34
+ });
35
+ });
36
+ describe('getChangelogContent', () => {
37
+ const testDir = join(process.cwd(), 'test-temp-changelog');
38
+ const testChangelogPath = join(testDir, 'CHANGELOG.md');
39
+ beforeEach(() => {
40
+ // Create test directory
41
+ mkdirSync(testDir, { recursive: true });
42
+ });
43
+ afterEach(() => {
44
+ // Clean up test directory
45
+ rmSync(testDir, { recursive: true, force: true });
46
+ });
47
+ it('should extract the most recent version section', () => {
48
+ const changelog = `# Changelog
49
+
50
+ ## [1.2.0] - 2024-01-15
51
+
52
+ ### Features
53
+ - Add new feature X
54
+ - Implement feature Y
55
+
56
+ ### Bug Fixes
57
+ - Fix issue Z
58
+
59
+ ## [1.1.0] - 2024-01-01
60
+
61
+ ### Features
62
+ - Old feature
63
+ `;
64
+ writeFileSync(testChangelogPath, changelog);
65
+ const content = getChangelogContent(testChangelogPath);
66
+ expect(content).toContain('## [1.2.0] - 2024-01-15');
67
+ expect(content).toContain('### Features');
68
+ expect(content).toContain('- Add new feature X');
69
+ expect(content).not.toContain('## [1.1.0]');
70
+ expect(content).not.toContain('Old feature');
71
+ });
72
+ it('should return default message if no version sections found', () => {
73
+ const changelog = `# Changelog
74
+
75
+ No releases yet.
76
+ `;
77
+ writeFileSync(testChangelogPath, changelog);
78
+ const content = getChangelogContent(testChangelogPath);
79
+ expect(content).toBe('Release notes not available.');
80
+ });
81
+ it('should return default message if file does not exist', () => {
82
+ const content = getChangelogContent(join(testDir, 'nonexistent.md'));
83
+ expect(content).toBe('Release notes not available.');
84
+ });
85
+ it('should handle changelog with only one version', () => {
86
+ const changelog = `# Changelog
87
+
88
+ ## [1.0.0] - 2024-01-01
89
+
90
+ Initial release
91
+ `;
92
+ writeFileSync(testChangelogPath, changelog);
93
+ const content = getChangelogContent(testChangelogPath);
94
+ expect(content).toContain('## [1.0.0] - 2024-01-01');
95
+ expect(content).toContain('Initial release');
96
+ });
97
+ it('should skip main title and extract only version section', () => {
98
+ const changelog = `# Changelog
99
+
100
+ All notable changes to this project will be documented in this file.
101
+
102
+ ## [2.0.0] - 2024-02-01
103
+
104
+ ### Breaking Changes
105
+ - Major refactor
106
+
107
+ ## [1.0.0] - 2024-01-01
108
+
109
+ Initial release
110
+ `;
111
+ writeFileSync(testChangelogPath, changelog);
112
+ const content = getChangelogContent(testChangelogPath);
113
+ expect(content).not.toContain('# Changelog');
114
+ expect(content).not.toContain('All notable changes');
115
+ expect(content).toContain('## [2.0.0] - 2024-02-01');
116
+ expect(content).toContain('### Breaking Changes');
117
+ expect(content).not.toContain('## [1.0.0]');
118
+ });
119
+ });
120
+ describe('createArtifactLink', () => {
121
+ it('should create artifact link with correct format', () => {
122
+ const link = createArtifactLink('https://gitlab.com/user/project', '12345');
123
+ expect(link).toEqual({
124
+ name: 'dist',
125
+ url: 'https://gitlab.com/user/project/-/jobs/12345/artifacts/download',
126
+ link_type: 'package',
127
+ });
128
+ });
129
+ it('should handle different project URLs', () => {
130
+ const link = createArtifactLink('https://gitlab.example.com/org/repo', '67890');
131
+ expect(link).toEqual({
132
+ name: 'dist',
133
+ url: 'https://gitlab.example.com/org/repo/-/jobs/67890/artifacts/download',
134
+ link_type: 'package',
135
+ });
136
+ });
137
+ it('should handle numeric job IDs as strings', () => {
138
+ const link = createArtifactLink('https://gitlab.com/project', '999');
139
+ expect(link.url).toContain('/jobs/999/');
140
+ });
141
+ });
142
+ describe('createReleasePayload', () => {
143
+ it('should create valid release payload', () => {
144
+ const assetLinks = [
145
+ {
146
+ name: 'dist',
147
+ url: 'https://gitlab.com/project/-/jobs/123/artifacts/download',
148
+ link_type: 'package',
149
+ },
150
+ ];
151
+ const payload = createReleasePayload('v1.2.3', 'Release v1.2.3', 'Release notes content', assetLinks);
152
+ expect(payload).toEqual({
153
+ tag_name: 'v1.2.3',
154
+ name: 'Release v1.2.3',
155
+ description: 'Release notes content',
156
+ assets: {
157
+ links: assetLinks,
158
+ },
159
+ });
160
+ });
161
+ it('should handle empty asset links', () => {
162
+ const payload = createReleasePayload('v1.0.0', 'Release v1.0.0', 'Notes', []);
163
+ expect(payload.assets.links).toEqual([]);
164
+ });
165
+ it('should handle multiple asset links', () => {
166
+ const assetLinks = [
167
+ { name: 'dist', url: 'https://example.com/dist', link_type: 'package' },
168
+ { name: 'docs', url: 'https://example.com/docs', link_type: 'other' },
169
+ ];
170
+ const payload = createReleasePayload('v2.0.0', 'Release v2.0.0', 'Notes', assetLinks);
171
+ expect(payload.assets.links).toHaveLength(2);
172
+ expect(payload.assets.links[0].name).toBe('dist');
173
+ expect(payload.assets.links[1].name).toBe('docs');
174
+ });
175
+ });
176
+ //# sourceMappingURL=release-utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-utils.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/release-utils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Property Tests for Rollback Changelog Format
3
+ *
4
+ * Property 18: Rollback Changelog Entry Format
5
+ * Validates: Requirements 11.5
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=rollback-changelog.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback-changelog.property.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/rollback-changelog.property.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Property Tests for Rollback Changelog Format
3
+ *
4
+ * Property 18: Rollback Changelog Entry Format
5
+ * Validates: Requirements 11.5
6
+ */
7
+ import { describe, it, expect } from '@jest/globals';
8
+ import fc from 'fast-check';
9
+ import { formatRollbackChangelogEntry } from '../rollback-utils.js';
10
+ describe('Feature: pipeline-release-support, Property 18: Rollback Changelog Entry Format', () => {
11
+ const versionArb = fc.record({
12
+ major: fc.nat(100),
13
+ minor: fc.nat(100),
14
+ patch: fc.nat(100),
15
+ }).map(v => `${v.major}.${v.minor}.${v.patch}`);
16
+ it('should always include version and rollback marker', () => {
17
+ fc.assert(fc.property(versionArb, fc.option(fc.stringOf(fc.char(), { minLength: 5, maxLength: 50 }), { nil: undefined }), (version, reason) => {
18
+ const entry = formatRollbackChangelogEntry(version, reason);
19
+ // Should contain version (without v prefix)
20
+ const cleanVersion = version.startsWith('v') ? version.slice(1) : version;
21
+ expect(entry).toContain(cleanVersion);
22
+ // Should contain rollback marker
23
+ expect(entry).toContain('Rollback');
24
+ expect(entry).toContain('Rolled back to version');
25
+ // Should contain reason if provided
26
+ if (reason) {
27
+ expect(entry).toContain(reason);
28
+ expect(entry).toContain('Reason:');
29
+ }
30
+ }));
31
+ });
32
+ it('should include current date in ISO format', () => {
33
+ fc.assert(fc.property(versionArb, (version) => {
34
+ const entry = formatRollbackChangelogEntry(version);
35
+ const today = new Date().toISOString().split('T')[0];
36
+ expect(entry).toContain(today);
37
+ }));
38
+ });
39
+ it('should produce valid markdown format', () => {
40
+ fc.assert(fc.property(versionArb, fc.option(fc.stringOf(fc.char(), { minLength: 5, maxLength: 50 }), { nil: undefined }), (version, _reason) => {
41
+ const entry = formatRollbackChangelogEntry(version);
42
+ // Should start with markdown header
43
+ expect(entry).toMatch(/^## \d+\.\d+\.\d+ \(\d{4}-\d{2}-\d{2}\)/);
44
+ // Should contain markdown subheader
45
+ expect(entry).toContain('### Rollback');
46
+ // Should contain markdown list item
47
+ expect(entry).toContain('* Rolled back');
48
+ }));
49
+ });
50
+ it('should handle version with v prefix correctly', () => {
51
+ fc.assert(fc.property(versionArb, (version) => {
52
+ const withV = `v${version}`;
53
+ const entry = formatRollbackChangelogEntry(withV);
54
+ // Should not duplicate v prefix in header
55
+ expect(entry).not.toContain('## v');
56
+ // Should contain clean version
57
+ expect(entry).toContain(`## ${version}`);
58
+ }));
59
+ });
60
+ });
61
+ //# sourceMappingURL=rollback-changelog.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback-changelog.property.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/rollback-changelog.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Unit Tests for Rollback Utilities
3
+ *
4
+ * Tests rollback validation and changelog formatting.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=rollback-utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback-utils.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/rollback-utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Unit Tests for Rollback Utilities
3
+ *
4
+ * Tests rollback validation and changelog formatting.
5
+ */
6
+ import { describe, it, expect } from '@jest/globals';
7
+ import { validateRollbackVersion, formatRollbackChangelogEntry, generateRollbackTag, } from '../rollback-utils.js';
8
+ describe('Rollback Utilities', () => {
9
+ describe('validateRollbackVersion', () => {
10
+ it('should accept valid version format', () => {
11
+ const result = validateRollbackVersion('1.2.3', '1.2.4');
12
+ expect(result.valid).toBe(true);
13
+ expect(result.error).toBeUndefined();
14
+ });
15
+ it('should accept version with v prefix', () => {
16
+ const result = validateRollbackVersion('v1.2.3', '1.2.4');
17
+ expect(result.valid).toBe(true);
18
+ });
19
+ it('should reject invalid version format', () => {
20
+ const result = validateRollbackVersion('invalid', '1.2.3');
21
+ expect(result.valid).toBe(false);
22
+ expect(result.error).toContain('Invalid version format');
23
+ });
24
+ it('should reject rollback to current version', () => {
25
+ const result = validateRollbackVersion('1.2.3', '1.2.3');
26
+ expect(result.valid).toBe(false);
27
+ expect(result.error).toContain('Cannot rollback to current version');
28
+ });
29
+ it('should reject rollback to current version with v prefix', () => {
30
+ const result = validateRollbackVersion('v1.2.3', '1.2.3');
31
+ expect(result.valid).toBe(false);
32
+ expect(result.error).toContain('Cannot rollback to current version');
33
+ });
34
+ it('should handle version with leading zeros', () => {
35
+ const result = validateRollbackVersion('01.02.03', '1.2.3');
36
+ expect(result.valid).toBe(false);
37
+ expect(result.error).toContain('Invalid version format');
38
+ });
39
+ });
40
+ describe('formatRollbackChangelogEntry', () => {
41
+ it('should format basic rollback entry', () => {
42
+ const entry = formatRollbackChangelogEntry('1.2.3');
43
+ expect(entry).toContain('## 1.2.3');
44
+ expect(entry).toContain('### Rollback');
45
+ expect(entry).toContain('Rolled back to version 1.2.3');
46
+ });
47
+ it('should include reason when provided', () => {
48
+ const entry = formatRollbackChangelogEntry('1.2.3', 'Critical bug in 1.2.4');
49
+ expect(entry).toContain('Rolled back to version 1.2.3');
50
+ expect(entry).toContain('Reason: Critical bug in 1.2.4');
51
+ });
52
+ it('should handle version with v prefix', () => {
53
+ const entry = formatRollbackChangelogEntry('v1.2.3');
54
+ expect(entry).toContain('## 1.2.3');
55
+ expect(entry).not.toContain('## v1.2.3');
56
+ });
57
+ it('should include current date', () => {
58
+ const entry = formatRollbackChangelogEntry('1.2.3');
59
+ const today = new Date().toISOString().split('T')[0];
60
+ expect(entry).toContain(today);
61
+ });
62
+ });
63
+ describe('generateRollbackTag', () => {
64
+ it('should generate tag with v prefix', () => {
65
+ const tag = generateRollbackTag('1.2.3');
66
+ expect(tag).toBe('v1.2.3');
67
+ });
68
+ it('should not duplicate v prefix', () => {
69
+ const tag = generateRollbackTag('v1.2.3');
70
+ expect(tag).toBe('v1.2.3');
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=rollback-utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback-utils.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/rollback-utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAE7E,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YAErD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=version-manager.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-manager.property.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/version-manager.property.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Property-based tests for version management utilities
3
+ *
4
+ * **Property 2: Semantic Version Bumping Rules**
5
+ * **Validates: Requirements 3.2, 3.3, 3.4**
6
+ *
7
+ * For any starting semantic version and release type (patch, minor, major),
8
+ * the version manager should increment the version according to semantic
9
+ * versioning rules: patch increments the PATCH number, minor increments
10
+ * MINOR and resets PATCH to 0, major increments MAJOR and resets MINOR
11
+ * and PATCH to 0.
12
+ */
13
+ import { describe, it } from '@jest/globals';
14
+ import fc from 'fast-check';
15
+ import { bumpVersion, parseVersion, formatVersion, } from '../version-manager.js';
16
+ describe('Feature: pipeline-release-support, Property 2: Semantic Version Bumping Rules', () => {
17
+ it('should correctly bump patch versions according to semantic versioning rules', () => {
18
+ fc.assert(fc.property(fc.record({
19
+ major: fc.nat(1000),
20
+ minor: fc.nat(1000),
21
+ patch: fc.nat(1000),
22
+ }), (version) => {
23
+ const result = bumpVersion(version, 'patch');
24
+ // Patch bump should increment patch by 1
25
+ // Major and minor should remain unchanged
26
+ return (result.major === version.major &&
27
+ result.minor === version.minor &&
28
+ result.patch === version.patch + 1);
29
+ }), { numRuns: 100 });
30
+ });
31
+ it('should correctly bump minor versions according to semantic versioning rules', () => {
32
+ fc.assert(fc.property(fc.record({
33
+ major: fc.nat(1000),
34
+ minor: fc.nat(1000),
35
+ patch: fc.nat(1000),
36
+ }), (version) => {
37
+ const result = bumpVersion(version, 'minor');
38
+ // Minor bump should increment minor by 1 and reset patch to 0
39
+ // Major should remain unchanged
40
+ return (result.major === version.major &&
41
+ result.minor === version.minor + 1 &&
42
+ result.patch === 0);
43
+ }), { numRuns: 100 });
44
+ });
45
+ it('should correctly bump major versions according to semantic versioning rules', () => {
46
+ fc.assert(fc.property(fc.record({
47
+ major: fc.nat(1000),
48
+ minor: fc.nat(1000),
49
+ patch: fc.nat(1000),
50
+ }), (version) => {
51
+ const result = bumpVersion(version, 'major');
52
+ // Major bump should increment major by 1 and reset minor and patch to 0
53
+ return (result.major === version.major + 1 &&
54
+ result.minor === 0 &&
55
+ result.patch === 0);
56
+ }), { numRuns: 100 });
57
+ });
58
+ it('should apply correct bumping rules for any version and release type combination', () => {
59
+ fc.assert(fc.property(fc.record({
60
+ major: fc.nat(1000),
61
+ minor: fc.nat(1000),
62
+ patch: fc.nat(1000),
63
+ }), fc.constantFrom('patch', 'minor', 'major'), (version, releaseType) => {
64
+ const result = bumpVersion(version, releaseType);
65
+ if (releaseType === 'patch') {
66
+ return (result.major === version.major &&
67
+ result.minor === version.minor &&
68
+ result.patch === version.patch + 1);
69
+ }
70
+ else if (releaseType === 'minor') {
71
+ return (result.major === version.major &&
72
+ result.minor === version.minor + 1 &&
73
+ result.patch === 0);
74
+ }
75
+ else { // major
76
+ return (result.major === version.major + 1 &&
77
+ result.minor === 0 &&
78
+ result.patch === 0);
79
+ }
80
+ }), { numRuns: 100 });
81
+ });
82
+ it('should never produce negative version components', () => {
83
+ fc.assert(fc.property(fc.record({
84
+ major: fc.nat(1000),
85
+ minor: fc.nat(1000),
86
+ patch: fc.nat(1000),
87
+ }), fc.constantFrom('patch', 'minor', 'major'), (version, releaseType) => {
88
+ const result = bumpVersion(version, releaseType);
89
+ // All components must be non-negative
90
+ return result.major >= 0 && result.minor >= 0 && result.patch >= 0;
91
+ }), { numRuns: 100 });
92
+ });
93
+ it('should produce valid semantic version strings after bumping', () => {
94
+ fc.assert(fc.property(fc.record({
95
+ major: fc.nat(1000),
96
+ minor: fc.nat(1000),
97
+ patch: fc.nat(1000),
98
+ }), fc.constantFrom('patch', 'minor', 'major'), (version, releaseType) => {
99
+ const result = bumpVersion(version, releaseType);
100
+ const versionString = formatVersion(result);
101
+ // The formatted version should be parseable back to the same version
102
+ const parsed = parseVersion(versionString);
103
+ return (parsed.major === result.major &&
104
+ parsed.minor === result.minor &&
105
+ parsed.patch === result.patch);
106
+ }), { numRuns: 100 });
107
+ });
108
+ it('should not mutate the original version object', () => {
109
+ fc.assert(fc.property(fc.record({
110
+ major: fc.nat(1000),
111
+ minor: fc.nat(1000),
112
+ patch: fc.nat(1000),
113
+ }), fc.constantFrom('patch', 'minor', 'major'), (version, releaseType) => {
114
+ const originalMajor = version.major;
115
+ const originalMinor = version.minor;
116
+ const originalPatch = version.patch;
117
+ bumpVersion(version, releaseType);
118
+ // Original version should remain unchanged
119
+ return (version.major === originalMajor &&
120
+ version.minor === originalMinor &&
121
+ version.patch === originalPatch);
122
+ }), { numRuns: 100 });
123
+ });
124
+ it('should always increase the version (lexicographically)', () => {
125
+ fc.assert(fc.property(fc.record({
126
+ major: fc.nat(1000),
127
+ minor: fc.nat(1000),
128
+ patch: fc.nat(1000),
129
+ }), fc.constantFrom('patch', 'minor', 'major'), (version, releaseType) => {
130
+ const result = bumpVersion(version, releaseType);
131
+ // The bumped version should be greater than the original
132
+ // Compare as version tuples
133
+ if (result.major > version.major)
134
+ return true;
135
+ if (result.major === version.major && result.minor > version.minor)
136
+ return true;
137
+ if (result.major === version.major && result.minor === version.minor && result.patch > version.patch)
138
+ return true;
139
+ return false;
140
+ }), { numRuns: 100 });
141
+ });
142
+ });
143
+ //# sourceMappingURL=version-manager.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-manager.property.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/version-manager.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=version-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-manager.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/version-manager.test.ts"],"names":[],"mappings":""}