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,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmp = void 0;
4
+ const eq_js_1 = require("./eq.js");
5
+ const neq_js_1 = require("./neq.js");
6
+ const gte_js_1 = require("./gte.js");
7
+ const gt_js_1 = require("./gt.js");
8
+ const lt_js_1 = require("./lt.js");
9
+ const lte_js_1 = require("./lte.js");
10
+ /**
11
+ * Do a comparison of two semantic version objects based on the given operator
12
+ * @param s0 The left side of the comparison
13
+ * @param operator The operator to use for the comparison
14
+ * @param s1 The right side of the comparison
15
+ * @returns True or false based on the operator
16
+ */
17
+ function cmp(s0, operator, s1) {
18
+ switch (operator) {
19
+ case "":
20
+ case "=":
21
+ case "==":
22
+ case "===":
23
+ return (0, eq_js_1.eq)(s0, s1);
24
+ case "!=":
25
+ case "!==":
26
+ return (0, neq_js_1.neq)(s0, s1);
27
+ case ">":
28
+ return (0, gt_js_1.gt)(s0, s1);
29
+ case ">=":
30
+ return (0, gte_js_1.gte)(s0, s1);
31
+ case "<":
32
+ return (0, lt_js_1.lt)(s0, s1);
33
+ case "<=":
34
+ return (0, lte_js_1.lte)(s0, s1);
35
+ default:
36
+ throw new TypeError(`Invalid operator: ${operator}`);
37
+ }
38
+ }
39
+ exports.cmp = cmp;
@@ -0,0 +1,8 @@
1
+ import type { SemVerComparator } from "./types.js";
2
+ /**
3
+ * Formats the comparator into a string
4
+ * @example >=0.0.0
5
+ * @param comparator
6
+ * @returns A string representation of the comparator
7
+ */
8
+ export declare function comparatorFormat(comparator: SemVerComparator): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.comparatorFormat = void 0;
4
+ const format_js_1 = require("./format.js");
5
+ /**
6
+ * Formats the comparator into a string
7
+ * @example >=0.0.0
8
+ * @param comparator
9
+ * @returns A string representation of the comparator
10
+ */
11
+ function comparatorFormat(comparator) {
12
+ const { semver, operator } = comparator;
13
+ return `${operator}${(0, format_js_1.format)(semver)}`;
14
+ }
15
+ exports.comparatorFormat = comparatorFormat;
@@ -0,0 +1,8 @@
1
+ import type { SemVerComparator } from "./types.js";
2
+ /**
3
+ * Returns true if the range of possible versions intersects with the other comparators set of possible versions
4
+ * @param c0 The left side comparator
5
+ * @param c1 The right side comparator
6
+ * @returns True if any part of the comparators intersect
7
+ */
8
+ export declare function comparatorIntersects(c0: SemVerComparator, c1: SemVerComparator): boolean;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.comparatorIntersects = void 0;
4
+ const gte_js_1 = require("./gte.js");
5
+ const lte_js_1 = require("./lte.js");
6
+ /**
7
+ * Returns true if the range of possible versions intersects with the other comparators set of possible versions
8
+ * @param c0 The left side comparator
9
+ * @param c1 The right side comparator
10
+ * @returns True if any part of the comparators intersect
11
+ */
12
+ function comparatorIntersects(c0, c1) {
13
+ const l0 = c0.min;
14
+ const l1 = c0.max;
15
+ const r0 = c1.min;
16
+ const r1 = c1.max;
17
+ // We calculate the min and max ranges of both comparators.
18
+ // The minimum min is 0.0.0, the maximum max is ANY.
19
+ //
20
+ // Comparators with equality operators have the same min and max.
21
+ //
22
+ // We then check to see if the min's of either range falls within the span of the other range.
23
+ //
24
+ // A couple of intersection examples:
25
+ // ```
26
+ // l0 ---- l1
27
+ // r0 ---- r1
28
+ // ```
29
+ // ```
30
+ // l0 ---- l1
31
+ // r0 ---- r1
32
+ // ```
33
+ // ```
34
+ // l0 ------ l1
35
+ // r0--r1
36
+ // ```
37
+ // ```
38
+ // l0 - l1
39
+ // r0 - r1
40
+ // ```
41
+ //
42
+ // non-intersection example
43
+ // ```
44
+ // l0 -- l1
45
+ // r0 -- r1
46
+ // ```
47
+ return ((0, gte_js_1.gte)(l0, r0) && (0, lte_js_1.lte)(l0, r1)) || ((0, gte_js_1.gte)(r0, l0) && (0, lte_js_1.lte)(r0, l1));
48
+ }
49
+ exports.comparatorIntersects = comparatorIntersects;
@@ -0,0 +1,9 @@
1
+ import type { Operator, SemVer } from "./types.js";
2
+ /**
3
+ * The maximum version that could match this comparator.
4
+ *
5
+ * If an invalid comparator is given such as <0.0.0 then
6
+ * an out of range semver will be returned.
7
+ * @returns the version, the MAX version or the next smallest patch version
8
+ */
9
+ export declare function comparatorMax(semver: SemVer, operator: Operator): SemVer;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.comparatorMax = void 0;
4
+ const constants_js_1 = require("./constants.js");
5
+ /**
6
+ * The maximum version that could match this comparator.
7
+ *
8
+ * If an invalid comparator is given such as <0.0.0 then
9
+ * an out of range semver will be returned.
10
+ * @returns the version, the MAX version or the next smallest patch version
11
+ */
12
+ function comparatorMax(semver, operator) {
13
+ if (semver === constants_js_1.ANY) {
14
+ return constants_js_1.MAX;
15
+ }
16
+ switch (operator) {
17
+ case "!=":
18
+ case "!==":
19
+ case ">":
20
+ case ">=":
21
+ return constants_js_1.MAX;
22
+ case "":
23
+ case "=":
24
+ case "==":
25
+ case "===":
26
+ case "<=":
27
+ return semver;
28
+ case "<": {
29
+ const patch = semver.patch - 1;
30
+ const minor = patch >= 0 ? semver.minor : semver.minor - 1;
31
+ const major = minor >= 0 ? semver.major : semver.major - 1;
32
+ // if you try to do <0.0.0 it will Give you -∞.∞.∞
33
+ // which means no SemVer can compare successfully to it.
34
+ if (major < 0) {
35
+ return constants_js_1.INVALID;
36
+ }
37
+ else {
38
+ return {
39
+ major,
40
+ minor: minor >= 0 ? minor : Number.POSITIVE_INFINITY,
41
+ patch: patch >= 0 ? patch : Number.POSITIVE_INFINITY,
42
+ prerelease: [],
43
+ build: [],
44
+ };
45
+ }
46
+ }
47
+ }
48
+ }
49
+ exports.comparatorMax = comparatorMax;
@@ -0,0 +1,8 @@
1
+ import type { Operator, SemVer } from "./types.js";
2
+ /**
3
+ * The minimum semantic version that could match this comparator
4
+ * @param semver The semantic version of the comparator
5
+ * @param operator The operator of the comparator
6
+ * @returns The minimum valid semantic version
7
+ */
8
+ export declare function comparatorMin(semver: SemVer, operator: Operator): SemVer;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.comparatorMin = void 0;
4
+ const constants_js_1 = require("./constants.js");
5
+ const gt_js_1 = require("./gt.js");
6
+ const increment_js_1 = require("./increment.js");
7
+ /**
8
+ * The minimum semantic version that could match this comparator
9
+ * @param semver The semantic version of the comparator
10
+ * @param operator The operator of the comparator
11
+ * @returns The minimum valid semantic version
12
+ */
13
+ function comparatorMin(semver, operator) {
14
+ if (semver === constants_js_1.ANY) {
15
+ return constants_js_1.MIN;
16
+ }
17
+ switch (operator) {
18
+ case ">":
19
+ return semver.prerelease.length > 0
20
+ ? (0, increment_js_1.increment)(semver, "pre")
21
+ : (0, increment_js_1.increment)(semver, "patch");
22
+ case "!=":
23
+ case "!==":
24
+ case "<=":
25
+ case "<":
26
+ // The min(<0.0.0) is MAX
27
+ return (0, gt_js_1.gt)(semver, constants_js_1.MIN) ? constants_js_1.MIN : constants_js_1.MAX;
28
+ case ">=":
29
+ case "":
30
+ case "=":
31
+ case "==":
32
+ case "===":
33
+ return semver;
34
+ }
35
+ }
36
+ exports.comparatorMin = comparatorMin;
@@ -0,0 +1,10 @@
1
+ import type { SemVer } from "./types.js";
2
+ /**
3
+ * Compare two semantic version objects.
4
+ *
5
+ * Returns `0` if `v1 === v2`, or `1` if `v1` is greater, or `-1` if `v2` is
6
+ * greater.
7
+ *
8
+ * Sorts in ascending order if passed to `Array.sort()`,
9
+ */
10
+ export declare function compare(s0: SemVer, s1: SemVer): 1 | 0 | -1;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compare = void 0;
4
+ const _shared_js_1 = require("./_shared.js");
5
+ /**
6
+ * Compare two semantic version objects.
7
+ *
8
+ * Returns `0` if `v1 === v2`, or `1` if `v1` is greater, or `-1` if `v2` is
9
+ * greater.
10
+ *
11
+ * Sorts in ascending order if passed to `Array.sort()`,
12
+ */
13
+ function compare(s0, s1) {
14
+ if (s0 === s1)
15
+ return 0;
16
+ return ((0, _shared_js_1.compareNumber)(s0.major, s1.major) ||
17
+ (0, _shared_js_1.compareNumber)(s0.minor, s1.minor) ||
18
+ (0, _shared_js_1.compareNumber)(s0.patch, s1.patch) ||
19
+ (0, _shared_js_1.checkIdentifier)(s0.prerelease, s1.prerelease) ||
20
+ (0, _shared_js_1.compareIdentifier)(s0.prerelease, s1.prerelease));
21
+ }
22
+ exports.compare = compare;
@@ -0,0 +1,13 @@
1
+ import type { SemVer } from "./types.js";
2
+ /**
3
+ * Compare two semantic version objects including build metadata.
4
+ *
5
+ * Returns `0` if `v1 === v2`, or `1` if `v1` is greater, or `-1` if `v2` is
6
+ * greater.
7
+ *
8
+ * Sorts in ascending order if passed to `Array.sort()`,
9
+ * @param s0
10
+ * @param s1
11
+ * @returns
12
+ */
13
+ export declare function compareBuild(s0: SemVer, s1: SemVer): 1 | 0 | -1;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareBuild = void 0;
4
+ const _shared_js_1 = require("./_shared.js");
5
+ /**
6
+ * Compare two semantic version objects including build metadata.
7
+ *
8
+ * Returns `0` if `v1 === v2`, or `1` if `v1` is greater, or `-1` if `v2` is
9
+ * greater.
10
+ *
11
+ * Sorts in ascending order if passed to `Array.sort()`,
12
+ * @param s0
13
+ * @param s1
14
+ * @returns
15
+ */
16
+ function compareBuild(s0, s1) {
17
+ if (s0 === s1)
18
+ return 0;
19
+ return ((0, _shared_js_1.compareNumber)(s0.major, s1.major) ||
20
+ (0, _shared_js_1.compareNumber)(s0.minor, s1.minor) ||
21
+ (0, _shared_js_1.compareNumber)(s0.patch, s1.patch) ||
22
+ (0, _shared_js_1.checkIdentifier)(s0.prerelease, s1.prerelease) ||
23
+ (0, _shared_js_1.compareIdentifier)(s0.prerelease, s1.prerelease) ||
24
+ (0, _shared_js_1.checkIdentifier)(s1.build, s0.build) ||
25
+ (0, _shared_js_1.compareIdentifier)(s0.build, s1.build));
26
+ }
27
+ exports.compareBuild = compareBuild;
@@ -0,0 +1,42 @@
1
+ import type { SemVer, SemVerComparator } from "./types.js";
2
+ /**
3
+ * MAX is a sentinel value used by some range calculations.
4
+ * It is equivalent to `∞.∞.∞`.
5
+ */
6
+ export declare const MAX: SemVer;
7
+ /**
8
+ * The minimum valid SemVer object. Equivalent to `0.0.0`.
9
+ */
10
+ export declare const MIN: SemVer;
11
+ /**
12
+ * A sentinel value used to denote an invalid SemVer object
13
+ * which may be the result of impossible ranges or comparator operations.
14
+ * @example
15
+ * ```ts
16
+ * import { eq } from "https://deno.land/std@$STD_VERSION/semver/eq.ts";
17
+ * import { parse } from "https://deno.land/std@$STD_VERSION/semver/parse.ts";
18
+ * import { INVALID } from "https://deno.land/std@$STD_VERSION/semver/constants.ts"
19
+ * eq(parse("1.2.3"), INVALID);
20
+ * ```
21
+ */
22
+ export declare const INVALID: SemVer;
23
+ /**
24
+ * ANY is a sentinel value used by some range calculations. It is not a valid
25
+ * SemVer object and should not be used directly.
26
+ * @example
27
+ * ```ts
28
+ * import { eq } from "https://deno.land/std@$STD_VERSION/semver/eq.ts";
29
+ * import { parse } from "https://deno.land/std@$STD_VERSION/semver/parse.ts";
30
+ * import { ANY } from "https://deno.land/std@$STD_VERSION/semver/constants.ts"
31
+ * eq(parse("1.2.3"), ANY); // false
32
+ * ```
33
+ */
34
+ export declare const ANY: SemVer;
35
+ /**
36
+ * A comparator which will span all valid semantic versions
37
+ */
38
+ export declare const ALL: SemVerComparator;
39
+ /**
40
+ * A comparator which will not span any semantic versions
41
+ */
42
+ export declare const NONE: SemVerComparator;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NONE = exports.ALL = exports.ANY = exports.INVALID = exports.MIN = exports.MAX = void 0;
4
+ /**
5
+ * MAX is a sentinel value used by some range calculations.
6
+ * It is equivalent to `∞.∞.∞`.
7
+ */
8
+ exports.MAX = {
9
+ major: Number.POSITIVE_INFINITY,
10
+ minor: Number.POSITIVE_INFINITY,
11
+ patch: Number.POSITIVE_INFINITY,
12
+ prerelease: [],
13
+ build: [],
14
+ };
15
+ /**
16
+ * The minimum valid SemVer object. Equivalent to `0.0.0`.
17
+ */
18
+ exports.MIN = {
19
+ major: 0,
20
+ minor: 0,
21
+ patch: 0,
22
+ prerelease: [],
23
+ build: [],
24
+ };
25
+ /**
26
+ * A sentinel value used to denote an invalid SemVer object
27
+ * which may be the result of impossible ranges or comparator operations.
28
+ * @example
29
+ * ```ts
30
+ * import { eq } from "https://deno.land/std@$STD_VERSION/semver/eq.ts";
31
+ * import { parse } from "https://deno.land/std@$STD_VERSION/semver/parse.ts";
32
+ * import { INVALID } from "https://deno.land/std@$STD_VERSION/semver/constants.ts"
33
+ * eq(parse("1.2.3"), INVALID);
34
+ * ```
35
+ */
36
+ exports.INVALID = {
37
+ major: Number.NEGATIVE_INFINITY,
38
+ minor: Number.POSITIVE_INFINITY,
39
+ patch: Number.POSITIVE_INFINITY,
40
+ prerelease: [],
41
+ build: [],
42
+ };
43
+ /**
44
+ * ANY is a sentinel value used by some range calculations. It is not a valid
45
+ * SemVer object and should not be used directly.
46
+ * @example
47
+ * ```ts
48
+ * import { eq } from "https://deno.land/std@$STD_VERSION/semver/eq.ts";
49
+ * import { parse } from "https://deno.land/std@$STD_VERSION/semver/parse.ts";
50
+ * import { ANY } from "https://deno.land/std@$STD_VERSION/semver/constants.ts"
51
+ * eq(parse("1.2.3"), ANY); // false
52
+ * ```
53
+ */
54
+ exports.ANY = {
55
+ major: Number.NaN,
56
+ minor: Number.NaN,
57
+ patch: Number.NaN,
58
+ prerelease: [],
59
+ build: [],
60
+ };
61
+ /**
62
+ * A comparator which will span all valid semantic versions
63
+ */
64
+ exports.ALL = {
65
+ operator: "",
66
+ semver: exports.ANY,
67
+ min: exports.MIN,
68
+ max: exports.MAX,
69
+ };
70
+ /**
71
+ * A comparator which will not span any semantic versions
72
+ */
73
+ exports.NONE = {
74
+ operator: "<",
75
+ semver: exports.MIN,
76
+ min: exports.MAX,
77
+ max: exports.MIN,
78
+ };
@@ -0,0 +1,4 @@
1
+ import type { ReleaseType, SemVer } from "./types.js";
2
+ /** Returns difference between two versions by the release type, or
3
+ * `undefined` if the versions are the same. */
4
+ export declare function difference(s0: SemVer, s1: SemVer): ReleaseType | undefined;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.difference = void 0;
4
+ const eq_js_1 = require("./eq.js");
5
+ /** Returns difference between two versions by the release type, or
6
+ * `undefined` if the versions are the same. */
7
+ function difference(s0, s1) {
8
+ if ((0, eq_js_1.eq)(s0, s1)) {
9
+ return undefined;
10
+ }
11
+ else {
12
+ let prefix = "";
13
+ let defaultResult = undefined;
14
+ if (s0 && s1) {
15
+ if (s0.prerelease.length || s1.prerelease.length) {
16
+ prefix = "pre";
17
+ defaultResult = "prerelease";
18
+ }
19
+ for (const key in s0) {
20
+ if (key === "major" || key === "minor" || key === "patch") {
21
+ if (s0[key] !== s1[key]) {
22
+ return (prefix + key);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ return defaultResult; // may be undefined
28
+ }
29
+ }
30
+ exports.difference = difference;
@@ -0,0 +1,4 @@
1
+ import type { SemVer } from "./types.js";
2
+ /** Returns `true` if they're logically equivalent, even if they're not the exact
3
+ * same version object. */
4
+ export declare function eq(s0: SemVer, s1: SemVer): boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eq = void 0;
4
+ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
5
+ const compare_js_1 = require("./compare.js");
6
+ /** Returns `true` if they're logically equivalent, even if they're not the exact
7
+ * same version object. */
8
+ function eq(s0, s1) {
9
+ return (0, compare_js_1.compare)(s0, s1) === 0;
10
+ }
11
+ exports.eq = eq;
@@ -0,0 +1,12 @@
1
+ import type { FormatStyle, SemVer } from "./types.js";
2
+ /**
3
+ * Format a SemVer object into a string.
4
+ *
5
+ * If any number is NaN then NaN will be printed.
6
+ *
7
+ * If any number is positive or negative infinity then '∞' or '⧞' will be printed instead.
8
+ *
9
+ * @param semver The semantic version to format
10
+ * @returns The string representation of a semantic version.
11
+ */
12
+ export declare function format(semver: SemVer, style?: FormatStyle): string;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.format = void 0;
4
+ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
5
+ const constants_js_1 = require("./constants.js");
6
+ function formatNumber(value) {
7
+ if (value === Number.POSITIVE_INFINITY) {
8
+ return "∞";
9
+ }
10
+ else if (value === Number.NEGATIVE_INFINITY) {
11
+ return "⧞";
12
+ }
13
+ else {
14
+ return value.toFixed(0);
15
+ }
16
+ }
17
+ /**
18
+ * Format a SemVer object into a string.
19
+ *
20
+ * If any number is NaN then NaN will be printed.
21
+ *
22
+ * If any number is positive or negative infinity then '∞' or '⧞' will be printed instead.
23
+ *
24
+ * @param semver The semantic version to format
25
+ * @returns The string representation of a semantic version.
26
+ */
27
+ function format(semver, style = "full") {
28
+ if (semver === constants_js_1.ANY) {
29
+ return "*";
30
+ }
31
+ const major = formatNumber(semver.major);
32
+ const minor = formatNumber(semver.minor);
33
+ const patch = formatNumber(semver.patch);
34
+ const pre = semver.prerelease.join(".");
35
+ const build = semver.build.join(".");
36
+ const primary = `${major}.${minor}.${patch}`;
37
+ const release = [primary, pre].filter((v) => v).join("-");
38
+ const full = [release, build].filter((v) => v).join("+");
39
+ switch (style) {
40
+ case "full":
41
+ return full;
42
+ case "release":
43
+ return release;
44
+ case "primary":
45
+ return primary;
46
+ case "build":
47
+ return build;
48
+ case "pre":
49
+ return pre;
50
+ case "patch":
51
+ return patch;
52
+ case "minor":
53
+ return minor;
54
+ case "major":
55
+ return major;
56
+ }
57
+ }
58
+ exports.format = format;
@@ -0,0 +1,3 @@
1
+ import type { SemVer } from "./types.js";
2
+ /** Greater than comparison */
3
+ export declare function gt(s0: SemVer, s1: SemVer): boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gt = void 0;
4
+ const compare_js_1 = require("./compare.js");
5
+ /** Greater than comparison */
6
+ function gt(s0, s1) {
7
+ return (0, compare_js_1.compare)(s0, s1) > 0;
8
+ }
9
+ exports.gt = gt;
@@ -0,0 +1,3 @@
1
+ import type { SemVer } from "./types.js";
2
+ /** Greater than or equal to comparison */
3
+ export declare function gte(s0: SemVer, s1: SemVer): boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gte = void 0;
4
+ const compare_js_1 = require("./compare.js");
5
+ /** Greater than or equal to comparison */
6
+ function gte(s0, s1) {
7
+ return (0, compare_js_1.compare)(s0, s1) >= 0;
8
+ }
9
+ exports.gte = gte;
@@ -0,0 +1,3 @@
1
+ import type { SemVer, SemVerRange } from "./types.js";
2
+ /** Checks to see if the version is greater than all possible versions of the range. */
3
+ export declare function gtr(version: SemVer, range: SemVerRange): boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gtr = void 0;
4
+ const outside_js_1 = require("./outside.js");
5
+ /** Checks to see if the version is greater than all possible versions of the range. */
6
+ function gtr(version, range) {
7
+ return (0, outside_js_1.outside)(version, range, ">");
8
+ }
9
+ exports.gtr = gtr;
@@ -0,0 +1,28 @@
1
+ import type { ReleaseType, SemVer } from "./types.js";
2
+ /**
3
+ * Returns the new version resulting from an increment by release type.
4
+ *
5
+ * `premajor`, `preminor` and `prepatch` will bump the version up to the next version,
6
+ * based on the type, and will also add prerelease metadata.
7
+ *
8
+ * If called from a non-prerelease version, the `prerelease` will work the same as
9
+ * `prepatch`. The patch version is incremented and then is made into a prerelease. If
10
+ * the input version is already a prerelease it will simply increment the prerelease
11
+ * metadata.
12
+ *
13
+ * If a prerelease identifier is specified without a number then a number will be added.
14
+ * For example `pre` will result in `pre.0`. If the existing version already has a
15
+ * prerelease with a number and its the same prerelease identifier then the number
16
+ * will be incremented. If the identifier differs from the new identifier then the new
17
+ * identifier is applied and the number is reset to `0`.
18
+ *
19
+ * If the input version has build metadata it will be preserved on the resulting version
20
+ * unless a new build parameter is specified. Specifying `""` will unset existing build
21
+ * metadata.
22
+ * @param version The version to increment
23
+ * @param release The type of increment to perform
24
+ * @param prerelease The pre-release metadata of the new version
25
+ * @param build The build metadata of the new version
26
+ * @returns
27
+ */
28
+ export declare function increment(version: SemVer, release: ReleaseType, prerelease?: string, build?: string): SemVer;