keep-a-changelog 2.3.0 → 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 (213) hide show
  1. package/CHANGELOG.md +33 -4
  2. package/README.md +23 -8
  3. package/esm/_dnt.shims.js +0 -1
  4. package/esm/bin.js +19 -20
  5. package/esm/deps/deno.land/std@0.205.0/semver/_shared.d.ts +42 -0
  6. package/esm/deps/deno.land/std@0.205.0/semver/_shared.js +230 -0
  7. package/esm/deps/deno.land/std@0.205.0/semver/cmp.d.ts +9 -0
  8. package/esm/deps/deno.land/std@0.205.0/semver/cmp.js +35 -0
  9. package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +8 -0
  10. package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.js +11 -0
  11. package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +8 -0
  12. package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +45 -0
  13. package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +9 -0
  14. package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.js +45 -0
  15. package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +8 -0
  16. package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.js +32 -0
  17. package/esm/deps/deno.land/std@0.205.0/semver/compare.d.ts +10 -0
  18. package/esm/deps/deno.land/std@0.205.0/semver/compare.js +18 -0
  19. package/esm/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +13 -0
  20. package/esm/deps/deno.land/std@0.205.0/semver/compare_build.js +23 -0
  21. package/esm/deps/deno.land/std@0.205.0/semver/constants.d.ts +42 -0
  22. package/esm/deps/deno.land/std@0.205.0/semver/constants.js +75 -0
  23. package/esm/deps/deno.land/std@0.205.0/semver/difference.d.ts +4 -0
  24. package/esm/deps/deno.land/std@0.205.0/semver/difference.js +26 -0
  25. package/esm/deps/deno.land/std@0.205.0/semver/eq.d.ts +4 -0
  26. package/esm/deps/deno.land/std@0.205.0/semver/eq.js +7 -0
  27. package/esm/deps/deno.land/std@0.205.0/semver/format.d.ts +12 -0
  28. package/esm/deps/deno.land/std@0.205.0/semver/format.js +54 -0
  29. package/esm/deps/deno.land/std@0.205.0/semver/gt.d.ts +3 -0
  30. package/esm/deps/deno.land/std@0.205.0/semver/gt.js +5 -0
  31. package/esm/deps/deno.land/std@0.205.0/semver/gte.d.ts +3 -0
  32. package/esm/deps/deno.land/std@0.205.0/semver/gte.js +5 -0
  33. package/esm/deps/deno.land/std@0.205.0/semver/gtr.d.ts +3 -0
  34. package/esm/deps/deno.land/std@0.205.0/semver/gtr.js +5 -0
  35. package/esm/deps/deno.land/std@0.205.0/semver/increment.d.ts +28 -0
  36. package/esm/deps/deno.land/std@0.205.0/semver/increment.js +207 -0
  37. package/esm/deps/deno.land/std@0.205.0/semver/is_semver.d.ts +17 -0
  38. package/esm/deps/deno.land/std@0.205.0/semver/is_semver.js +41 -0
  39. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +12 -0
  40. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +31 -0
  41. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +12 -0
  42. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.js +22 -0
  43. package/esm/deps/deno.land/std@0.205.0/semver/lt.d.ts +3 -0
  44. package/esm/deps/deno.land/std@0.205.0/semver/lt.js +5 -0
  45. package/esm/deps/deno.land/std@0.205.0/semver/lte.d.ts +3 -0
  46. package/esm/deps/deno.land/std@0.205.0/semver/lte.js +5 -0
  47. package/esm/deps/deno.land/std@0.205.0/semver/ltr.d.ts +3 -0
  48. package/esm/deps/deno.land/std@0.205.0/semver/ltr.js +5 -0
  49. package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +9 -0
  50. package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.js +14 -0
  51. package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +9 -0
  52. package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.js +14 -0
  53. package/esm/deps/deno.land/{std@0.173.0 → std@0.205.0}/semver/mod.d.ts +88 -176
  54. package/esm/deps/deno.land/std@0.205.0/semver/mod.js +313 -0
  55. package/esm/deps/deno.land/std@0.205.0/semver/neq.d.ts +3 -0
  56. package/esm/deps/deno.land/std@0.205.0/semver/neq.js +5 -0
  57. package/esm/deps/deno.land/std@0.205.0/semver/outside.d.ts +11 -0
  58. package/esm/deps/deno.land/std@0.205.0/semver/outside.js +67 -0
  59. package/esm/deps/deno.land/std@0.205.0/semver/parse.d.ts +8 -0
  60. package/esm/deps/deno.land/std@0.205.0/semver/parse.js +66 -0
  61. package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +7 -0
  62. package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.js +28 -0
  63. package/esm/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +7 -0
  64. package/esm/deps/deno.land/std@0.205.0/semver/parse_range.js +292 -0
  65. package/esm/deps/deno.land/std@0.205.0/semver/range_format.d.ts +8 -0
  66. package/esm/deps/deno.land/std@0.205.0/semver/range_format.js +11 -0
  67. package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +8 -0
  68. package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.js +35 -0
  69. package/esm/deps/deno.land/std@0.205.0/semver/range_max.d.ts +7 -0
  70. package/esm/deps/deno.land/std@0.205.0/semver/range_max.js +15 -0
  71. package/esm/deps/deno.land/std@0.205.0/semver/range_min.d.ts +7 -0
  72. package/esm/deps/deno.land/std@0.205.0/semver/range_min.js +14 -0
  73. package/esm/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +8 -0
  74. package/esm/deps/deno.land/std@0.205.0/semver/rcompare.js +10 -0
  75. package/esm/deps/deno.land/std@0.205.0/semver/rsort.d.ts +3 -0
  76. package/esm/deps/deno.land/std@0.205.0/semver/rsort.js +5 -0
  77. package/esm/deps/deno.land/std@0.205.0/semver/sort.d.ts +3 -0
  78. package/esm/deps/deno.land/std@0.205.0/semver/sort.js +5 -0
  79. package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +8 -0
  80. package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.js +10 -0
  81. package/esm/deps/deno.land/std@0.205.0/semver/test_range.d.ts +8 -0
  82. package/esm/deps/deno.land/std@0.205.0/semver/test_range.js +16 -0
  83. package/esm/deps/deno.land/std@0.205.0/semver/types.d.ts +44 -0
  84. package/esm/deps/deno.land/std@0.205.0/semver/types.js +2 -0
  85. package/esm/src/Changelog.d.ts +6 -2
  86. package/esm/src/Changelog.js +42 -4
  87. package/esm/src/Release.d.ts +5 -4
  88. package/esm/src/Release.js +21 -22
  89. package/esm/src/deps.d.ts +2 -1
  90. package/esm/src/deps.js +1 -1
  91. package/esm/src/settings.d.ts +17 -0
  92. package/esm/src/settings.js +47 -0
  93. package/esm/test/changelog.custom.type.md +2 -3
  94. package/esm/test/changelog.expected.linted.md +3 -4
  95. package/esm/test/changelog.expected.md +3 -4
  96. package/esm/test/changelog.md +3 -4
  97. package/esm/test/empty.expected.md +2 -2
  98. package/package.json +2 -2
  99. package/script/_dnt.shims.js +0 -1
  100. package/script/bin.js +22 -20
  101. package/script/deps/deno.land/std@0.205.0/semver/_shared.d.ts +42 -0
  102. package/script/deps/deno.land/std@0.205.0/semver/_shared.js +248 -0
  103. package/script/deps/deno.land/std@0.205.0/semver/cmp.d.ts +9 -0
  104. package/script/deps/deno.land/std@0.205.0/semver/cmp.js +39 -0
  105. package/script/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +8 -0
  106. package/script/deps/deno.land/std@0.205.0/semver/comparator_format.js +15 -0
  107. package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +8 -0
  108. package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +49 -0
  109. package/script/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +9 -0
  110. package/script/deps/deno.land/std@0.205.0/semver/comparator_max.js +49 -0
  111. package/script/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +8 -0
  112. package/script/deps/deno.land/std@0.205.0/semver/comparator_min.js +36 -0
  113. package/script/deps/deno.land/std@0.205.0/semver/compare.d.ts +10 -0
  114. package/script/deps/deno.land/std@0.205.0/semver/compare.js +22 -0
  115. package/script/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +13 -0
  116. package/script/deps/deno.land/std@0.205.0/semver/compare_build.js +27 -0
  117. package/script/deps/deno.land/std@0.205.0/semver/constants.d.ts +42 -0
  118. package/script/deps/deno.land/std@0.205.0/semver/constants.js +78 -0
  119. package/script/deps/deno.land/std@0.205.0/semver/difference.d.ts +4 -0
  120. package/script/deps/deno.land/std@0.205.0/semver/difference.js +30 -0
  121. package/script/deps/deno.land/std@0.205.0/semver/eq.d.ts +4 -0
  122. package/script/deps/deno.land/std@0.205.0/semver/eq.js +11 -0
  123. package/script/deps/deno.land/std@0.205.0/semver/format.d.ts +12 -0
  124. package/script/deps/deno.land/std@0.205.0/semver/format.js +58 -0
  125. package/script/deps/deno.land/std@0.205.0/semver/gt.d.ts +3 -0
  126. package/script/deps/deno.land/std@0.205.0/semver/gt.js +9 -0
  127. package/script/deps/deno.land/std@0.205.0/semver/gte.d.ts +3 -0
  128. package/script/deps/deno.land/std@0.205.0/semver/gte.js +9 -0
  129. package/script/deps/deno.land/std@0.205.0/semver/gtr.d.ts +3 -0
  130. package/script/deps/deno.land/std@0.205.0/semver/gtr.js +9 -0
  131. package/script/deps/deno.land/std@0.205.0/semver/increment.d.ts +28 -0
  132. package/script/deps/deno.land/std@0.205.0/semver/increment.js +211 -0
  133. package/script/deps/deno.land/std@0.205.0/semver/is_semver.d.ts +17 -0
  134. package/script/deps/deno.land/std@0.205.0/semver/is_semver.js +45 -0
  135. package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +12 -0
  136. package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +35 -0
  137. package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +12 -0
  138. package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.js +26 -0
  139. package/script/deps/deno.land/std@0.205.0/semver/lt.d.ts +3 -0
  140. package/script/deps/deno.land/std@0.205.0/semver/lt.js +9 -0
  141. package/script/deps/deno.land/std@0.205.0/semver/lte.d.ts +3 -0
  142. package/script/deps/deno.land/std@0.205.0/semver/lte.js +9 -0
  143. package/script/deps/deno.land/std@0.205.0/semver/ltr.d.ts +3 -0
  144. package/script/deps/deno.land/std@0.205.0/semver/ltr.js +9 -0
  145. package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +9 -0
  146. package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.js +18 -0
  147. package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +9 -0
  148. package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.js +18 -0
  149. package/script/deps/deno.land/{std@0.173.0 → std@0.205.0}/semver/mod.d.ts +88 -176
  150. package/script/deps/deno.land/std@0.205.0/semver/mod.js +330 -0
  151. package/script/deps/deno.land/std@0.205.0/semver/neq.d.ts +3 -0
  152. package/script/deps/deno.land/std@0.205.0/semver/neq.js +9 -0
  153. package/script/deps/deno.land/std@0.205.0/semver/outside.d.ts +11 -0
  154. package/script/deps/deno.land/std@0.205.0/semver/outside.js +71 -0
  155. package/script/deps/deno.land/std@0.205.0/semver/parse.d.ts +8 -0
  156. package/script/deps/deno.land/std@0.205.0/semver/parse.js +70 -0
  157. package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +7 -0
  158. package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.js +32 -0
  159. package/script/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +7 -0
  160. package/script/deps/deno.land/std@0.205.0/semver/parse_range.js +296 -0
  161. package/script/deps/deno.land/std@0.205.0/semver/range_format.d.ts +8 -0
  162. package/script/deps/deno.land/std@0.205.0/semver/range_format.js +15 -0
  163. package/script/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +8 -0
  164. package/script/deps/deno.land/std@0.205.0/semver/range_intersects.js +39 -0
  165. package/script/deps/deno.land/std@0.205.0/semver/range_max.d.ts +7 -0
  166. package/script/deps/deno.land/std@0.205.0/semver/range_max.js +19 -0
  167. package/script/deps/deno.land/std@0.205.0/semver/range_min.d.ts +7 -0
  168. package/script/deps/deno.land/std@0.205.0/semver/range_min.js +18 -0
  169. package/script/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +8 -0
  170. package/script/deps/deno.land/std@0.205.0/semver/rcompare.js +14 -0
  171. package/script/deps/deno.land/std@0.205.0/semver/rsort.d.ts +3 -0
  172. package/script/deps/deno.land/std@0.205.0/semver/rsort.js +9 -0
  173. package/script/deps/deno.land/std@0.205.0/semver/sort.d.ts +3 -0
  174. package/script/deps/deno.land/std@0.205.0/semver/sort.js +9 -0
  175. package/script/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +8 -0
  176. package/script/deps/deno.land/std@0.205.0/semver/test_comparator.js +14 -0
  177. package/script/deps/deno.land/std@0.205.0/semver/test_range.d.ts +8 -0
  178. package/script/deps/deno.land/std@0.205.0/semver/test_range.js +20 -0
  179. package/script/deps/deno.land/std@0.205.0/semver/types.d.ts +44 -0
  180. package/script/deps/deno.land/std@0.205.0/semver/types.js +3 -0
  181. package/script/src/Changelog.d.ts +6 -2
  182. package/script/src/Changelog.js +41 -3
  183. package/script/src/Release.d.ts +5 -4
  184. package/script/src/Release.js +20 -21
  185. package/script/src/deps.d.ts +2 -1
  186. package/script/src/deps.js +5 -6
  187. package/script/src/settings.d.ts +17 -0
  188. package/script/src/settings.js +51 -0
  189. package/script/test/changelog.custom.type.md +2 -3
  190. package/script/test/changelog.expected.linted.md +3 -4
  191. package/script/test/changelog.expected.md +3 -4
  192. package/script/test/changelog.md +3 -4
  193. package/script/test/empty.expected.md +2 -2
  194. package/esm/_dnt.test_shims.d.ts +0 -5
  195. package/esm/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
  196. package/esm/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
  197. package/esm/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
  198. package/esm/deps/deno.land/std@0.173.0/semver/mod.js +0 -1420
  199. package/esm/test/Change.test.d.ts +0 -1
  200. package/esm/test/deps.d.ts +0 -1
  201. package/esm/test/fixture/CustomRelease.d.ts +0 -8
  202. package/esm/test/parser.test.d.ts +0 -1
  203. package/esm/test/test.d.ts +0 -1
  204. package/script/_dnt.test_shims.d.ts +0 -5
  205. package/script/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
  206. package/script/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
  207. package/script/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
  208. package/script/deps/deno.land/std@0.173.0/semver/mod.js +0 -1458
  209. package/script/test/Change.test.d.ts +0 -1
  210. package/script/test/deps.d.ts +0 -1
  211. package/script/test/fixture/CustomRelease.d.ts +0 -8
  212. package/script/test/parser.test.d.ts +0 -1
  213. package/script/test/test.d.ts +0 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sort = void 0;
4
+ const compare_js_1 = require("./compare.js");
5
+ /** Sorts a list of semantic versions in ascending order. */
6
+ function sort(list) {
7
+ return list.sort((a, b) => (0, compare_js_1.compare)(a, b));
8
+ }
9
+ exports.sort = sort;
@@ -0,0 +1,8 @@
1
+ import type { SemVer, SemVerComparator } from "./types.js";
2
+ /**
3
+ * Test to see if a semantic version falls within the range of the comparator.
4
+ * @param version The version to compare
5
+ * @param comparator The comparator
6
+ * @returns True if the version is within the comparators set otherwise false
7
+ */
8
+ export declare function testComparator(version: SemVer, comparator: SemVerComparator): boolean;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testComparator = void 0;
4
+ const cmp_js_1 = require("./cmp.js");
5
+ /**
6
+ * Test to see if a semantic version falls within the range of the comparator.
7
+ * @param version The version to compare
8
+ * @param comparator The comparator
9
+ * @returns True if the version is within the comparators set otherwise false
10
+ */
11
+ function testComparator(version, comparator) {
12
+ return (0, cmp_js_1.cmp)(version, comparator.operator, comparator.semver);
13
+ }
14
+ exports.testComparator = testComparator;
@@ -0,0 +1,8 @@
1
+ import type { SemVer, SemVerRange } from "./types.js";
2
+ /**
3
+ * Test to see if the version satisfies the range.
4
+ * @param version The version to test
5
+ * @param range The range to check
6
+ * @returns true if the version is in the range
7
+ */
8
+ export declare function testRange(version: SemVer, range: SemVerRange): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testRange = void 0;
4
+ const gte_js_1 = require("./gte.js");
5
+ const lte_js_1 = require("./lte.js");
6
+ /**
7
+ * Test to see if the version satisfies the range.
8
+ * @param version The version to test
9
+ * @param range The range to check
10
+ * @returns true if the version is in the range
11
+ */
12
+ function testRange(version, range) {
13
+ for (const r of range.ranges) {
14
+ if (r.every((c) => (0, gte_js_1.gte)(version, c.min) && (0, lte_js_1.lte)(version, c.max))) {
15
+ return true;
16
+ }
17
+ }
18
+ return false;
19
+ }
20
+ exports.testRange = testRange;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The possible release types are used as an operator for the
3
+ * increment function and as a result of the difference function.
4
+ */
5
+ export type ReleaseType = "pre" | "major" | "premajor" | "minor" | "preminor" | "patch" | "prepatch" | "prerelease";
6
+ /**
7
+ * SemVer comparison operators.
8
+ */
9
+ export type Operator = "" | "=" | "==" | "===" | "!==" | "!=" | ">" | ">=" | "<" | "<=";
10
+ /**
11
+ * The style to use when formatting a SemVer object into a string
12
+ */
13
+ export type FormatStyle = "full" | "release" | "primary" | "build" | "pre" | "patch" | "minor" | "major";
14
+ /**
15
+ * The shape of a valid semantic version comparator
16
+ * @example >=0.0.0
17
+ */
18
+ export interface SemVerComparator {
19
+ operator: Operator;
20
+ semver: SemVer;
21
+ min: SemVer;
22
+ max: SemVer;
23
+ }
24
+ /**
25
+ * A SemVer object parsed into its constituent parts.
26
+ */
27
+ export interface SemVer {
28
+ major: number;
29
+ minor: number;
30
+ patch: number;
31
+ prerelease: (string | number)[];
32
+ build: string[];
33
+ }
34
+ type SemVerRangeAnd = SemVerComparator[];
35
+ type SemVerRangeOr = SemVerRangeAnd[];
36
+ /**
37
+ * A type representing a semantic version range. The ranges consist of
38
+ * a nested array, which represents a set of OR comparisons while the
39
+ * inner array represents AND comparisons.
40
+ */
41
+ export interface SemVerRange {
42
+ ranges: SemVerRangeOr;
43
+ }
44
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,5 @@
1
1
  import Release from "./Release.js";
2
- import { Semver } from "./deps.js";
2
+ import type { SemVer } from "./deps.js";
3
3
  export default class Changelog {
4
4
  flag?: string;
5
5
  title: string;
@@ -9,11 +9,15 @@ export default class Changelog {
9
9
  url?: string;
10
10
  releases: Release[];
11
11
  tagNameBuilder?: (release: Release) => string;
12
+ /** @deprecated: Use tagLinkBuilder() instead */
13
+ compareLinkBuilder?: (previous: Release, release: Release) => string;
14
+ tagLinkBuilder?: (url: string, tag: string, previous?: string) => string;
12
15
  format: "compact" | "markdownlint";
13
16
  constructor(title: string, description?: string);
14
17
  addRelease(release: Release): this;
15
- findRelease(version?: Semver | string): Release | undefined;
18
+ findRelease(version?: SemVer | string): Release | undefined;
16
19
  sortReleases(): void;
20
+ compareLink(previous: Release, release: Release): string;
17
21
  tagName(release: Release): string;
18
22
  toString(): string;
19
23
  }
@@ -51,6 +51,19 @@ class Changelog {
51
51
  writable: true,
52
52
  value: void 0
53
53
  });
54
+ /** @deprecated: Use tagLinkBuilder() instead */
55
+ Object.defineProperty(this, "compareLinkBuilder", {
56
+ enumerable: true,
57
+ configurable: true,
58
+ writable: true,
59
+ value: void 0
60
+ });
61
+ Object.defineProperty(this, "tagLinkBuilder", {
62
+ enumerable: true,
63
+ configurable: true,
64
+ writable: true,
65
+ value: void 0
66
+ });
54
67
  Object.defineProperty(this, "format", {
55
68
  enumerable: true,
56
69
  configurable: true,
@@ -70,11 +83,36 @@ class Changelog {
70
83
  if (!version) {
71
84
  return this.releases.find((release) => !release.version);
72
85
  }
73
- return this.releases.find((release) => release.version && (0, deps_js_1.eq)(release.version, version));
86
+ if (typeof version === "string") {
87
+ version = (0, deps_js_1.parse)(version);
88
+ }
89
+ return this.releases.find((release) => release.parsedVersion && (0, deps_js_1.eq)(release.parsedVersion, version));
74
90
  }
75
91
  sortReleases() {
76
92
  this.releases.sort((a, b) => a.compare(b));
77
93
  }
94
+ compareLink(previous, release) {
95
+ if (this.compareLinkBuilder) {
96
+ return this.compareLinkBuilder(previous, release);
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
+ }
108
+ if (!previous) {
109
+ return `${this.url}/releases/tag/${this.tagName(release)}`;
110
+ }
111
+ if (!release.date || !release.version) {
112
+ return `${this.url}/compare/${this.tagName(previous)}...${this.head}`;
113
+ }
114
+ return `${this.url}/compare/${this.tagName(previous)}...${this.tagName(release)}`;
115
+ }
78
116
  tagName(release) {
79
117
  if (this.tagNameBuilder) {
80
118
  return this.tagNameBuilder(release);
@@ -96,8 +134,8 @@ class Changelog {
96
134
  const description = this.description.trim() ||
97
135
  `All notable changes to this project will be documented in this file.
98
136
 
99
- The format is based on [Keep a Changelog](http://keepachangelog.com/)
100
- and this project adheres to [Semantic Versioning](http://semver.org/).`;
137
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
138
+ and this project adheres to [Semantic Versioning](https://semver.org/).`;
101
139
  if (description) {
102
140
  t.push(description);
103
141
  }
@@ -1,17 +1,18 @@
1
- import { Semver } from "./deps.js";
2
1
  import Change from "./Change.js";
3
2
  import Changelog from "./Changelog.js";
3
+ import type { SemVer } from "./deps.js";
4
4
  export default class Release {
5
5
  changelog?: Changelog;
6
- version?: Semver;
6
+ parsedVersion?: SemVer;
7
7
  date?: Date;
8
8
  yanked: boolean;
9
9
  description: string;
10
10
  changes: Map<string, Change[]>;
11
- constructor(version?: string | Semver, date?: string | Date, description?: string);
11
+ constructor(version?: string | SemVer, date?: string | Date, description?: string);
12
+ get version(): string | undefined;
12
13
  compare(release: Release): number;
13
14
  isEmpty(): boolean;
14
- setVersion(version?: string | Semver): void;
15
+ setVersion(version?: string | SemVer): void;
15
16
  setDate(date?: Date | string): void;
16
17
  setYanked(yanked?: boolean): this;
17
18
  addChange(type: string, change: Change | string): this;
@@ -13,7 +13,7 @@ class Release {
13
13
  writable: true,
14
14
  value: void 0
15
15
  });
16
- Object.defineProperty(this, "version", {
16
+ Object.defineProperty(this, "parsedVersion", {
17
17
  enumerable: true,
18
18
  configurable: true,
19
19
  writable: true,
@@ -55,11 +55,14 @@ class Release {
55
55
  ["security", []],
56
56
  ]);
57
57
  }
58
+ get version() {
59
+ return this.parsedVersion ? (0, deps_js_1.format)(this.parsedVersion) : undefined;
60
+ }
58
61
  compare(release) {
59
- if (!this.version && release.version) {
62
+ if (!this.parsedVersion && release.parsedVersion) {
60
63
  return -1;
61
64
  }
62
- if (!release.version) {
65
+ if (!release.parsedVersion) {
63
66
  return 1;
64
67
  }
65
68
  if (!this.date && release.date) {
@@ -68,8 +71,8 @@ class Release {
68
71
  if (!release.date) {
69
72
  return 1;
70
73
  }
71
- if (this.version && release.version) {
72
- return -this.version.compare(release.version);
74
+ if (this.parsedVersion && release.parsedVersion) {
75
+ return -(0, deps_js_1.compare)(this.parsedVersion, release.parsedVersion);
73
76
  }
74
77
  return 0;
75
78
  }
@@ -81,9 +84,9 @@ class Release {
81
84
  }
82
85
  setVersion(version) {
83
86
  if (typeof version === "string") {
84
- version = new deps_js_1.Semver(version);
87
+ version = (0, deps_js_1.parse)(version);
85
88
  }
86
- this.version = version;
89
+ this.parsedVersion = version;
87
90
  //Re-sort the releases of the parent changelog
88
91
  if (this.changelog) {
89
92
  this.changelog.sortReleases();
@@ -131,12 +134,13 @@ class Release {
131
134
  let t = [];
132
135
  const hasCompareLink = this.getCompareLink(changelog) !== undefined;
133
136
  const yanked = this.yanked ? " [YANKED]" : "";
134
- if (this.version) {
137
+ const { version } = this;
138
+ if (version) {
135
139
  if (hasCompareLink) {
136
- t.push(`## [${this.version}] - ${formatDate(this.date)}${yanked}`);
140
+ t.push(`## [${version}] - ${formatDate(this.date)}${yanked}`);
137
141
  }
138
142
  else {
139
- t.push(`## ${this.version} - ${formatDate(this.date)}${yanked}`);
143
+ t.push(`## ${version} - ${formatDate(this.date)}${yanked}`);
140
144
  }
141
145
  }
142
146
  else {
@@ -180,19 +184,14 @@ class Release {
180
184
  ++offset;
181
185
  previous = changelog.releases[index + offset];
182
186
  }
183
- if (!previous) {
184
- if (!this.version || !this.date) {
185
- return;
186
- }
187
- return `[${this.version}]: ${changelog.url}/releases/tag/${changelog.tagName(this)}`;
188
- }
189
- if (!this.version) {
190
- return `[Unreleased]: ${changelog.url}/compare/${changelog.tagName(previous)}...${changelog.head}`;
187
+ if (!previous && (!this.version || !this.date)) {
188
+ return;
191
189
  }
192
- if (!this.date) {
193
- return `[${this.version}]: ${changelog.url}/compare/${changelog.tagName(previous)}...${changelog.head}`;
190
+ const compareLink = changelog.compareLink(previous, this);
191
+ if (!compareLink) {
192
+ return;
194
193
  }
195
- return `[${this.version}]: ${changelog.url}/compare/${changelog.tagName(previous)}...${changelog.tagName(this)}`;
194
+ return `[${this.version || "Unreleased"}]: ${compareLink}`;
196
195
  }
197
196
  getLinks(changelog) {
198
197
  const links = [];
@@ -1 +1,2 @@
1
- export { default as Semver, eq, } from "../deps/deno.land/std@0.173.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,9 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.eq = exports.Semver = void 0;
7
- var mod_js_1 = require("../deps/deno.land/std@0.173.0/semver/mod.js");
8
- Object.defineProperty(exports, "Semver", { enumerable: true, get: function () { return __importDefault(mod_js_1).default; } });
3
+ exports.parse = exports.format = exports.eq = exports.compare = void 0;
4
+ var mod_js_1 = require("../deps/deno.land/std@0.205.0/semver/mod.js");
5
+ Object.defineProperty(exports, "compare", { enumerable: true, get: function () { return mod_js_1.compare; } });
9
6
  Object.defineProperty(exports, "eq", { enumerable: true, get: function () { return mod_js_1.eq; } });
7
+ Object.defineProperty(exports, "format", { enumerable: true, get: function () { return mod_js_1.format; } });
8
+ Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return mod_js_1.parse; } });
@@ -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
+ ];
@@ -1,9 +1,8 @@
1
1
  # Changelog - demo
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
- and this project adheres to
6
- [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
5
+ and this project adheres to [Semantic Versioning](https://semver.org/).
7
6
 
8
7
  ## [Unreleased]
9
8
  ### Maintenance
@@ -2,9 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
- and this project adheres to
7
- [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
6
+ and this project adheres to [Semantic Versioning](https://semver.org/).
8
7
 
9
8
  ## [Unreleased] [YANKED]
10
9
 
@@ -96,7 +95,7 @@ This is a brand new releases with:
96
95
  ### Changed
97
96
 
98
97
  - Improve argument against commit logs.
99
- - Start following [SemVer](http://semver.org) properly.
98
+ - Start following [SemVer](https://semver.org) properly.
100
99
 
101
100
  ## [0.0.8] - 2015-02-17
102
101
 
@@ -1,9 +1,8 @@
1
1
  # Changelog - demo
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
- and this project adheres to
6
- [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
5
+ and this project adheres to [Semantic Versioning](https://semver.org/).
7
6
 
8
7
  ## [Unreleased] [YANKED]
9
8
  This is a brand new releases with:
@@ -80,7 +79,7 @@ This is a brand new releases with:
80
79
 
81
80
  ### Changed
82
81
  - Improve argument against commit logs.
83
- - Start following [SemVer](http://semver.org) properly.
82
+ - Start following [SemVer](https://semver.org) properly.
84
83
 
85
84
  ## [0.0.8] - 2015-02-17
86
85
  ### Changed
@@ -2,9 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
- and this project adheres to
7
- [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
6
+ and this project adheres to [Semantic Versioning](https://semver.org/).
8
7
 
9
8
  ## [Unreleased] [Yanked]
10
9
  This is a brand new releases with:
@@ -97,7 +96,7 @@ This is a brand new releases with:
97
96
  ### Changed
98
97
 
99
98
  - Improve argument against commit logs.
100
- - Start following [SemVer](http://semver.org) properly.
99
+ - Start following [SemVer](https://semver.org) properly.
101
100
 
102
101
  ## [0.0.8] - 2015-02-17
103
102
 
@@ -1,5 +1,5 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
- and this project adheres to [Semantic Versioning](http://semver.org/).
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/)
5
+ and this project adheres to [Semantic Versioning](https://semver.org/).
@@ -1,5 +0,0 @@
1
- import { Deno } from "@deno/shim-deno";
2
- export { Deno } from "@deno/shim-deno";
3
- export declare const dntGlobalThis: Omit<typeof globalThis, "Deno"> & {
4
- Deno: typeof Deno;
5
- };