@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,396 @@
1
+ /**
2
+ * Property-based tests for conventional commit parsing
3
+ *
4
+ * **Property 9: Conventional Commit Parsing**
5
+ * **Validates: Requirements 7.3**
6
+ *
7
+ * For any commit message following the conventional commit format "type(scope): message",
8
+ * the changelog generator should correctly extract the type, optional scope, and message components.
9
+ */
10
+ import { describe, it, expect } from '@jest/globals';
11
+ import fc from 'fast-check';
12
+ import { parseConventionalCommit, COMMIT_TYPES, } from '../changelog-utils.js';
13
+ // Arbitrary generators for property-based testing
14
+ /**
15
+ * Generates a valid commit type
16
+ */
17
+ const commitTypeArb = fc.constantFrom(...COMMIT_TYPES);
18
+ /**
19
+ * Generates a valid scope (alphanumeric with hyphens)
20
+ */
21
+ const scopeArb = fc.stringMatching(/^[a-z][a-z0-9-]{0,20}$/);
22
+ /**
23
+ * Generates a commit message (non-empty string)
24
+ */
25
+ const messageArb = fc.string({ minLength: 1, maxLength: 100 }).filter(s => s.trim().length > 0);
26
+ describe('Feature: pipeline-release-support, Property 9: Conventional Commit Parsing', () => {
27
+ describe('Type Extraction', () => {
28
+ /**
29
+ * For any valid commit type and message, parsing should correctly extract the type
30
+ */
31
+ it('should correctly extract type from commit without scope', () => {
32
+ fc.assert(fc.property(commitTypeArb, messageArb, (type, message) => {
33
+ // Format: type: message
34
+ const commit = `${type}: ${message}`;
35
+ const parsed = parseConventionalCommit(commit);
36
+ // Property: Should successfully parse
37
+ expect(parsed).not.toBeNull();
38
+ // Property: Extracted type should match the input type
39
+ expect(parsed?.type).toBe(type);
40
+ // Property: Scope should be undefined when not provided
41
+ expect(parsed?.scope).toBeUndefined();
42
+ // Property: Message should match the input message
43
+ expect(parsed?.message).toBe(message);
44
+ return true;
45
+ }), { numRuns: 100 });
46
+ });
47
+ /**
48
+ * For any valid commit type with scope and message, parsing should correctly extract the type
49
+ */
50
+ it('should correctly extract type from commit with scope', () => {
51
+ fc.assert(fc.property(commitTypeArb, scopeArb, messageArb, (type, scope, message) => {
52
+ // Format: type(scope): message
53
+ const commit = `${type}(${scope}): ${message}`;
54
+ const parsed = parseConventionalCommit(commit);
55
+ // Property: Should successfully parse
56
+ expect(parsed).not.toBeNull();
57
+ // Property: Extracted type should match the input type
58
+ expect(parsed?.type).toBe(type);
59
+ return true;
60
+ }), { numRuns: 100 });
61
+ });
62
+ /**
63
+ * Type extraction should be case-sensitive (lowercase only per spec)
64
+ */
65
+ it('should reject commits with uppercase or mixed-case types', () => {
66
+ fc.assert(fc.property(fc.constantFrom('FEAT', 'Fix', 'Chore', 'DOCS', 'Refactor'), messageArb, (invalidType, message) => {
67
+ const commit = `${invalidType}: ${message}`;
68
+ const parsed = parseConventionalCommit(commit);
69
+ // Property: Should return null for non-lowercase types
70
+ expect(parsed).toBeNull();
71
+ return true;
72
+ }), { numRuns: 100 });
73
+ });
74
+ });
75
+ describe('Scope Extraction', () => {
76
+ /**
77
+ * For any commit with a scope, parsing should correctly extract the scope
78
+ */
79
+ it('should correctly extract scope when present', () => {
80
+ fc.assert(fc.property(commitTypeArb, scopeArb, messageArb, (type, scope, message) => {
81
+ // Format: type(scope): message
82
+ const commit = `${type}(${scope}): ${message}`;
83
+ const parsed = parseConventionalCommit(commit);
84
+ // Property: Should successfully parse
85
+ expect(parsed).not.toBeNull();
86
+ // Property: Extracted scope should match the input scope
87
+ expect(parsed?.scope).toBe(scope);
88
+ return true;
89
+ }), { numRuns: 100 });
90
+ });
91
+ /**
92
+ * For any commit without a scope, parsing should set scope to undefined
93
+ */
94
+ it('should set scope to undefined when not present', () => {
95
+ fc.assert(fc.property(commitTypeArb, messageArb, (type, message) => {
96
+ // Format: type: message (no scope)
97
+ const commit = `${type}: ${message}`;
98
+ const parsed = parseConventionalCommit(commit);
99
+ // Property: Should successfully parse
100
+ expect(parsed).not.toBeNull();
101
+ // Property: Scope should be undefined
102
+ expect(parsed?.scope).toBeUndefined();
103
+ return true;
104
+ }), { numRuns: 100 });
105
+ });
106
+ /**
107
+ * Scope can contain various valid characters
108
+ */
109
+ it('should handle scopes with hyphens and numbers', () => {
110
+ fc.assert(fc.property(commitTypeArb, fc.constantFrom('api', 'ui-component', 'auth-service', 'v2', 'module-1', 'core-utils'), messageArb, (type, scope, message) => {
111
+ const commit = `${type}(${scope}): ${message}`;
112
+ const parsed = parseConventionalCommit(commit);
113
+ // Property: Should successfully parse
114
+ expect(parsed).not.toBeNull();
115
+ // Property: Scope should be extracted correctly
116
+ expect(parsed?.scope).toBe(scope);
117
+ return true;
118
+ }), { numRuns: 100 });
119
+ });
120
+ /**
121
+ * Empty scope should be rejected
122
+ */
123
+ it('should reject commits with empty scope', () => {
124
+ fc.assert(fc.property(commitTypeArb, messageArb, (type, message) => {
125
+ // Format: type(): message (empty scope)
126
+ const commit = `${type}(): ${message}`;
127
+ const parsed = parseConventionalCommit(commit);
128
+ // Property: Should return null for empty scope
129
+ expect(parsed).toBeNull();
130
+ return true;
131
+ }), { numRuns: 100 });
132
+ });
133
+ });
134
+ describe('Message Extraction', () => {
135
+ /**
136
+ * For any valid commit, parsing should correctly extract the message
137
+ */
138
+ it('should correctly extract message from commit without scope', () => {
139
+ fc.assert(fc.property(commitTypeArb, messageArb, (type, message) => {
140
+ // Format: type: message
141
+ const commit = `${type}: ${message}`;
142
+ const parsed = parseConventionalCommit(commit);
143
+ // Property: Should successfully parse
144
+ expect(parsed).not.toBeNull();
145
+ // Property: Extracted message should match the input message
146
+ expect(parsed?.message).toBe(message);
147
+ return true;
148
+ }), { numRuns: 100 });
149
+ });
150
+ /**
151
+ * For any valid commit with scope, parsing should correctly extract the message
152
+ */
153
+ it('should correctly extract message from commit with scope', () => {
154
+ fc.assert(fc.property(commitTypeArb, scopeArb, messageArb, (type, scope, message) => {
155
+ // Format: type(scope): message
156
+ const commit = `${type}(${scope}): ${message}`;
157
+ const parsed = parseConventionalCommit(commit);
158
+ // Property: Should successfully parse
159
+ expect(parsed).not.toBeNull();
160
+ // Property: Extracted message should match the input message
161
+ expect(parsed?.message).toBe(message);
162
+ return true;
163
+ }), { numRuns: 100 });
164
+ });
165
+ /**
166
+ * Message can contain special characters and punctuation
167
+ */
168
+ it('should handle messages with special characters', () => {
169
+ fc.assert(fc.property(commitTypeArb, fc.constantFrom('add support for @mentions', 'fix issue #123', 'update version to 1.2.3', 'remove deprecated API (breaking)', 'add feature: new component', 'fix: nested colons work', 'update [config] settings', 'add {new} syntax support'), (type, message) => {
170
+ const commit = `${type}: ${message}`;
171
+ const parsed = parseConventionalCommit(commit);
172
+ // Property: Should successfully parse
173
+ expect(parsed).not.toBeNull();
174
+ // Property: Message should be preserved exactly
175
+ expect(parsed?.message).toBe(message);
176
+ return true;
177
+ }), { numRuns: 100 });
178
+ });
179
+ /**
180
+ * Message must not be empty
181
+ */
182
+ it('should reject commits with empty message', () => {
183
+ fc.assert(fc.property(commitTypeArb, (type) => {
184
+ // Format: type: (empty message - just space)
185
+ const commit = `${type}: `;
186
+ const parsed = parseConventionalCommit(commit);
187
+ // Property: Should return null for empty message
188
+ expect(parsed).toBeNull();
189
+ return true;
190
+ }), { numRuns: 100 });
191
+ });
192
+ /**
193
+ * Message can contain multiple words and spaces
194
+ */
195
+ it('should preserve spaces and multiple words in message', () => {
196
+ fc.assert(fc.property(commitTypeArb, fc.array(fc.string({ minLength: 1, maxLength: 20 }), { minLength: 2, maxLength: 10 })
197
+ .map(words => words.join(' '))
198
+ .filter(s => s.trim().length > 0), (type, message) => {
199
+ const commit = `${type}: ${message}`;
200
+ const parsed = parseConventionalCommit(commit);
201
+ // Property: Should successfully parse
202
+ expect(parsed).not.toBeNull();
203
+ // Property: Message should preserve all spaces
204
+ expect(parsed?.message).toBe(message);
205
+ return true;
206
+ }), { numRuns: 100 });
207
+ });
208
+ });
209
+ describe('Complete Parsing', () => {
210
+ /**
211
+ * For any valid conventional commit, all components should be extracted correctly
212
+ */
213
+ it('should extract all components correctly from complete commit', () => {
214
+ fc.assert(fc.property(commitTypeArb, fc.option(scopeArb, { nil: undefined }), messageArb, (type, scope, message) => {
215
+ // Build commit with or without scope
216
+ const scopePart = scope ? `(${scope})` : '';
217
+ const commit = `${type}${scopePart}: ${message}`;
218
+ const parsed = parseConventionalCommit(commit);
219
+ // Property: Should successfully parse
220
+ expect(parsed).not.toBeNull();
221
+ // Property: All components should match
222
+ expect(parsed?.type).toBe(type);
223
+ expect(parsed?.scope).toBe(scope);
224
+ expect(parsed?.message).toBe(message);
225
+ // Property: Raw should preserve original commit
226
+ expect(parsed?.raw).toBe(commit);
227
+ return true;
228
+ }), { numRuns: 100 });
229
+ });
230
+ /**
231
+ * Parsing should handle commits with breaking change marker
232
+ */
233
+ it('should extract components correctly from commits with breaking change marker', () => {
234
+ fc.assert(fc.property(commitTypeArb, fc.option(scopeArb, { nil: undefined }), messageArb, (type, scope, message) => {
235
+ // Build commit with breaking change marker
236
+ const scopePart = scope ? `(${scope})` : '';
237
+ const commit = `${type}${scopePart}!: ${message}`;
238
+ const parsed = parseConventionalCommit(commit);
239
+ // Property: Should successfully parse
240
+ expect(parsed).not.toBeNull();
241
+ // Property: All components should match (excluding the !)
242
+ expect(parsed?.type).toBe(type);
243
+ expect(parsed?.scope).toBe(scope);
244
+ expect(parsed?.message).toBe(message);
245
+ // Property: Breaking flag should be set
246
+ expect(parsed?.breaking).toBe(true);
247
+ return true;
248
+ }), { numRuns: 100 });
249
+ });
250
+ /**
251
+ * Parsing should handle multi-line commits (with body)
252
+ */
253
+ it('should extract header components from multi-line commits', () => {
254
+ fc.assert(fc.property(commitTypeArb, fc.option(scopeArb, { nil: undefined }), messageArb, fc.string({ minLength: 10, maxLength: 200 }), (type, scope, message, body) => {
255
+ // Build multi-line commit
256
+ const scopePart = scope ? `(${scope})` : '';
257
+ const commit = `${type}${scopePart}: ${message}\n\n${body}`;
258
+ const parsed = parseConventionalCommit(commit);
259
+ // Property: Should successfully parse
260
+ expect(parsed).not.toBeNull();
261
+ // Property: Header components should be extracted correctly
262
+ expect(parsed?.type).toBe(type);
263
+ expect(parsed?.scope).toBe(scope);
264
+ expect(parsed?.message).toBe(message);
265
+ // Property: Raw should include the full commit
266
+ expect(parsed?.raw).toBe(commit);
267
+ return true;
268
+ }), { numRuns: 100 });
269
+ });
270
+ });
271
+ describe('Invalid Format Rejection', () => {
272
+ /**
273
+ * Parsing should reject commits that don't follow the format
274
+ */
275
+ it('should return null for commits missing colon', () => {
276
+ fc.assert(fc.property(commitTypeArb, messageArb, (type, message) => {
277
+ // Missing colon
278
+ const commit = `${type} ${message}`;
279
+ const parsed = parseConventionalCommit(commit);
280
+ // Property: Should return null
281
+ expect(parsed).toBeNull();
282
+ return true;
283
+ }), { numRuns: 100 });
284
+ });
285
+ /**
286
+ * Parsing should reject commits missing space after colon
287
+ */
288
+ it('should return null for commits missing space after colon', () => {
289
+ fc.assert(fc.property(commitTypeArb,
290
+ // Use a message that doesn't start with space to ensure no space after colon
291
+ fc.string({ minLength: 1, maxLength: 100 }).filter(s => s.length > 0 && s[0] !== ' '), (type, message) => {
292
+ // No space after colon
293
+ const commit = `${type}:${message}`;
294
+ const parsed = parseConventionalCommit(commit);
295
+ // Property: Should return null
296
+ expect(parsed).toBeNull();
297
+ return true;
298
+ }), { numRuns: 100 });
299
+ });
300
+ /**
301
+ * Parsing should reject completely invalid formats
302
+ */
303
+ it('should return null for non-conventional commit messages', () => {
304
+ const invalidCommits = [
305
+ 'just a regular commit message',
306
+ 'Fix: capitalized type',
307
+ 'feat missing colon',
308
+ 'feat:no space after colon',
309
+ '',
310
+ 'feat(): empty scope',
311
+ 'feat: ',
312
+ '123: numbers as type',
313
+ 'feat(scope: missing closing paren',
314
+ 'feat)scope(: wrong order',
315
+ ];
316
+ invalidCommits.forEach(commit => {
317
+ const parsed = parseConventionalCommit(commit);
318
+ // Property: Should return null for invalid formats
319
+ expect(parsed).toBeNull();
320
+ });
321
+ });
322
+ /**
323
+ * Parsing should handle null and undefined inputs gracefully
324
+ */
325
+ it('should return null for null or undefined input', () => {
326
+ expect(parseConventionalCommit(null)).toBeNull();
327
+ expect(parseConventionalCommit(undefined)).toBeNull();
328
+ expect(parseConventionalCommit('')).toBeNull();
329
+ });
330
+ });
331
+ describe('Edge Cases', () => {
332
+ /**
333
+ * Parsing should handle very long messages
334
+ */
335
+ it('should handle very long messages', () => {
336
+ fc.assert(fc.property(commitTypeArb, fc.string({ minLength: 100, maxLength: 500 }).filter(s => s.trim().length > 0), (type, longMessage) => {
337
+ const commit = `${type}: ${longMessage}`;
338
+ const parsed = parseConventionalCommit(commit);
339
+ // Property: Should successfully parse
340
+ expect(parsed).not.toBeNull();
341
+ // Property: Message should be preserved completely
342
+ expect(parsed?.message).toBe(longMessage);
343
+ return true;
344
+ }), { numRuns: 100 });
345
+ });
346
+ /**
347
+ * Parsing should handle messages with leading/trailing spaces
348
+ */
349
+ it('should preserve leading/trailing spaces in message', () => {
350
+ fc.assert(fc.property(commitTypeArb, fc.string({ minLength: 1, maxLength: 50 }).filter(s => s.trim().length > 0), fc.nat(5), fc.nat(5), (type, message, leadingSpaces, trailingSpaces) => {
351
+ const paddedMessage = ' '.repeat(leadingSpaces) + message + ' '.repeat(trailingSpaces);
352
+ const commit = `${type}: ${paddedMessage}`;
353
+ const parsed = parseConventionalCommit(commit);
354
+ // Property: Should successfully parse
355
+ expect(parsed).not.toBeNull();
356
+ // Property: Message should preserve padding
357
+ expect(parsed?.message).toBe(paddedMessage);
358
+ return true;
359
+ }), { numRuns: 100 });
360
+ });
361
+ /**
362
+ * Parsing should handle scope with various valid characters
363
+ */
364
+ it('should handle complex but valid scopes', () => {
365
+ fc.assert(fc.property(commitTypeArb, fc.constantFrom('a', 'api-v2', 'ui-component-library', 'auth-service-v3', 'module123', 'core-utils-2024'), messageArb, (type, scope, message) => {
366
+ const commit = `${type}(${scope}): ${message}`;
367
+ const parsed = parseConventionalCommit(commit);
368
+ // Property: Should successfully parse
369
+ expect(parsed).not.toBeNull();
370
+ // Property: Scope should be extracted correctly
371
+ expect(parsed?.scope).toBe(scope);
372
+ return true;
373
+ }), { numRuns: 100 });
374
+ });
375
+ });
376
+ describe('Idempotency', () => {
377
+ /**
378
+ * Parsing the same commit multiple times should produce identical results
379
+ */
380
+ it('should produce identical results when parsing the same commit multiple times', () => {
381
+ fc.assert(fc.property(commitTypeArb, fc.option(scopeArb, { nil: undefined }), messageArb, (type, scope, message) => {
382
+ const scopePart = scope ? `(${scope})` : '';
383
+ const commit = `${type}${scopePart}: ${message}`;
384
+ // Parse multiple times
385
+ const parsed1 = parseConventionalCommit(commit);
386
+ const parsed2 = parseConventionalCommit(commit);
387
+ const parsed3 = parseConventionalCommit(commit);
388
+ // Property: All results should be identical
389
+ expect(parsed1).toEqual(parsed2);
390
+ expect(parsed2).toEqual(parsed3);
391
+ return true;
392
+ }), { numRuns: 100 });
393
+ });
394
+ });
395
+ });
396
+ //# sourceMappingURL=changelog-commit-parsing.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog-commit-parsing.property.test.js","sourceRoot":"","sources":["../../../src/version/__tests__/changelog-commit-parsing.property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Property-based tests for changelog file updates
3
+ *
4
+ * **Property 10: Changelog File Update Idempotence**
5
+ * **Validates: Requirements 7.4, 7.5**
6
+ *
7
+ * For any existing CHANGELOG.md file, adding a new version section should preserve
8
+ * all existing version sections and place the new section at the top.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=changelog-file-updates.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog-file-updates.property.test.d.ts","sourceRoot":"","sources":["../../../src/version/__tests__/changelog-file-updates.property.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}