@eui/mcp 1.0.3 → 1.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 (315) hide show
  1. package/README.md +117 -743
  2. package/dist/config/__tests__/schema.property.test.d.ts +2 -0
  3. package/dist/config/__tests__/schema.property.test.d.ts.map +1 -0
  4. package/dist/config/__tests__/schema.property.test.js +203 -0
  5. package/dist/config/__tests__/schema.property.test.js.map +1 -0
  6. package/dist/config/__tests__/schema.test.d.ts +2 -0
  7. package/dist/config/__tests__/schema.test.d.ts.map +1 -0
  8. package/dist/config/__tests__/schema.test.js +454 -0
  9. package/dist/config/__tests__/schema.test.js.map +1 -0
  10. package/dist/config/loader.js +4 -4
  11. package/dist/config/loader.js.map +1 -1
  12. package/dist/index.js +2 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/loader/__tests__/cache-manager.property.test.d.ts +2 -0
  15. package/dist/loader/__tests__/cache-manager.property.test.d.ts.map +1 -0
  16. package/dist/loader/__tests__/cache-manager.property.test.js +245 -0
  17. package/dist/loader/__tests__/cache-manager.property.test.js.map +1 -0
  18. package/dist/loader/__tests__/cache-manager.test.d.ts +2 -0
  19. package/dist/loader/__tests__/cache-manager.test.d.ts.map +1 -0
  20. package/dist/loader/__tests__/cache-manager.test.js +256 -0
  21. package/dist/loader/__tests__/cache-manager.test.js.map +1 -0
  22. package/dist/loader/__tests__/documentation-loader.integration.test.d.ts +2 -0
  23. package/dist/loader/__tests__/documentation-loader.integration.test.d.ts.map +1 -0
  24. package/dist/loader/__tests__/documentation-loader.integration.test.js +498 -0
  25. package/dist/loader/__tests__/documentation-loader.integration.test.js.map +1 -0
  26. package/dist/loader/__tests__/documentation-loader.property.test.d.ts +2 -0
  27. package/dist/loader/__tests__/documentation-loader.property.test.d.ts.map +1 -0
  28. package/dist/loader/__tests__/documentation-loader.property.test.js +258 -0
  29. package/dist/loader/__tests__/documentation-loader.property.test.js.map +1 -0
  30. package/dist/loader/__tests__/errors.test.d.ts +2 -0
  31. package/dist/loader/__tests__/errors.test.d.ts.map +1 -0
  32. package/dist/loader/__tests__/errors.test.js +132 -0
  33. package/dist/loader/__tests__/errors.test.js.map +1 -0
  34. package/dist/loader/__tests__/http-client.property.test.d.ts +2 -0
  35. package/dist/loader/__tests__/http-client.property.test.d.ts.map +1 -0
  36. package/dist/loader/__tests__/http-client.property.test.js +288 -0
  37. package/dist/loader/__tests__/http-client.property.test.js.map +1 -0
  38. package/dist/loader/__tests__/http-client.test.d.ts +2 -0
  39. package/dist/loader/__tests__/http-client.test.d.ts.map +1 -0
  40. package/dist/loader/__tests__/http-client.test.js +497 -0
  41. package/dist/loader/__tests__/http-client.test.js.map +1 -0
  42. package/dist/loader/__tests__/local-documentation-source.property.test.d.ts +2 -0
  43. package/dist/loader/__tests__/local-documentation-source.property.test.d.ts.map +1 -0
  44. package/dist/loader/__tests__/local-documentation-source.property.test.js +373 -0
  45. package/dist/loader/__tests__/local-documentation-source.property.test.js.map +1 -0
  46. package/dist/loader/__tests__/local-documentation-source.test.d.ts +2 -0
  47. package/dist/loader/__tests__/local-documentation-source.test.d.ts.map +1 -0
  48. package/dist/loader/__tests__/local-documentation-source.test.js +544 -0
  49. package/dist/loader/__tests__/local-documentation-source.test.js.map +1 -0
  50. package/dist/loader/__tests__/path-type-detector.property.test.d.ts +2 -0
  51. package/dist/loader/__tests__/path-type-detector.property.test.d.ts.map +1 -0
  52. package/dist/loader/__tests__/path-type-detector.property.test.js +245 -0
  53. package/dist/loader/__tests__/path-type-detector.property.test.js.map +1 -0
  54. package/dist/loader/__tests__/path-type-detector.test.d.ts +2 -0
  55. package/dist/loader/__tests__/path-type-detector.test.d.ts.map +1 -0
  56. package/dist/loader/__tests__/path-type-detector.test.js +390 -0
  57. package/dist/loader/__tests__/path-type-detector.test.js.map +1 -0
  58. package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts +2 -0
  59. package/dist/loader/__tests__/remote-documentation-source.property.test.d.ts.map +1 -0
  60. package/dist/loader/__tests__/remote-documentation-source.property.test.js +462 -0
  61. package/dist/loader/__tests__/remote-documentation-source.property.test.js.map +1 -0
  62. package/dist/loader/__tests__/remote-documentation-source.test.d.ts +2 -0
  63. package/dist/loader/__tests__/remote-documentation-source.test.d.ts.map +1 -0
  64. package/dist/loader/__tests__/remote-documentation-source.test.js +707 -0
  65. package/dist/loader/__tests__/remote-documentation-source.test.js.map +1 -0
  66. package/dist/loader/remote-documentation-source.d.ts +0 -4
  67. package/dist/loader/remote-documentation-source.d.ts.map +1 -1
  68. package/dist/loader/remote-documentation-source.js +1 -4
  69. package/dist/loader/remote-documentation-source.js.map +1 -1
  70. package/dist/main.js +0 -0
  71. package/dist/main.js.map +1 -1
  72. package/dist/mcp/__tests__/server.property.test.d.ts +2 -0
  73. package/dist/mcp/__tests__/server.property.test.d.ts.map +1 -0
  74. package/dist/mcp/__tests__/server.property.test.js +286 -0
  75. package/dist/mcp/__tests__/server.property.test.js.map +1 -0
  76. package/dist/mcp/__tests__/server.test.d.ts +2 -0
  77. package/dist/mcp/__tests__/server.test.d.ts.map +1 -0
  78. package/dist/mcp/__tests__/server.test.js +101 -0
  79. package/dist/mcp/__tests__/server.test.js.map +1 -0
  80. package/dist/mcp/server.d.ts.map +1 -1
  81. package/dist/mcp/server.js +16 -4
  82. package/dist/mcp/server.js.map +1 -1
  83. package/dist/publish/__tests__/publish-utils.test.d.ts +5 -0
  84. package/dist/publish/__tests__/publish-utils.test.d.ts.map +1 -0
  85. package/dist/publish/__tests__/publish-utils.test.js +189 -0
  86. package/dist/publish/__tests__/publish-utils.test.js.map +1 -0
  87. package/dist/query/__tests__/deprecation-parser.test.d.ts +2 -0
  88. package/dist/query/__tests__/deprecation-parser.test.d.ts.map +1 -0
  89. package/dist/query/__tests__/deprecation-parser.test.js +154 -0
  90. package/dist/query/__tests__/deprecation-parser.test.js.map +1 -0
  91. package/dist/query/__tests__/deprecation-query.test.d.ts +2 -0
  92. package/dist/query/__tests__/deprecation-query.test.d.ts.map +1 -0
  93. package/dist/query/__tests__/deprecation-query.test.js +199 -0
  94. package/dist/query/__tests__/deprecation-query.test.js.map +1 -0
  95. package/dist/query/__tests__/index-builder-debug.test.d.ts +2 -0
  96. package/dist/query/__tests__/index-builder-debug.test.d.ts.map +1 -0
  97. package/dist/query/__tests__/index-builder-debug.test.js +34 -0
  98. package/dist/query/__tests__/index-builder-debug.test.js.map +1 -0
  99. package/dist/query/__tests__/index-builder.property.test.d.ts +2 -0
  100. package/dist/query/__tests__/index-builder.property.test.d.ts.map +1 -0
  101. package/dist/query/__tests__/index-builder.property.test.js +422 -0
  102. package/dist/query/__tests__/index-builder.property.test.js.map +1 -0
  103. package/dist/query/__tests__/index-builder.test.d.ts +2 -0
  104. package/dist/query/__tests__/index-builder.test.d.ts.map +1 -0
  105. package/dist/query/__tests__/index-builder.test.js +55 -0
  106. package/dist/query/__tests__/index-builder.test.js.map +1 -0
  107. package/dist/query/__tests__/result-formatter-deprecation.test.d.ts +2 -0
  108. package/dist/query/__tests__/result-formatter-deprecation.test.d.ts.map +1 -0
  109. package/dist/query/__tests__/result-formatter-deprecation.test.js +159 -0
  110. package/dist/query/__tests__/result-formatter-deprecation.test.js.map +1 -0
  111. package/dist/query/__tests__/result-formatter.integration.test.d.ts +2 -0
  112. package/dist/query/__tests__/result-formatter.integration.test.d.ts.map +1 -0
  113. package/dist/query/__tests__/result-formatter.integration.test.js +140 -0
  114. package/dist/query/__tests__/result-formatter.integration.test.js.map +1 -0
  115. package/dist/query/__tests__/result-formatter.property.test.d.ts +2 -0
  116. package/dist/query/__tests__/result-formatter.property.test.d.ts.map +1 -0
  117. package/dist/query/__tests__/result-formatter.property.test.js +163 -0
  118. package/dist/query/__tests__/result-formatter.property.test.js.map +1 -0
  119. package/dist/query/__tests__/result-formatter.test.d.ts +2 -0
  120. package/dist/query/__tests__/result-formatter.test.d.ts.map +1 -0
  121. package/dist/query/__tests__/result-formatter.test.js +85 -0
  122. package/dist/query/__tests__/result-formatter.test.js.map +1 -0
  123. package/dist/query/__tests__/search-engine.property.test.d.ts +2 -0
  124. package/dist/query/__tests__/search-engine.property.test.d.ts.map +1 -0
  125. package/dist/query/__tests__/search-engine.property.test.js +389 -0
  126. package/dist/query/__tests__/search-engine.property.test.js.map +1 -0
  127. package/dist/query/deprecation-parser.d.ts +46 -0
  128. package/dist/query/deprecation-parser.d.ts.map +1 -0
  129. package/dist/query/deprecation-parser.js +81 -0
  130. package/dist/query/deprecation-parser.js.map +1 -0
  131. package/dist/query/deprecation-query.d.ts +19 -0
  132. package/dist/query/deprecation-query.d.ts.map +1 -0
  133. package/dist/query/deprecation-query.js +73 -0
  134. package/dist/query/deprecation-query.js.map +1 -0
  135. package/dist/query/result-formatter.d.ts +27 -0
  136. package/dist/query/result-formatter.d.ts.map +1 -1
  137. package/dist/query/result-formatter.js +64 -5
  138. package/dist/query/result-formatter.js.map +1 -1
  139. package/dist/tools/__tests__/deprecation-tools.test.d.ts +2 -0
  140. package/dist/tools/__tests__/deprecation-tools.test.d.ts.map +1 -0
  141. package/dist/tools/__tests__/deprecation-tools.test.js +178 -0
  142. package/dist/tools/__tests__/deprecation-tools.test.js.map +1 -0
  143. package/dist/tools/__tests__/get-component-docs.property.test.d.ts +2 -0
  144. package/dist/tools/__tests__/get-component-docs.property.test.d.ts.map +1 -0
  145. package/dist/tools/__tests__/get-component-docs.property.test.js +594 -0
  146. package/dist/tools/__tests__/get-component-docs.property.test.js.map +1 -0
  147. package/dist/tools/__tests__/get-component-docs.test.d.ts +2 -0
  148. package/dist/tools/__tests__/get-component-docs.test.d.ts.map +1 -0
  149. package/dist/tools/__tests__/get-component-docs.test.js +137 -0
  150. package/dist/tools/__tests__/get-component-docs.test.js.map +1 -0
  151. package/dist/tools/__tests__/get-component-examples.property.test.d.ts +2 -0
  152. package/dist/tools/__tests__/get-component-examples.property.test.d.ts.map +1 -0
  153. package/dist/tools/__tests__/get-component-examples.property.test.js +245 -0
  154. package/dist/tools/__tests__/get-component-examples.property.test.js.map +1 -0
  155. package/dist/tools/__tests__/get-component-examples.test.d.ts +2 -0
  156. package/dist/tools/__tests__/get-component-examples.test.d.ts.map +1 -0
  157. package/dist/tools/__tests__/get-component-examples.test.js +128 -0
  158. package/dist/tools/__tests__/get-component-examples.test.js.map +1 -0
  159. package/dist/tools/__tests__/get-component-inputs.property.test.d.ts +2 -0
  160. package/dist/tools/__tests__/get-component-inputs.property.test.d.ts.map +1 -0
  161. package/dist/tools/__tests__/get-component-inputs.property.test.js +310 -0
  162. package/dist/tools/__tests__/get-component-inputs.property.test.js.map +1 -0
  163. package/dist/tools/__tests__/get-component-inputs.test.d.ts +2 -0
  164. package/dist/tools/__tests__/get-component-inputs.test.d.ts.map +1 -0
  165. package/dist/tools/__tests__/get-component-inputs.test.js +245 -0
  166. package/dist/tools/__tests__/get-component-inputs.test.js.map +1 -0
  167. package/dist/tools/__tests__/get-component-outputs.property.test.d.ts +2 -0
  168. package/dist/tools/__tests__/get-component-outputs.property.test.d.ts.map +1 -0
  169. package/dist/tools/__tests__/get-component-outputs.property.test.js +227 -0
  170. package/dist/tools/__tests__/get-component-outputs.property.test.js.map +1 -0
  171. package/dist/tools/__tests__/get-component-outputs.test.d.ts +2 -0
  172. package/dist/tools/__tests__/get-component-outputs.test.d.ts.map +1 -0
  173. package/dist/tools/__tests__/get-component-outputs.test.js +189 -0
  174. package/dist/tools/__tests__/get-component-outputs.test.js.map +1 -0
  175. package/dist/tools/__tests__/get-library-version.property.test.d.ts +2 -0
  176. package/dist/tools/__tests__/get-library-version.property.test.d.ts.map +1 -0
  177. package/dist/tools/__tests__/get-library-version.property.test.js +115 -0
  178. package/dist/tools/__tests__/get-library-version.property.test.js.map +1 -0
  179. package/dist/tools/__tests__/get-library-version.test.d.ts +2 -0
  180. package/dist/tools/__tests__/get-library-version.test.d.ts.map +1 -0
  181. package/dist/tools/__tests__/get-library-version.test.js +97 -0
  182. package/dist/tools/__tests__/get-library-version.test.js.map +1 -0
  183. package/dist/tools/__tests__/list-components.property.test.d.ts +2 -0
  184. package/dist/tools/__tests__/list-components.property.test.d.ts.map +1 -0
  185. package/dist/tools/__tests__/list-components.property.test.js +241 -0
  186. package/dist/tools/__tests__/list-components.property.test.js.map +1 -0
  187. package/dist/tools/__tests__/list-components.test.d.ts +2 -0
  188. package/dist/tools/__tests__/list-components.test.d.ts.map +1 -0
  189. package/dist/tools/__tests__/list-components.test.js +170 -0
  190. package/dist/tools/__tests__/list-components.test.js.map +1 -0
  191. package/dist/tools/__tests__/search-components.test.d.ts +2 -0
  192. package/dist/tools/__tests__/search-components.test.d.ts.map +1 -0
  193. package/dist/tools/__tests__/search-components.test.js +239 -0
  194. package/dist/tools/__tests__/search-components.test.js.map +1 -0
  195. package/dist/tools/get-deprecation-info.d.ts +42 -0
  196. package/dist/tools/get-deprecation-info.d.ts.map +1 -0
  197. package/dist/tools/get-deprecation-info.js +55 -0
  198. package/dist/tools/get-deprecation-info.js.map +1 -0
  199. package/dist/tools/get-library-version.d.ts +33 -0
  200. package/dist/tools/get-library-version.d.ts.map +1 -0
  201. package/dist/tools/get-library-version.js +62 -0
  202. package/dist/tools/get-library-version.js.map +1 -0
  203. package/dist/tools/index.d.ts +3 -0
  204. package/dist/tools/index.d.ts.map +1 -1
  205. package/dist/tools/index.js +3 -0
  206. package/dist/tools/index.js.map +1 -1
  207. package/dist/tools/list-deprecated.d.ts +47 -0
  208. package/dist/tools/list-deprecated.d.ts.map +1 -0
  209. package/dist/tools/list-deprecated.js +56 -0
  210. package/dist/tools/list-deprecated.js.map +1 -0
  211. package/dist/types/compodoc.d.ts +1 -0
  212. package/dist/types/compodoc.d.ts.map +1 -1
  213. package/dist/types/deprecation.d.ts +33 -0
  214. package/dist/types/deprecation.d.ts.map +1 -0
  215. package/dist/types/deprecation.js +5 -0
  216. package/dist/types/deprecation.js.map +1 -0
  217. package/dist/utils/__tests__/credential-masking.property.test.d.ts +2 -0
  218. package/dist/utils/__tests__/credential-masking.property.test.d.ts.map +1 -0
  219. package/dist/utils/__tests__/credential-masking.property.test.js +145 -0
  220. package/dist/utils/__tests__/credential-masking.property.test.js.map +1 -0
  221. package/dist/utils/__tests__/credential-masking.test.d.ts +2 -0
  222. package/dist/utils/__tests__/credential-masking.test.d.ts.map +1 -0
  223. package/dist/utils/__tests__/credential-masking.test.js +188 -0
  224. package/dist/utils/__tests__/credential-masking.test.js.map +1 -0
  225. package/dist/utils/__tests__/errors.test.d.ts +2 -0
  226. package/dist/utils/__tests__/errors.test.d.ts.map +1 -0
  227. package/dist/utils/__tests__/errors.test.js +110 -0
  228. package/dist/utils/__tests__/errors.test.js.map +1 -0
  229. package/dist/utils/__tests__/integration.test.d.ts +2 -0
  230. package/dist/utils/__tests__/integration.test.d.ts.map +1 -0
  231. package/dist/utils/__tests__/integration.test.js +142 -0
  232. package/dist/utils/__tests__/integration.test.js.map +1 -0
  233. package/dist/utils/__tests__/logger.test.d.ts +2 -0
  234. package/dist/utils/__tests__/logger.test.d.ts.map +1 -0
  235. package/dist/utils/__tests__/logger.test.js +119 -0
  236. package/dist/utils/__tests__/logger.test.js.map +1 -0
  237. package/dist/utils/__tests__/retry.test.d.ts +2 -0
  238. package/dist/utils/__tests__/retry.test.d.ts.map +1 -0
  239. package/dist/utils/__tests__/retry.test.js +84 -0
  240. package/dist/utils/__tests__/retry.test.js.map +1 -0
  241. package/dist/utils/credential-masking.js +4 -4
  242. package/dist/utils/credential-masking.js.map +1 -1
  243. package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts +2 -0
  244. package/dist/version/__tests__/changelog-commit-grouping.property.test.d.ts.map +1 -0
  245. package/dist/version/__tests__/changelog-commit-grouping.property.test.js +297 -0
  246. package/dist/version/__tests__/changelog-commit-grouping.property.test.js.map +1 -0
  247. package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts +2 -0
  248. package/dist/version/__tests__/changelog-commit-parsing.property.test.d.ts.map +1 -0
  249. package/dist/version/__tests__/changelog-commit-parsing.property.test.js +396 -0
  250. package/dist/version/__tests__/changelog-commit-parsing.property.test.js.map +1 -0
  251. package/dist/version/__tests__/changelog-file-updates.property.test.d.ts +11 -0
  252. package/dist/version/__tests__/changelog-file-updates.property.test.d.ts.map +1 -0
  253. package/dist/version/__tests__/changelog-file-updates.property.test.js +452 -0
  254. package/dist/version/__tests__/changelog-file-updates.property.test.js.map +1 -0
  255. package/dist/version/__tests__/dry-run-action.property.test.d.ts +8 -0
  256. package/dist/version/__tests__/dry-run-action.property.test.d.ts.map +1 -0
  257. package/dist/version/__tests__/dry-run-action.property.test.js +50 -0
  258. package/dist/version/__tests__/dry-run-action.property.test.js.map +1 -0
  259. package/dist/version/__tests__/dry-run-changelog.property.test.d.ts +8 -0
  260. package/dist/version/__tests__/dry-run-changelog.property.test.d.ts.map +1 -0
  261. package/dist/version/__tests__/dry-run-changelog.property.test.js +53 -0
  262. package/dist/version/__tests__/dry-run-changelog.property.test.js.map +1 -0
  263. package/dist/version/__tests__/dry-run-utils.test.d.ts +7 -0
  264. package/dist/version/__tests__/dry-run-utils.test.d.ts.map +1 -0
  265. package/dist/version/__tests__/dry-run-utils.test.js +205 -0
  266. package/dist/version/__tests__/dry-run-utils.test.js.map +1 -0
  267. package/dist/version/__tests__/dry-run-version.property.test.d.ts +8 -0
  268. package/dist/version/__tests__/dry-run-version.property.test.d.ts.map +1 -0
  269. package/dist/version/__tests__/dry-run-version.property.test.js +59 -0
  270. package/dist/version/__tests__/dry-run-version.property.test.js.map +1 -0
  271. package/dist/version/__tests__/git-tag-annotation.property.test.d.ts +11 -0
  272. package/dist/version/__tests__/git-tag-annotation.property.test.d.ts.map +1 -0
  273. package/dist/version/__tests__/git-tag-annotation.property.test.js +271 -0
  274. package/dist/version/__tests__/git-tag-annotation.property.test.js.map +1 -0
  275. package/dist/version/__tests__/git-tag-format.property.test.d.ts +11 -0
  276. package/dist/version/__tests__/git-tag-format.property.test.d.ts.map +1 -0
  277. package/dist/version/__tests__/git-tag-format.property.test.js +411 -0
  278. package/dist/version/__tests__/git-tag-format.property.test.js.map +1 -0
  279. package/dist/version/__tests__/git-tag-utils.test.d.ts +2 -0
  280. package/dist/version/__tests__/git-tag-utils.test.d.ts.map +1 -0
  281. package/dist/version/__tests__/git-tag-utils.test.js +142 -0
  282. package/dist/version/__tests__/git-tag-utils.test.js.map +1 -0
  283. package/dist/version/__tests__/npm-tag-selection.property.test.d.ts +2 -0
  284. package/dist/version/__tests__/npm-tag-selection.property.test.d.ts.map +1 -0
  285. package/dist/version/__tests__/npm-tag-selection.property.test.js +79 -0
  286. package/dist/version/__tests__/npm-tag-selection.property.test.js.map +1 -0
  287. package/dist/version/__tests__/release-title-format.property.test.d.ts +11 -0
  288. package/dist/version/__tests__/release-title-format.property.test.d.ts.map +1 -0
  289. package/dist/version/__tests__/release-title-format.property.test.js +422 -0
  290. package/dist/version/__tests__/release-title-format.property.test.js.map +1 -0
  291. package/dist/version/__tests__/release-utils.test.d.ts +7 -0
  292. package/dist/version/__tests__/release-utils.test.d.ts.map +1 -0
  293. package/dist/version/__tests__/release-utils.test.js +176 -0
  294. package/dist/version/__tests__/release-utils.test.js.map +1 -0
  295. package/dist/version/__tests__/rollback-changelog.property.test.d.ts +8 -0
  296. package/dist/version/__tests__/rollback-changelog.property.test.d.ts.map +1 -0
  297. package/dist/version/__tests__/rollback-changelog.property.test.js +61 -0
  298. package/dist/version/__tests__/rollback-changelog.property.test.js.map +1 -0
  299. package/dist/version/__tests__/rollback-utils.test.d.ts +7 -0
  300. package/dist/version/__tests__/rollback-utils.test.d.ts.map +1 -0
  301. package/dist/version/__tests__/rollback-utils.test.js +74 -0
  302. package/dist/version/__tests__/rollback-utils.test.js.map +1 -0
  303. package/dist/version/__tests__/version-manager.property.test.d.ts +2 -0
  304. package/dist/version/__tests__/version-manager.property.test.d.ts.map +1 -0
  305. package/dist/version/__tests__/version-manager.property.test.js +143 -0
  306. package/dist/version/__tests__/version-manager.property.test.js.map +1 -0
  307. package/dist/version/__tests__/version-manager.test.d.ts +2 -0
  308. package/dist/version/__tests__/version-manager.test.d.ts.map +1 -0
  309. package/dist/version/__tests__/version-manager.test.js +203 -0
  310. package/dist/version/__tests__/version-manager.test.js.map +1 -0
  311. package/dist/version/version-manager.d.ts.map +1 -1
  312. package/dist/version/version-manager.js +0 -4
  313. package/dist/version/version-manager.js.map +1 -1
  314. package/package.json +1 -1
  315. package/dist/test-error.ts +0 -1
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Property-based tests for npm tag selection
3
+ *
4
+ * **Property 11: Environment-Based npm Tag Selection**
5
+ * **Validates: Requirements 10.1, 10.2**
6
+ *
7
+ * For any environment configuration (staging or production), the pipeline
8
+ * should select the correct npm distribution tag: "beta" for staging and
9
+ * "latest" for production.
10
+ */
11
+ import { describe, it, expect } from '@jest/globals';
12
+ import fc from 'fast-check';
13
+ import { selectNpmTag } from '../version-manager.js';
14
+ describe('Feature: pipeline-release-support, Property 11: Environment-Based npm Tag Selection', () => {
15
+ it('should always return "beta" for staging environment', () => {
16
+ fc.assert(fc.property(fc.constant('staging'), (environment) => {
17
+ const tag = selectNpmTag(environment);
18
+ return tag === 'beta';
19
+ }), { numRuns: 100 });
20
+ });
21
+ it('should always return "latest" for production environment', () => {
22
+ fc.assert(fc.property(fc.constant('production'), (environment) => {
23
+ const tag = selectNpmTag(environment);
24
+ return tag === 'latest';
25
+ }), { numRuns: 100 });
26
+ });
27
+ it('should select correct npm tag for any valid environment', () => {
28
+ fc.assert(fc.property(fc.constantFrom('staging', 'production'), (environment) => {
29
+ const tag = selectNpmTag(environment);
30
+ // Verify the mapping is correct
31
+ if (environment === 'staging') {
32
+ return tag === 'beta';
33
+ }
34
+ else if (environment === 'production') {
35
+ return tag === 'latest';
36
+ }
37
+ return false;
38
+ }), { numRuns: 100 });
39
+ });
40
+ it('should always return a valid npm tag (beta or latest)', () => {
41
+ fc.assert(fc.property(fc.constantFrom('staging', 'production'), (environment) => {
42
+ const tag = selectNpmTag(environment);
43
+ // Tag must be one of the valid npm tags
44
+ return tag === 'beta' || tag === 'latest';
45
+ }), { numRuns: 100 });
46
+ });
47
+ it('should be deterministic - same environment always produces same tag', () => {
48
+ fc.assert(fc.property(fc.constantFrom('staging', 'production'), (environment) => {
49
+ const tag1 = selectNpmTag(environment);
50
+ const tag2 = selectNpmTag(environment);
51
+ // Multiple calls with same environment should return same tag
52
+ return tag1 === tag2;
53
+ }), { numRuns: 100 });
54
+ });
55
+ it('should produce different tags for different environments', () => {
56
+ const stagingTag = selectNpmTag('staging');
57
+ const productionTag = selectNpmTag('production');
58
+ // Staging and production should use different tags
59
+ expect(stagingTag).not.toBe(productionTag);
60
+ expect(stagingTag).toBe('beta');
61
+ expect(productionTag).toBe('latest');
62
+ });
63
+ it('should maintain the environment-to-tag mapping invariant', () => {
64
+ fc.assert(fc.property(fc.constantFrom('staging', 'production'), (environment) => {
65
+ const tag = selectNpmTag(environment);
66
+ // The mapping must satisfy the requirement:
67
+ // staging → beta, production → latest
68
+ const expectedTag = environment === 'staging' ? 'beta' : 'latest';
69
+ return tag === expectedTag;
70
+ }), { numRuns: 100 });
71
+ });
72
+ it('should never return undefined or null', () => {
73
+ fc.assert(fc.property(fc.constantFrom('staging', 'production'), (environment) => {
74
+ const tag = selectNpmTag(environment);
75
+ return tag !== undefined && tag !== null && typeof tag === 'string';
76
+ }), { numRuns: 100 });
77
+ });
78
+ });
79
+ //# sourceMappingURL=npm-tag-selection.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-tag-selection.property.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/npm-tag-selection.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Property-based tests for GitLab release title format
3
+ *
4
+ * **Property 6: GitLab Release Title Format**
5
+ * **Validates: Requirements 6.4**
6
+ *
7
+ * For any semantic version number, the generated GitLab release title should follow
8
+ * the format "Release v{MAJOR}.{MINOR}.{PATCH}".
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=release-title-format.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-title-format.property.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/release-title-format.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,422 @@
1
+ /**
2
+ * Property-based tests for GitLab release title format
3
+ *
4
+ * **Property 6: GitLab Release Title Format**
5
+ * **Validates: Requirements 6.4**
6
+ *
7
+ * For any semantic version number, the generated GitLab release title should follow
8
+ * the format "Release v{MAJOR}.{MINOR}.{PATCH}".
9
+ */
10
+ import { describe, it, expect } from '@jest/globals';
11
+ import fc from 'fast-check';
12
+ import { formatReleaseTitle } from '../release-utils.js';
13
+ // Arbitrary generators for property-based testing
14
+ /**
15
+ * Generates a version string in format "MAJOR.MINOR.PATCH"
16
+ */
17
+ const versionStringArb = fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)).map(([major, minor, patch]) => `${major}.${minor}.${patch}`);
18
+ /**
19
+ * Generates a version string with 'v' prefix in format "vMAJOR.MINOR.PATCH"
20
+ */
21
+ const tagNameArb = fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)).map(([major, minor, patch]) => `v${major}.${minor}.${patch}`);
22
+ /**
23
+ * Validates that a release title follows the format "Release v{MAJOR}.{MINOR}.{PATCH}"
24
+ * where each component is a non-negative integer
25
+ */
26
+ function isValidReleaseTitleFormat(title) {
27
+ // Must start with "Release v"
28
+ if (!title.startsWith('Release v')) {
29
+ return false;
30
+ }
31
+ // Extract version part after "Release v"
32
+ const versionPart = title.slice('Release v'.length);
33
+ const parts = versionPart.split('.');
34
+ // Must have exactly 3 parts
35
+ if (parts.length !== 3) {
36
+ return false;
37
+ }
38
+ // Each part must be a non-negative integer
39
+ for (const part of parts) {
40
+ // Must not be empty
41
+ if (part.length === 0) {
42
+ return false;
43
+ }
44
+ // Must be all digits (non-negative integer)
45
+ if (!/^\d+$/.test(part)) {
46
+ return false;
47
+ }
48
+ // Must be a valid number
49
+ const num = parseInt(part, 10);
50
+ if (isNaN(num) || num < 0) {
51
+ return false;
52
+ }
53
+ }
54
+ return true;
55
+ }
56
+ /**
57
+ * Extracts version components from a release title
58
+ */
59
+ function extractVersionComponents(title) {
60
+ if (!title.startsWith('Release v')) {
61
+ return null;
62
+ }
63
+ const versionPart = title.slice('Release v'.length);
64
+ const parts = versionPart.split('.');
65
+ if (parts.length !== 3) {
66
+ return null;
67
+ }
68
+ const major = parseInt(parts[0], 10);
69
+ const minor = parseInt(parts[1], 10);
70
+ const patch = parseInt(parts[2], 10);
71
+ if (isNaN(major) || isNaN(minor) || isNaN(patch)) {
72
+ return null;
73
+ }
74
+ return { major, minor, patch };
75
+ }
76
+ describe('Feature: pipeline-release-support, Property 6: GitLab Release Title Format', () => {
77
+ describe('Format Validation', () => {
78
+ /**
79
+ * For any semantic version, the release title should follow the "Release v{MAJOR}.{MINOR}.{PATCH}" format
80
+ */
81
+ it('should generate release titles in the correct format for any version string', () => {
82
+ fc.assert(fc.property(versionStringArb, (versionString) => {
83
+ const title = formatReleaseTitle(versionString);
84
+ // Property: Title should follow the correct format
85
+ expect(isValidReleaseTitleFormat(title)).toBe(true);
86
+ return true;
87
+ }), { numRuns: 100 });
88
+ });
89
+ /**
90
+ * For any tag name (with v prefix), the release title should follow the correct format
91
+ */
92
+ it('should generate release titles in the correct format for any tag name', () => {
93
+ fc.assert(fc.property(tagNameArb, (tagName) => {
94
+ const title = formatReleaseTitle(tagName);
95
+ // Property: Title should follow the correct format
96
+ expect(isValidReleaseTitleFormat(title)).toBe(true);
97
+ return true;
98
+ }), { numRuns: 100 });
99
+ });
100
+ });
101
+ describe('Prefix Requirement', () => {
102
+ /**
103
+ * For any version, the release title should start with "Release v"
104
+ */
105
+ it('should always start with "Release v" prefix', () => {
106
+ fc.assert(fc.property(versionStringArb, (versionString) => {
107
+ const title = formatReleaseTitle(versionString);
108
+ // Property: Title must start with "Release v"
109
+ expect(title.startsWith('Release v')).toBe(true);
110
+ expect(title.slice(0, 9)).toBe('Release v');
111
+ return true;
112
+ }), { numRuns: 100 });
113
+ });
114
+ /**
115
+ * For any tag name with v prefix, should not duplicate the v in the title
116
+ */
117
+ it('should not duplicate v prefix when tag already has it', () => {
118
+ fc.assert(fc.property(tagNameArb, (tagName) => {
119
+ const title = formatReleaseTitle(tagName);
120
+ // Property: Should have exactly one 'v' after "Release "
121
+ expect(title.startsWith('Release v')).toBe(true);
122
+ expect(title.startsWith('Release vv')).toBe(false);
123
+ return true;
124
+ }), { numRuns: 100 });
125
+ });
126
+ /**
127
+ * For any version string without v prefix, should add it in the title
128
+ */
129
+ it('should add v prefix when version string does not have it', () => {
130
+ fc.assert(fc.property(versionStringArb, (versionString) => {
131
+ const title = formatReleaseTitle(versionString);
132
+ // Property: Should have "Release v" prefix
133
+ expect(title.startsWith('Release v')).toBe(true);
134
+ // Property: Should contain the version after "Release v"
135
+ expect(title).toBe(`Release v${versionString}`);
136
+ return true;
137
+ }), { numRuns: 100 });
138
+ });
139
+ });
140
+ describe('Component Structure', () => {
141
+ /**
142
+ * For any version, the release title should have exactly three numeric components
143
+ */
144
+ it('should have exactly three numeric components separated by dots', () => {
145
+ fc.assert(fc.property(versionStringArb, (versionString) => {
146
+ const title = formatReleaseTitle(versionString);
147
+ // Extract version part after "Release v"
148
+ const versionPart = title.slice('Release v'.length);
149
+ const parts = versionPart.split('.');
150
+ // Property: Must have exactly 3 parts
151
+ expect(parts.length).toBe(3);
152
+ // Property: Each part must be numeric
153
+ for (const part of parts) {
154
+ expect(/^\d+$/.test(part)).toBe(true);
155
+ }
156
+ return true;
157
+ }), { numRuns: 100 });
158
+ });
159
+ /**
160
+ * For any version, each component should be a non-negative integer
161
+ */
162
+ it('should have non-negative integer components', () => {
163
+ fc.assert(fc.property(versionStringArb, (versionString) => {
164
+ const title = formatReleaseTitle(versionString);
165
+ const components = extractVersionComponents(title);
166
+ // Property: Components should be extractable
167
+ expect(components).not.toBeNull();
168
+ // Property: Each component should be non-negative
169
+ expect(components.major).toBeGreaterThanOrEqual(0);
170
+ expect(components.minor).toBeGreaterThanOrEqual(0);
171
+ expect(components.patch).toBeGreaterThanOrEqual(0);
172
+ // Property: Each component should be an integer
173
+ expect(Number.isInteger(components.major)).toBe(true);
174
+ expect(Number.isInteger(components.minor)).toBe(true);
175
+ expect(Number.isInteger(components.patch)).toBe(true);
176
+ return true;
177
+ }), { numRuns: 100 });
178
+ });
179
+ });
180
+ describe('Version Preservation', () => {
181
+ /**
182
+ * For any version string, the title should preserve the exact version numbers
183
+ */
184
+ it('should preserve the exact version numbers in the title', () => {
185
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
186
+ const versionString = `${major}.${minor}.${patch}`;
187
+ const title = formatReleaseTitle(versionString);
188
+ const components = extractVersionComponents(title);
189
+ // Property: Components should match the input version
190
+ expect(components).not.toBeNull();
191
+ expect(components.major).toBe(major);
192
+ expect(components.minor).toBe(minor);
193
+ expect(components.patch).toBe(patch);
194
+ return true;
195
+ }), { numRuns: 100 });
196
+ });
197
+ /**
198
+ * For any tag name, the title should preserve the exact version numbers
199
+ */
200
+ it('should preserve the exact version numbers from tag name', () => {
201
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
202
+ const tagName = `v${major}.${minor}.${patch}`;
203
+ const title = formatReleaseTitle(tagName);
204
+ const components = extractVersionComponents(title);
205
+ // Property: Components should match the input version
206
+ expect(components).not.toBeNull();
207
+ expect(components.major).toBe(major);
208
+ expect(components.minor).toBe(minor);
209
+ expect(components.patch).toBe(patch);
210
+ return true;
211
+ }), { numRuns: 100 });
212
+ });
213
+ /**
214
+ * For any version, the title should be reconstructible to the original version
215
+ */
216
+ it('should allow reconstruction of the original version from the title', () => {
217
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
218
+ const versionString = `${major}.${minor}.${patch}`;
219
+ const title = formatReleaseTitle(versionString);
220
+ // Property: Should be able to reconstruct the version
221
+ const reconstructed = title.slice('Release v'.length);
222
+ expect(reconstructed).toBe(versionString);
223
+ return true;
224
+ }), { numRuns: 100 });
225
+ });
226
+ });
227
+ describe('Edge Cases', () => {
228
+ /**
229
+ * For version 0.0.0, the title should be "Release v0.0.0"
230
+ */
231
+ it('should handle version 0.0.0 correctly', () => {
232
+ const title = formatReleaseTitle('0.0.0');
233
+ // Property: Should follow the format
234
+ expect(isValidReleaseTitleFormat(title)).toBe(true);
235
+ expect(title).toBe('Release v0.0.0');
236
+ });
237
+ /**
238
+ * For any version with zero components, the title should still be valid
239
+ */
240
+ it('should handle versions with zero components', () => {
241
+ fc.assert(fc.property(fc.tuple(fc.constantFrom(0), fc.nat(100), fc.nat(100)), ([major, minor, patch]) => {
242
+ const versionString = `${major}.${minor}.${patch}`;
243
+ const title = formatReleaseTitle(versionString);
244
+ // Property: Should follow the format
245
+ expect(isValidReleaseTitleFormat(title)).toBe(true);
246
+ // Property: Should preserve the zero
247
+ expect(title.startsWith('Release v0.')).toBe(true);
248
+ return true;
249
+ }), { numRuns: 100 });
250
+ });
251
+ /**
252
+ * For large version numbers, the title should still be valid
253
+ */
254
+ it('should handle large version numbers', () => {
255
+ fc.assert(fc.property(fc.tuple(fc.integer({ min: 1000, max: 999999 }), fc.integer({ min: 1000, max: 999999 }), fc.integer({ min: 1000, max: 999999 })), ([major, minor, patch]) => {
256
+ const versionString = `${major}.${minor}.${patch}`;
257
+ const title = formatReleaseTitle(versionString);
258
+ // Property: Should follow the format
259
+ expect(isValidReleaseTitleFormat(title)).toBe(true);
260
+ // Property: Should preserve large numbers
261
+ const components = extractVersionComponents(title);
262
+ expect(components.major).toBe(major);
263
+ expect(components.minor).toBe(minor);
264
+ expect(components.patch).toBe(patch);
265
+ return true;
266
+ }), { numRuns: 100 });
267
+ });
268
+ /**
269
+ * For single-digit components, the title should not add leading zeros
270
+ */
271
+ it('should not add leading zeros to single-digit components', () => {
272
+ fc.assert(fc.property(fc.tuple(fc.integer({ min: 0, max: 9 }), fc.integer({ min: 0, max: 9 }), fc.integer({ min: 0, max: 9 })), ([major, minor, patch]) => {
273
+ const versionString = `${major}.${minor}.${patch}`;
274
+ const title = formatReleaseTitle(versionString);
275
+ // Property: Should not have leading zeros
276
+ const versionPart = title.slice('Release v'.length);
277
+ const parts = versionPart.split('.');
278
+ for (let i = 0; i < parts.length; i++) {
279
+ const part = parts[i];
280
+ const value = [major, minor, patch][i];
281
+ // If value is 0, part should be "0", not "00" or "000"
282
+ // If value is non-zero, part should not start with "0"
283
+ if (value === 0) {
284
+ expect(part).toBe('0');
285
+ }
286
+ else {
287
+ expect(part).toBe(value.toString());
288
+ expect(part.startsWith('0')).toBe(false);
289
+ }
290
+ }
291
+ return true;
292
+ }), { numRuns: 100 });
293
+ });
294
+ });
295
+ describe('Format Consistency', () => {
296
+ /**
297
+ * For any version, the title format should be consistent across multiple calls
298
+ */
299
+ it('should produce consistent format across multiple calls', () => {
300
+ fc.assert(fc.property(versionStringArb, (versionString) => {
301
+ const title1 = formatReleaseTitle(versionString);
302
+ const title2 = formatReleaseTitle(versionString);
303
+ const title3 = formatReleaseTitle(versionString);
304
+ // Property: Multiple calls should produce identical results
305
+ expect(title1).toBe(title2);
306
+ expect(title2).toBe(title3);
307
+ return true;
308
+ }), { numRuns: 100 });
309
+ });
310
+ /**
311
+ * For any version, both input formats (with and without v) should produce the same title
312
+ */
313
+ it('should produce same title from version string and tag name', () => {
314
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
315
+ const versionString = `${major}.${minor}.${patch}`;
316
+ const tagName = `v${major}.${minor}.${patch}`;
317
+ const titleFromVersion = formatReleaseTitle(versionString);
318
+ const titleFromTag = formatReleaseTitle(tagName);
319
+ // Property: Both input formats should produce identical titles
320
+ expect(titleFromVersion).toBe(titleFromTag);
321
+ return true;
322
+ }), { numRuns: 100 });
323
+ });
324
+ });
325
+ describe('No Extra Characters', () => {
326
+ /**
327
+ * For any version, the title should not contain extra characters
328
+ */
329
+ it('should not contain any extra characters beyond the format', () => {
330
+ fc.assert(fc.property(versionStringArb, (versionString) => {
331
+ const title = formatReleaseTitle(versionString);
332
+ // Property: Should match the exact format with no extras
333
+ const expectedPattern = /^Release v\d+\.\d+\.\d+$/;
334
+ expect(title).toMatch(expectedPattern);
335
+ // Property: Should not contain extra spaces, hyphens, or other characters
336
+ expect(title.split(' ').length).toBe(2); // Only "Release" and "v{version}"
337
+ expect(title).not.toContain('-');
338
+ expect(title).not.toContain('_');
339
+ expect(title).not.toContain('+');
340
+ expect(title).not.toContain('\n');
341
+ expect(title).not.toContain('\t');
342
+ return true;
343
+ }), { numRuns: 100 });
344
+ });
345
+ /**
346
+ * For any version, the title should have the exact expected length
347
+ */
348
+ it('should have the expected length based on component digits', () => {
349
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
350
+ const versionString = `${major}.${minor}.${patch}`;
351
+ const title = formatReleaseTitle(versionString);
352
+ // Calculate expected length: "Release v" + digits + 2 dots
353
+ const majorDigits = major.toString().length;
354
+ const minorDigits = minor.toString().length;
355
+ const patchDigits = patch.toString().length;
356
+ const expectedLength = 'Release v'.length + majorDigits + 1 + minorDigits + 1 + patchDigits;
357
+ // Property: Length should match expected
358
+ expect(title.length).toBe(expectedLength);
359
+ return true;
360
+ }), { numRuns: 100 });
361
+ });
362
+ });
363
+ describe('Regex Pattern Matching', () => {
364
+ /**
365
+ * For any version, the title should match the standard release title pattern
366
+ */
367
+ it('should match the standard release title pattern', () => {
368
+ fc.assert(fc.property(versionStringArb, (versionString) => {
369
+ const title = formatReleaseTitle(versionString);
370
+ // Property: Should match the release title pattern
371
+ const releaseTitlePattern = /^Release v\d+\.\d+\.\d+$/;
372
+ expect(title).toMatch(releaseTitlePattern);
373
+ return true;
374
+ }), { numRuns: 100 });
375
+ });
376
+ /**
377
+ * For any tag name, the title should match the standard release title pattern
378
+ */
379
+ it('should match the standard release title pattern for tag names', () => {
380
+ fc.assert(fc.property(tagNameArb, (tagName) => {
381
+ const title = formatReleaseTitle(tagName);
382
+ // Property: Should match the release title pattern
383
+ const releaseTitlePattern = /^Release v\d+\.\d+\.\d+$/;
384
+ expect(title).toMatch(releaseTitlePattern);
385
+ return true;
386
+ }), { numRuns: 100 });
387
+ });
388
+ });
389
+ describe('Requirement Validation', () => {
390
+ /**
391
+ * Validates Requirement 6.4: Release title should contain version number
392
+ */
393
+ it('should mark the release with the version number as the title (Requirement 6.4)', () => {
394
+ fc.assert(fc.property(fc.tuple(fc.nat(1000), fc.nat(1000), fc.nat(1000)), ([major, minor, patch]) => {
395
+ const versionString = `${major}.${minor}.${patch}`;
396
+ const title = formatReleaseTitle(versionString);
397
+ // Property: Title must contain the version number
398
+ expect(title).toContain(versionString);
399
+ // Property: Title must be in the format "Release v{version}"
400
+ expect(title).toBe(`Release v${versionString}`);
401
+ return true;
402
+ }), { numRuns: 100 });
403
+ });
404
+ /**
405
+ * Validates that the title format is suitable for GitLab releases
406
+ */
407
+ it('should produce titles suitable for GitLab release API', () => {
408
+ fc.assert(fc.property(versionStringArb, (versionString) => {
409
+ const title = formatReleaseTitle(versionString);
410
+ // Property: Title should be a non-empty string
411
+ expect(title.length).toBeGreaterThan(0);
412
+ // Property: Title should be human-readable
413
+ expect(title.startsWith('Release')).toBe(true);
414
+ // Property: Title should contain version information
415
+ expect(title).toContain('v');
416
+ expect(title).toContain('.');
417
+ return true;
418
+ }), { numRuns: 100 });
419
+ });
420
+ });
421
+ });
422
+ //# sourceMappingURL=release-title-format.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-title-format.property.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/release-title-format.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Unit Tests for GitLab Release Utilities
3
+ *
4
+ * Tests the functions used for creating GitLab releases.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=release-utils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-utils.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/release-utils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}