keep-a-changelog 2.4.1 → 2.5.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 (177) hide show
  1. package/CHANGELOG.md +20 -6
  2. package/README.md +3 -2
  3. package/esm/bin.js +19 -20
  4. package/esm/src/Changelog.d.ts +2 -0
  5. package/esm/src/Changelog.js +17 -0
  6. package/esm/src/deps.d.ts +2 -2
  7. package/esm/src/deps.js +1 -1
  8. package/esm/src/settings.d.ts +17 -0
  9. package/esm/src/settings.js +47 -0
  10. package/package.json +1 -1
  11. package/script/bin.js +22 -20
  12. package/script/src/Changelog.d.ts +2 -0
  13. package/script/src/Changelog.js +17 -0
  14. package/script/src/deps.d.ts +2 -2
  15. package/script/src/deps.js +1 -1
  16. package/script/src/settings.d.ts +17 -0
  17. package/script/src/settings.js +51 -0
  18. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/_shared.d.ts +0 -0
  19. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/_shared.js +0 -0
  20. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/cmp.d.ts +0 -0
  21. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/cmp.js +0 -0
  22. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_format.d.ts +0 -0
  23. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_format.js +0 -0
  24. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_intersects.d.ts +0 -0
  25. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_intersects.js +0 -0
  26. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_max.d.ts +0 -0
  27. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_max.js +0 -0
  28. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_min.d.ts +0 -0
  29. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_min.js +0 -0
  30. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare.d.ts +0 -0
  31. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare.js +0 -0
  32. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare_build.d.ts +0 -0
  33. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare_build.js +0 -0
  34. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/constants.d.ts +0 -0
  35. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/constants.js +0 -0
  36. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/difference.d.ts +0 -0
  37. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/difference.js +0 -0
  38. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/eq.d.ts +0 -0
  39. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/eq.js +0 -0
  40. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/format.d.ts +0 -0
  41. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/format.js +0 -0
  42. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gt.d.ts +0 -0
  43. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gt.js +0 -0
  44. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gte.d.ts +0 -0
  45. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gte.js +0 -0
  46. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gtr.d.ts +0 -0
  47. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gtr.js +0 -0
  48. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/increment.d.ts +0 -0
  49. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/increment.js +0 -0
  50. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver.d.ts +0 -0
  51. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver.js +0 -0
  52. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_comparator.d.ts +0 -0
  53. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_comparator.js +0 -0
  54. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_range.d.ts +0 -0
  55. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_range.js +0 -0
  56. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lt.d.ts +0 -0
  57. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lt.js +0 -0
  58. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lte.d.ts +0 -0
  59. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lte.js +0 -0
  60. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/ltr.d.ts +0 -0
  61. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/ltr.js +0 -0
  62. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/max_satisfying.d.ts +0 -0
  63. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/max_satisfying.js +0 -0
  64. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/min_satisfying.d.ts +0 -0
  65. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/min_satisfying.js +0 -0
  66. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/mod.d.ts +0 -0
  67. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/mod.js +0 -0
  68. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/neq.d.ts +0 -0
  69. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/neq.js +0 -0
  70. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/outside.d.ts +0 -0
  71. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/outside.js +0 -0
  72. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse.d.ts +0 -0
  73. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse.js +0 -0
  74. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_comparator.d.ts +0 -0
  75. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_comparator.js +0 -0
  76. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_range.d.ts +0 -0
  77. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_range.js +0 -0
  78. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_format.d.ts +0 -0
  79. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_format.js +0 -0
  80. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_intersects.d.ts +0 -0
  81. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_intersects.js +0 -0
  82. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_max.d.ts +0 -0
  83. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_max.js +0 -0
  84. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_min.d.ts +0 -0
  85. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_min.js +0 -0
  86. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rcompare.d.ts +0 -0
  87. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rcompare.js +0 -0
  88. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rsort.d.ts +0 -0
  89. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rsort.js +0 -0
  90. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/sort.d.ts +0 -0
  91. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/sort.js +0 -0
  92. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_comparator.d.ts +0 -0
  93. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_comparator.js +0 -0
  94. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_range.d.ts +0 -0
  95. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_range.js +0 -0
  96. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/types.d.ts +0 -0
  97. /package/esm/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/types.js +0 -0
  98. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/_shared.d.ts +0 -0
  99. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/_shared.js +0 -0
  100. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/cmp.d.ts +0 -0
  101. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/cmp.js +0 -0
  102. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_format.d.ts +0 -0
  103. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_format.js +0 -0
  104. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_intersects.d.ts +0 -0
  105. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_intersects.js +0 -0
  106. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_max.d.ts +0 -0
  107. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_max.js +0 -0
  108. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_min.d.ts +0 -0
  109. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/comparator_min.js +0 -0
  110. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare.d.ts +0 -0
  111. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare.js +0 -0
  112. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare_build.d.ts +0 -0
  113. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/compare_build.js +0 -0
  114. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/constants.d.ts +0 -0
  115. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/constants.js +0 -0
  116. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/difference.d.ts +0 -0
  117. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/difference.js +0 -0
  118. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/eq.d.ts +0 -0
  119. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/eq.js +0 -0
  120. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/format.d.ts +0 -0
  121. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/format.js +0 -0
  122. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gt.d.ts +0 -0
  123. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gt.js +0 -0
  124. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gte.d.ts +0 -0
  125. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gte.js +0 -0
  126. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gtr.d.ts +0 -0
  127. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/gtr.js +0 -0
  128. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/increment.d.ts +0 -0
  129. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/increment.js +0 -0
  130. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver.d.ts +0 -0
  131. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver.js +0 -0
  132. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_comparator.d.ts +0 -0
  133. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_comparator.js +0 -0
  134. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_range.d.ts +0 -0
  135. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/is_semver_range.js +0 -0
  136. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lt.d.ts +0 -0
  137. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lt.js +0 -0
  138. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lte.d.ts +0 -0
  139. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/lte.js +0 -0
  140. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/ltr.d.ts +0 -0
  141. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/ltr.js +0 -0
  142. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/max_satisfying.d.ts +0 -0
  143. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/max_satisfying.js +0 -0
  144. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/min_satisfying.d.ts +0 -0
  145. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/min_satisfying.js +0 -0
  146. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/mod.d.ts +0 -0
  147. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/mod.js +0 -0
  148. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/neq.d.ts +0 -0
  149. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/neq.js +0 -0
  150. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/outside.d.ts +0 -0
  151. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/outside.js +0 -0
  152. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse.d.ts +0 -0
  153. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse.js +0 -0
  154. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_comparator.d.ts +0 -0
  155. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_comparator.js +0 -0
  156. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_range.d.ts +0 -0
  157. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/parse_range.js +0 -0
  158. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_format.d.ts +0 -0
  159. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_format.js +0 -0
  160. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_intersects.d.ts +0 -0
  161. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_intersects.js +0 -0
  162. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_max.d.ts +0 -0
  163. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_max.js +0 -0
  164. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_min.d.ts +0 -0
  165. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/range_min.js +0 -0
  166. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rcompare.d.ts +0 -0
  167. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rcompare.js +0 -0
  168. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rsort.d.ts +0 -0
  169. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/rsort.js +0 -0
  170. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/sort.d.ts +0 -0
  171. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/sort.js +0 -0
  172. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_comparator.d.ts +0 -0
  173. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_comparator.js +0 -0
  174. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_range.d.ts +0 -0
  175. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/test_range.js +0 -0
  176. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/types.d.ts +0 -0
  177. /package/script/deps/deno.land/{std@0.203.0 → std@0.205.0}/semver/types.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,16 +1,26 @@
1
- <!-- deno-fmt-ignore-file -->
2
-
3
1
  # Changelog
4
2
  All notable changes to this project will be documented in this file.
5
3
 
6
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/)
7
5
  and this project adheres to [Semantic Versioning](https://semver.org/).
8
6
 
9
- ## [3.4.1] - 2023-10-10
7
+ ## [2.5.0] - 2023-11-07
8
+ ### Added
9
+ - Automatic detection of github and gitlab urls and build the links accordingly [#35]
10
+ - New option --head to set the HEAD name [#37]
11
+
12
+ ### Changed
13
+ - Deprecated function `compareLinkBuilder`, use `tagLinkBuilder` instead
14
+
15
+ ### Fixed
16
+ - Trailing slash of the remote url is now removed [#36]
17
+ - Updated dependencies
18
+
19
+ ## [2.4.1] - 2023-10-10
10
20
  ### Fixed
11
21
  - Breaking changes after updating `semver` package
12
22
 
13
- ## [3.4.0] - 2023-10-10
23
+ ## [2.4.0] - 2023-10-10
14
24
  ### Added
15
25
  - New function `compareLinkBuilder` [#33].
16
26
 
@@ -65,9 +75,13 @@ New version merging Deno and Node code using Deno's `dnt` package.
65
75
  [#30]: https://github.com/oscarotero/keep-a-changelog/issues/30
66
76
  [#31]: https://github.com/oscarotero/keep-a-changelog/issues/31
67
77
  [#33]: https://github.com/oscarotero/keep-a-changelog/issues/33
78
+ [#35]: https://github.com/oscarotero/keep-a-changelog/issues/35
79
+ [#36]: https://github.com/oscarotero/keep-a-changelog/issues/36
80
+ [#37]: https://github.com/oscarotero/keep-a-changelog/issues/37
68
81
 
69
- [3.4.1]: https://github.com/oscarotero/keep-a-changelog/compare/v3.4.0...v3.4.1
70
- [3.4.0]: https://github.com/oscarotero/keep-a-changelog/compare/v2.3.0...v3.4.0
82
+ [2.5.0]: https://github.com/oscarotero/keep-a-changelog/compare/v2.4.1...v2.5.0
83
+ [2.4.1]: https://github.com/oscarotero/keep-a-changelog/compare/v2.4.0...v2.4.1
84
+ [2.4.0]: https://github.com/oscarotero/keep-a-changelog/compare/v2.3.0...v2.4.0
71
85
  [2.3.0]: https://github.com/oscarotero/keep-a-changelog/compare/v2.2.1...v2.3.0
72
86
  [2.2.1]: https://github.com/oscarotero/keep-a-changelog/compare/v2.2.0...v2.2.1
73
87
  [2.2.0]: https://github.com/oscarotero/keep-a-changelog/compare/v2.1.0...v2.2.0
package/README.md CHANGED
@@ -139,7 +139,7 @@ It reads the CHANGELOG.md file and override it with the new format:
139
139
  Deno:
140
140
 
141
141
  ```sh
142
- deno install --allow-read --allow-write --name changelog https://deno.land/x/changelog/bin.ts
142
+ deno install --allow-read --allow-write -fr --name changelog https://deno.land/x/changelog/bin.ts
143
143
  ```
144
144
 
145
145
  Node:
@@ -182,7 +182,7 @@ And return the latest released version:
182
182
 
183
183
  ```sh
184
184
  changelog --latest-release
185
- > 0.3.1
185
+ > 2.0.0
186
186
  ```
187
187
 
188
188
  Available options:
@@ -198,3 +198,4 @@ Available options:
198
198
  | `--release` | Updated the latest unreleased version with the current date. Use `--release=X.Y.Z` to set a number if the version doesn't have it. |
199
199
  | `--create` | Create a new Unreleased version. Use `--create=X.Y.Z` to specify a version number or just `--create` for a version without number. |
200
200
  | `--quiet` | Do not output error messages |
201
+ | `--head` | Customize the `head` reference |
package/esm/bin.js CHANGED
@@ -5,6 +5,7 @@ import { join } from "./deps/deno.land/std@0.189.0/path/mod.js";
5
5
  import { Changelog, parser, Release } from "./mod.js";
6
6
  import { parse as parseFlag } from "./deps/deno.land/std@0.189.0/flags/mod.js";
7
7
  import { parse as parseIni } from "./deps/deno.land/x/ini@v2.1.0/mod.js";
8
+ import getSettingsForURL from "./src/settings.js";
8
9
  const argv = parseFlag(dntShim.Deno.args, {
9
10
  default: {
10
11
  file: "CHANGELOG.md",
@@ -14,8 +15,9 @@ const argv = parseFlag(dntShim.Deno.args, {
14
15
  url: null,
15
16
  https: true,
16
17
  quiet: false,
18
+ head: null,
17
19
  },
18
- string: ["file", "format", "url"],
20
+ string: ["file", "format", "url", "head"],
19
21
  boolean: ["https", "init", "latest-release", "quiet"],
20
22
  });
21
23
  const file = join(dntShim.Deno.cwd(), argv.file);
@@ -60,21 +62,6 @@ try {
60
62
  const version = typeof argv.create === "string" ? argv.create : undefined;
61
63
  changelog.addRelease(new Release(version));
62
64
  }
63
- if (!changelog.url) {
64
- if (argv.url) {
65
- changelog.url = argv.url;
66
- }
67
- else {
68
- const url = getRemoteUrl(argv.https);
69
- if (url) {
70
- changelog.url = url;
71
- }
72
- else {
73
- console.error(red('Please, set the repository url with --url="https://github.com/username/repository"'));
74
- dntShim.Deno.exit(1);
75
- }
76
- }
77
- }
78
65
  save(file, changelog);
79
66
  }
80
67
  catch (err) {
@@ -84,9 +71,20 @@ catch (err) {
84
71
  }
85
72
  }
86
73
  function save(file, changelog, isNew = false) {
87
- const url = changelog.url;
88
- if (url && url.includes("gitlab.com")) {
89
- changelog.head = "master";
74
+ changelog.url = argv.url || changelog.url || getRemoteUrl(argv.https);
75
+ if (!changelog.url) {
76
+ console.error(red('Please, set the repository url with --url="https://github.com/username/repository"'));
77
+ changelog.url = "https://example.com";
78
+ }
79
+ if (changelog.url) {
80
+ const settings = getSettingsForURL(changelog.url);
81
+ if (settings) {
82
+ changelog.head = settings.head;
83
+ changelog.tagLinkBuilder = settings.tagLink;
84
+ }
85
+ }
86
+ if (argv.head) {
87
+ changelog.head = argv.head;
90
88
  }
91
89
  dntShim.Deno.writeTextFileSync(file, changelog.toString());
92
90
  if (isNew) {
@@ -115,7 +113,8 @@ function getRemoteUrl(https = true) {
115
113
  if (https) {
116
114
  remoteUrl.protocol = "https:";
117
115
  }
118
- return remoteUrl.href;
116
+ // remove trailing slashes
117
+ return remoteUrl.href.replace(/\/+$/, "");
119
118
  }
120
119
  catch (err) {
121
120
  console.error(red(err.message));
@@ -9,7 +9,9 @@ export default class Changelog {
9
9
  url?: string;
10
10
  releases: Release[];
11
11
  tagNameBuilder?: (release: Release) => string;
12
+ /** @deprecated: Use tagLinkBuilder() instead */
12
13
  compareLinkBuilder?: (previous: Release, release: Release) => string;
14
+ tagLinkBuilder?: (url: string, tag: string, previous?: string) => string;
13
15
  format: "compact" | "markdownlint";
14
16
  constructor(title: string, description?: string);
15
17
  addRelease(release: Release): this;
@@ -49,12 +49,19 @@ export default class Changelog {
49
49
  writable: true,
50
50
  value: void 0
51
51
  });
52
+ /** @deprecated: Use tagLinkBuilder() instead */
52
53
  Object.defineProperty(this, "compareLinkBuilder", {
53
54
  enumerable: true,
54
55
  configurable: true,
55
56
  writable: true,
56
57
  value: void 0
57
58
  });
59
+ Object.defineProperty(this, "tagLinkBuilder", {
60
+ enumerable: true,
61
+ configurable: true,
62
+ writable: true,
63
+ value: void 0
64
+ });
58
65
  Object.defineProperty(this, "format", {
59
66
  enumerable: true,
60
67
  configurable: true,
@@ -86,6 +93,16 @@ export default class Changelog {
86
93
  if (this.compareLinkBuilder) {
87
94
  return this.compareLinkBuilder(previous, release);
88
95
  }
96
+ if (this.tagLinkBuilder) {
97
+ const url = this.url;
98
+ if (!previous) {
99
+ return this.tagLinkBuilder(this.url, this.tagName(release));
100
+ }
101
+ if (!release.date || !release.version) {
102
+ return this.tagLinkBuilder(url, this.head, this.tagName(previous));
103
+ }
104
+ return this.tagLinkBuilder(url, this.tagName(release), this.tagName(previous));
105
+ }
89
106
  if (!previous) {
90
107
  return `${this.url}/releases/tag/${this.tagName(release)}`;
91
108
  }
package/esm/src/deps.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { compare, eq, format, parse, } from "../deps/deno.land/std@0.203.0/semver/mod.js";
2
- export type { SemVer } from "../deps/deno.land/std@0.203.0/semver/mod.js";
1
+ export { compare, eq, format, parse, } from "../deps/deno.land/std@0.205.0/semver/mod.js";
2
+ export type { SemVer } from "../deps/deno.land/std@0.205.0/semver/mod.js";
package/esm/src/deps.js CHANGED
@@ -1 +1 @@
1
- export { compare, eq, format, parse, } from "../deps/deno.land/std@0.203.0/semver/mod.js";
1
+ export { compare, eq, format, parse, } from "../deps/deno.land/std@0.205.0/semver/mod.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Temporary URLPattern shim
3
+ * @see https://github.com/denoland/dnt/issues/336
4
+ */
5
+ declare class URLPatternShim {
6
+ private readonly pattern;
7
+ constructor(pattern: string | RegExp);
8
+ test(url: string): boolean;
9
+ }
10
+ export interface Settings {
11
+ pattern: URLPatternShim;
12
+ tagLink: (url: string, tag: string, previous?: string) => string;
13
+ head: string;
14
+ }
15
+ export default function getSettingsForURL(url: string): Settings | undefined;
16
+ export declare const settings: Settings[];
17
+ export {};
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Temporary URLPattern shim
3
+ * @see https://github.com/denoland/dnt/issues/336
4
+ */
5
+ class URLPatternShim {
6
+ constructor(pattern) {
7
+ Object.defineProperty(this, "pattern", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: void 0
12
+ });
13
+ if (typeof pattern === "string") {
14
+ pattern = pattern.replace(/\*/g, ".*");
15
+ pattern = new RegExp(`^${pattern}$`);
16
+ }
17
+ this.pattern = pattern;
18
+ }
19
+ test(url) {
20
+ return this.pattern.test(url);
21
+ }
22
+ }
23
+ export default function getSettingsForURL(url) {
24
+ return settings.find((settings) => settings.pattern.test(url));
25
+ }
26
+ export const settings = [
27
+ {
28
+ pattern: new URLPatternShim("https://github.com/*"),
29
+ head: "HEAD",
30
+ tagLink(url, tag, previous) {
31
+ if (!previous) {
32
+ return `${url}/releases/tag/${tag}`;
33
+ }
34
+ return `${url}/compare/${previous}...${tag}`;
35
+ },
36
+ },
37
+ {
38
+ pattern: new URLPatternShim("https://gitlab.*/*"),
39
+ head: "master",
40
+ tagLink(url, tag, previous) {
41
+ if (!previous) {
42
+ return `${url}/-/tags/${tag}`;
43
+ }
44
+ return `${url}/-/compare/${previous}...${tag}`;
45
+ },
46
+ },
47
+ ];
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "changelog": "./esm/bin.js"
6
6
  },
7
7
  "name": "keep-a-changelog",
8
- "version": "2.4.1",
8
+ "version": "2.5.0",
9
9
  "description": "Node package to parse and generate changelogs following the [keepachangelog](https://keepachangelog.com/) format.",
10
10
  "homepage": "https://github.com/oscarotero/keep-a-changelog#readme",
11
11
  "license": "MIT",
package/script/bin.js CHANGED
@@ -23,6 +23,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  __setModuleDefault(result, mod);
24
24
  return result;
25
25
  };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
26
29
  Object.defineProperty(exports, "__esModule", { value: true });
27
30
  require("./_dnt.polyfills.js");
28
31
  const dntShim = __importStar(require("./_dnt.shims.js"));
@@ -30,6 +33,7 @@ const mod_js_1 = require("./deps/deno.land/std@0.189.0/path/mod.js");
30
33
  const mod_js_2 = require("./mod.js");
31
34
  const mod_js_3 = require("./deps/deno.land/std@0.189.0/flags/mod.js");
32
35
  const mod_js_4 = require("./deps/deno.land/x/ini@v2.1.0/mod.js");
36
+ const settings_js_1 = __importDefault(require("./src/settings.js"));
33
37
  const argv = (0, mod_js_3.parse)(dntShim.Deno.args, {
34
38
  default: {
35
39
  file: "CHANGELOG.md",
@@ -39,8 +43,9 @@ const argv = (0, mod_js_3.parse)(dntShim.Deno.args, {
39
43
  url: null,
40
44
  https: true,
41
45
  quiet: false,
46
+ head: null,
42
47
  },
43
- string: ["file", "format", "url"],
48
+ string: ["file", "format", "url", "head"],
44
49
  boolean: ["https", "init", "latest-release", "quiet"],
45
50
  });
46
51
  const file = (0, mod_js_1.join)(dntShim.Deno.cwd(), argv.file);
@@ -85,21 +90,6 @@ try {
85
90
  const version = typeof argv.create === "string" ? argv.create : undefined;
86
91
  changelog.addRelease(new mod_js_2.Release(version));
87
92
  }
88
- if (!changelog.url) {
89
- if (argv.url) {
90
- changelog.url = argv.url;
91
- }
92
- else {
93
- const url = getRemoteUrl(argv.https);
94
- if (url) {
95
- changelog.url = url;
96
- }
97
- else {
98
- console.error(red('Please, set the repository url with --url="https://github.com/username/repository"'));
99
- dntShim.Deno.exit(1);
100
- }
101
- }
102
- }
103
93
  save(file, changelog);
104
94
  }
105
95
  catch (err) {
@@ -109,9 +99,20 @@ catch (err) {
109
99
  }
110
100
  }
111
101
  function save(file, changelog, isNew = false) {
112
- const url = changelog.url;
113
- if (url && url.includes("gitlab.com")) {
114
- changelog.head = "master";
102
+ changelog.url = argv.url || changelog.url || getRemoteUrl(argv.https);
103
+ if (!changelog.url) {
104
+ console.error(red('Please, set the repository url with --url="https://github.com/username/repository"'));
105
+ changelog.url = "https://example.com";
106
+ }
107
+ if (changelog.url) {
108
+ const settings = (0, settings_js_1.default)(changelog.url);
109
+ if (settings) {
110
+ changelog.head = settings.head;
111
+ changelog.tagLinkBuilder = settings.tagLink;
112
+ }
113
+ }
114
+ if (argv.head) {
115
+ changelog.head = argv.head;
115
116
  }
116
117
  dntShim.Deno.writeTextFileSync(file, changelog.toString());
117
118
  if (isNew) {
@@ -140,7 +141,8 @@ function getRemoteUrl(https = true) {
140
141
  if (https) {
141
142
  remoteUrl.protocol = "https:";
142
143
  }
143
- return remoteUrl.href;
144
+ // remove trailing slashes
145
+ return remoteUrl.href.replace(/\/+$/, "");
144
146
  }
145
147
  catch (err) {
146
148
  console.error(red(err.message));
@@ -9,7 +9,9 @@ export default class Changelog {
9
9
  url?: string;
10
10
  releases: Release[];
11
11
  tagNameBuilder?: (release: Release) => string;
12
+ /** @deprecated: Use tagLinkBuilder() instead */
12
13
  compareLinkBuilder?: (previous: Release, release: Release) => string;
14
+ tagLinkBuilder?: (url: string, tag: string, previous?: string) => string;
13
15
  format: "compact" | "markdownlint";
14
16
  constructor(title: string, description?: string);
15
17
  addRelease(release: Release): this;
@@ -51,12 +51,19 @@ class Changelog {
51
51
  writable: true,
52
52
  value: void 0
53
53
  });
54
+ /** @deprecated: Use tagLinkBuilder() instead */
54
55
  Object.defineProperty(this, "compareLinkBuilder", {
55
56
  enumerable: true,
56
57
  configurable: true,
57
58
  writable: true,
58
59
  value: void 0
59
60
  });
61
+ Object.defineProperty(this, "tagLinkBuilder", {
62
+ enumerable: true,
63
+ configurable: true,
64
+ writable: true,
65
+ value: void 0
66
+ });
60
67
  Object.defineProperty(this, "format", {
61
68
  enumerable: true,
62
69
  configurable: true,
@@ -88,6 +95,16 @@ class Changelog {
88
95
  if (this.compareLinkBuilder) {
89
96
  return this.compareLinkBuilder(previous, release);
90
97
  }
98
+ if (this.tagLinkBuilder) {
99
+ const url = this.url;
100
+ if (!previous) {
101
+ return this.tagLinkBuilder(this.url, this.tagName(release));
102
+ }
103
+ if (!release.date || !release.version) {
104
+ return this.tagLinkBuilder(url, this.head, this.tagName(previous));
105
+ }
106
+ return this.tagLinkBuilder(url, this.tagName(release), this.tagName(previous));
107
+ }
91
108
  if (!previous) {
92
109
  return `${this.url}/releases/tag/${this.tagName(release)}`;
93
110
  }
@@ -1,2 +1,2 @@
1
- export { compare, eq, format, parse, } from "../deps/deno.land/std@0.203.0/semver/mod.js";
2
- export type { SemVer } from "../deps/deno.land/std@0.203.0/semver/mod.js";
1
+ export { compare, eq, format, parse, } from "../deps/deno.land/std@0.205.0/semver/mod.js";
2
+ export type { SemVer } from "../deps/deno.land/std@0.205.0/semver/mod.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parse = exports.format = exports.eq = exports.compare = void 0;
4
- var mod_js_1 = require("../deps/deno.land/std@0.203.0/semver/mod.js");
4
+ var mod_js_1 = require("../deps/deno.land/std@0.205.0/semver/mod.js");
5
5
  Object.defineProperty(exports, "compare", { enumerable: true, get: function () { return mod_js_1.compare; } });
6
6
  Object.defineProperty(exports, "eq", { enumerable: true, get: function () { return mod_js_1.eq; } });
7
7
  Object.defineProperty(exports, "format", { enumerable: true, get: function () { return mod_js_1.format; } });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Temporary URLPattern shim
3
+ * @see https://github.com/denoland/dnt/issues/336
4
+ */
5
+ declare class URLPatternShim {
6
+ private readonly pattern;
7
+ constructor(pattern: string | RegExp);
8
+ test(url: string): boolean;
9
+ }
10
+ export interface Settings {
11
+ pattern: URLPatternShim;
12
+ tagLink: (url: string, tag: string, previous?: string) => string;
13
+ head: string;
14
+ }
15
+ export default function getSettingsForURL(url: string): Settings | undefined;
16
+ export declare const settings: Settings[];
17
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settings = void 0;
4
+ /**
5
+ * Temporary URLPattern shim
6
+ * @see https://github.com/denoland/dnt/issues/336
7
+ */
8
+ class URLPatternShim {
9
+ constructor(pattern) {
10
+ Object.defineProperty(this, "pattern", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ if (typeof pattern === "string") {
17
+ pattern = pattern.replace(/\*/g, ".*");
18
+ pattern = new RegExp(`^${pattern}$`);
19
+ }
20
+ this.pattern = pattern;
21
+ }
22
+ test(url) {
23
+ return this.pattern.test(url);
24
+ }
25
+ }
26
+ function getSettingsForURL(url) {
27
+ return exports.settings.find((settings) => settings.pattern.test(url));
28
+ }
29
+ exports.default = getSettingsForURL;
30
+ exports.settings = [
31
+ {
32
+ pattern: new URLPatternShim("https://github.com/*"),
33
+ head: "HEAD",
34
+ tagLink(url, tag, previous) {
35
+ if (!previous) {
36
+ return `${url}/releases/tag/${tag}`;
37
+ }
38
+ return `${url}/compare/${previous}...${tag}`;
39
+ },
40
+ },
41
+ {
42
+ pattern: new URLPatternShim("https://gitlab.*/*"),
43
+ head: "master",
44
+ tagLink(url, tag, previous) {
45
+ if (!previous) {
46
+ return `${url}/-/tags/${tag}`;
47
+ }
48
+ return `${url}/-/compare/${previous}...${tag}`;
49
+ },
50
+ },
51
+ ];