keep-a-changelog 2.3.0 → 2.4.1

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 (207) hide show
  1. package/CHANGELOG.md +17 -2
  2. package/README.md +20 -6
  3. package/esm/_dnt.shims.js +0 -1
  4. package/esm/deps/deno.land/std@0.203.0/semver/_shared.d.ts +42 -0
  5. package/esm/deps/deno.land/std@0.203.0/semver/_shared.js +230 -0
  6. package/esm/deps/deno.land/std@0.203.0/semver/cmp.d.ts +9 -0
  7. package/esm/deps/deno.land/std@0.203.0/semver/cmp.js +35 -0
  8. package/esm/deps/deno.land/std@0.203.0/semver/comparator_format.d.ts +8 -0
  9. package/esm/deps/deno.land/std@0.203.0/semver/comparator_format.js +11 -0
  10. package/esm/deps/deno.land/std@0.203.0/semver/comparator_intersects.d.ts +8 -0
  11. package/esm/deps/deno.land/std@0.203.0/semver/comparator_intersects.js +45 -0
  12. package/esm/deps/deno.land/std@0.203.0/semver/comparator_max.d.ts +9 -0
  13. package/esm/deps/deno.land/std@0.203.0/semver/comparator_max.js +45 -0
  14. package/esm/deps/deno.land/std@0.203.0/semver/comparator_min.d.ts +8 -0
  15. package/esm/deps/deno.land/std@0.203.0/semver/comparator_min.js +32 -0
  16. package/esm/deps/deno.land/std@0.203.0/semver/compare.d.ts +10 -0
  17. package/esm/deps/deno.land/std@0.203.0/semver/compare.js +18 -0
  18. package/esm/deps/deno.land/std@0.203.0/semver/compare_build.d.ts +13 -0
  19. package/esm/deps/deno.land/std@0.203.0/semver/compare_build.js +23 -0
  20. package/esm/deps/deno.land/std@0.203.0/semver/constants.d.ts +42 -0
  21. package/esm/deps/deno.land/std@0.203.0/semver/constants.js +75 -0
  22. package/esm/deps/deno.land/std@0.203.0/semver/difference.d.ts +4 -0
  23. package/esm/deps/deno.land/std@0.203.0/semver/difference.js +26 -0
  24. package/esm/deps/deno.land/std@0.203.0/semver/eq.d.ts +4 -0
  25. package/esm/deps/deno.land/std@0.203.0/semver/eq.js +7 -0
  26. package/esm/deps/deno.land/std@0.203.0/semver/format.d.ts +12 -0
  27. package/esm/deps/deno.land/std@0.203.0/semver/format.js +54 -0
  28. package/esm/deps/deno.land/std@0.203.0/semver/gt.d.ts +3 -0
  29. package/esm/deps/deno.land/std@0.203.0/semver/gt.js +5 -0
  30. package/esm/deps/deno.land/std@0.203.0/semver/gte.d.ts +3 -0
  31. package/esm/deps/deno.land/std@0.203.0/semver/gte.js +5 -0
  32. package/esm/deps/deno.land/std@0.203.0/semver/gtr.d.ts +3 -0
  33. package/esm/deps/deno.land/std@0.203.0/semver/gtr.js +5 -0
  34. package/esm/deps/deno.land/std@0.203.0/semver/increment.d.ts +28 -0
  35. package/esm/deps/deno.land/std@0.203.0/semver/increment.js +207 -0
  36. package/esm/deps/deno.land/std@0.203.0/semver/is_semver.d.ts +17 -0
  37. package/esm/deps/deno.land/std@0.203.0/semver/is_semver.js +41 -0
  38. package/esm/deps/deno.land/std@0.203.0/semver/is_semver_comparator.d.ts +12 -0
  39. package/esm/deps/deno.land/std@0.203.0/semver/is_semver_comparator.js +31 -0
  40. package/esm/deps/deno.land/std@0.203.0/semver/is_semver_range.d.ts +12 -0
  41. package/esm/deps/deno.land/std@0.203.0/semver/is_semver_range.js +22 -0
  42. package/esm/deps/deno.land/std@0.203.0/semver/lt.d.ts +3 -0
  43. package/esm/deps/deno.land/std@0.203.0/semver/lt.js +5 -0
  44. package/esm/deps/deno.land/std@0.203.0/semver/lte.d.ts +3 -0
  45. package/esm/deps/deno.land/std@0.203.0/semver/lte.js +5 -0
  46. package/esm/deps/deno.land/std@0.203.0/semver/ltr.d.ts +3 -0
  47. package/esm/deps/deno.land/std@0.203.0/semver/ltr.js +5 -0
  48. package/esm/deps/deno.land/std@0.203.0/semver/max_satisfying.d.ts +9 -0
  49. package/esm/deps/deno.land/std@0.203.0/semver/max_satisfying.js +14 -0
  50. package/esm/deps/deno.land/std@0.203.0/semver/min_satisfying.d.ts +9 -0
  51. package/esm/deps/deno.land/std@0.203.0/semver/min_satisfying.js +14 -0
  52. package/esm/deps/deno.land/{std@0.173.0 → std@0.203.0}/semver/mod.d.ts +88 -176
  53. package/esm/deps/deno.land/std@0.203.0/semver/mod.js +313 -0
  54. package/esm/deps/deno.land/std@0.203.0/semver/neq.d.ts +3 -0
  55. package/esm/deps/deno.land/std@0.203.0/semver/neq.js +5 -0
  56. package/esm/deps/deno.land/std@0.203.0/semver/outside.d.ts +11 -0
  57. package/esm/deps/deno.land/std@0.203.0/semver/outside.js +67 -0
  58. package/esm/deps/deno.land/std@0.203.0/semver/parse.d.ts +8 -0
  59. package/esm/deps/deno.land/std@0.203.0/semver/parse.js +66 -0
  60. package/esm/deps/deno.land/std@0.203.0/semver/parse_comparator.d.ts +7 -0
  61. package/esm/deps/deno.land/std@0.203.0/semver/parse_comparator.js +28 -0
  62. package/esm/deps/deno.land/std@0.203.0/semver/parse_range.d.ts +7 -0
  63. package/esm/deps/deno.land/std@0.203.0/semver/parse_range.js +292 -0
  64. package/esm/deps/deno.land/std@0.203.0/semver/range_format.d.ts +8 -0
  65. package/esm/deps/deno.land/std@0.203.0/semver/range_format.js +11 -0
  66. package/esm/deps/deno.land/std@0.203.0/semver/range_intersects.d.ts +8 -0
  67. package/esm/deps/deno.land/std@0.203.0/semver/range_intersects.js +35 -0
  68. package/esm/deps/deno.land/std@0.203.0/semver/range_max.d.ts +7 -0
  69. package/esm/deps/deno.land/std@0.203.0/semver/range_max.js +15 -0
  70. package/esm/deps/deno.land/std@0.203.0/semver/range_min.d.ts +7 -0
  71. package/esm/deps/deno.land/std@0.203.0/semver/range_min.js +14 -0
  72. package/esm/deps/deno.land/std@0.203.0/semver/rcompare.d.ts +8 -0
  73. package/esm/deps/deno.land/std@0.203.0/semver/rcompare.js +10 -0
  74. package/esm/deps/deno.land/std@0.203.0/semver/rsort.d.ts +3 -0
  75. package/esm/deps/deno.land/std@0.203.0/semver/rsort.js +5 -0
  76. package/esm/deps/deno.land/std@0.203.0/semver/sort.d.ts +3 -0
  77. package/esm/deps/deno.land/std@0.203.0/semver/sort.js +5 -0
  78. package/esm/deps/deno.land/std@0.203.0/semver/test_comparator.d.ts +8 -0
  79. package/esm/deps/deno.land/std@0.203.0/semver/test_comparator.js +10 -0
  80. package/esm/deps/deno.land/std@0.203.0/semver/test_range.d.ts +8 -0
  81. package/esm/deps/deno.land/std@0.203.0/semver/test_range.js +16 -0
  82. package/esm/deps/deno.land/std@0.203.0/semver/types.d.ts +44 -0
  83. package/esm/deps/deno.land/std@0.203.0/semver/types.js +2 -0
  84. package/esm/src/Changelog.d.ts +4 -2
  85. package/esm/src/Changelog.js +25 -4
  86. package/esm/src/Release.d.ts +5 -4
  87. package/esm/src/Release.js +21 -22
  88. package/esm/src/deps.d.ts +2 -1
  89. package/esm/src/deps.js +1 -1
  90. package/esm/test/changelog.custom.type.md +2 -3
  91. package/esm/test/changelog.expected.linted.md +3 -4
  92. package/esm/test/changelog.expected.md +3 -4
  93. package/esm/test/changelog.md +3 -4
  94. package/esm/test/empty.expected.md +2 -2
  95. package/package.json +2 -2
  96. package/script/_dnt.shims.js +0 -1
  97. package/script/deps/deno.land/std@0.203.0/semver/_shared.d.ts +42 -0
  98. package/script/deps/deno.land/std@0.203.0/semver/_shared.js +248 -0
  99. package/script/deps/deno.land/std@0.203.0/semver/cmp.d.ts +9 -0
  100. package/script/deps/deno.land/std@0.203.0/semver/cmp.js +39 -0
  101. package/script/deps/deno.land/std@0.203.0/semver/comparator_format.d.ts +8 -0
  102. package/script/deps/deno.land/std@0.203.0/semver/comparator_format.js +15 -0
  103. package/script/deps/deno.land/std@0.203.0/semver/comparator_intersects.d.ts +8 -0
  104. package/script/deps/deno.land/std@0.203.0/semver/comparator_intersects.js +49 -0
  105. package/script/deps/deno.land/std@0.203.0/semver/comparator_max.d.ts +9 -0
  106. package/script/deps/deno.land/std@0.203.0/semver/comparator_max.js +49 -0
  107. package/script/deps/deno.land/std@0.203.0/semver/comparator_min.d.ts +8 -0
  108. package/script/deps/deno.land/std@0.203.0/semver/comparator_min.js +36 -0
  109. package/script/deps/deno.land/std@0.203.0/semver/compare.d.ts +10 -0
  110. package/script/deps/deno.land/std@0.203.0/semver/compare.js +22 -0
  111. package/script/deps/deno.land/std@0.203.0/semver/compare_build.d.ts +13 -0
  112. package/script/deps/deno.land/std@0.203.0/semver/compare_build.js +27 -0
  113. package/script/deps/deno.land/std@0.203.0/semver/constants.d.ts +42 -0
  114. package/script/deps/deno.land/std@0.203.0/semver/constants.js +78 -0
  115. package/script/deps/deno.land/std@0.203.0/semver/difference.d.ts +4 -0
  116. package/script/deps/deno.land/std@0.203.0/semver/difference.js +30 -0
  117. package/script/deps/deno.land/std@0.203.0/semver/eq.d.ts +4 -0
  118. package/script/deps/deno.land/std@0.203.0/semver/eq.js +11 -0
  119. package/script/deps/deno.land/std@0.203.0/semver/format.d.ts +12 -0
  120. package/script/deps/deno.land/std@0.203.0/semver/format.js +58 -0
  121. package/script/deps/deno.land/std@0.203.0/semver/gt.d.ts +3 -0
  122. package/script/deps/deno.land/std@0.203.0/semver/gt.js +9 -0
  123. package/script/deps/deno.land/std@0.203.0/semver/gte.d.ts +3 -0
  124. package/script/deps/deno.land/std@0.203.0/semver/gte.js +9 -0
  125. package/script/deps/deno.land/std@0.203.0/semver/gtr.d.ts +3 -0
  126. package/script/deps/deno.land/std@0.203.0/semver/gtr.js +9 -0
  127. package/script/deps/deno.land/std@0.203.0/semver/increment.d.ts +28 -0
  128. package/script/deps/deno.land/std@0.203.0/semver/increment.js +211 -0
  129. package/script/deps/deno.land/std@0.203.0/semver/is_semver.d.ts +17 -0
  130. package/script/deps/deno.land/std@0.203.0/semver/is_semver.js +45 -0
  131. package/script/deps/deno.land/std@0.203.0/semver/is_semver_comparator.d.ts +12 -0
  132. package/script/deps/deno.land/std@0.203.0/semver/is_semver_comparator.js +35 -0
  133. package/script/deps/deno.land/std@0.203.0/semver/is_semver_range.d.ts +12 -0
  134. package/script/deps/deno.land/std@0.203.0/semver/is_semver_range.js +26 -0
  135. package/script/deps/deno.land/std@0.203.0/semver/lt.d.ts +3 -0
  136. package/script/deps/deno.land/std@0.203.0/semver/lt.js +9 -0
  137. package/script/deps/deno.land/std@0.203.0/semver/lte.d.ts +3 -0
  138. package/script/deps/deno.land/std@0.203.0/semver/lte.js +9 -0
  139. package/script/deps/deno.land/std@0.203.0/semver/ltr.d.ts +3 -0
  140. package/script/deps/deno.land/std@0.203.0/semver/ltr.js +9 -0
  141. package/script/deps/deno.land/std@0.203.0/semver/max_satisfying.d.ts +9 -0
  142. package/script/deps/deno.land/std@0.203.0/semver/max_satisfying.js +18 -0
  143. package/script/deps/deno.land/std@0.203.0/semver/min_satisfying.d.ts +9 -0
  144. package/script/deps/deno.land/std@0.203.0/semver/min_satisfying.js +18 -0
  145. package/script/deps/deno.land/{std@0.173.0 → std@0.203.0}/semver/mod.d.ts +88 -176
  146. package/script/deps/deno.land/std@0.203.0/semver/mod.js +330 -0
  147. package/script/deps/deno.land/std@0.203.0/semver/neq.d.ts +3 -0
  148. package/script/deps/deno.land/std@0.203.0/semver/neq.js +9 -0
  149. package/script/deps/deno.land/std@0.203.0/semver/outside.d.ts +11 -0
  150. package/script/deps/deno.land/std@0.203.0/semver/outside.js +71 -0
  151. package/script/deps/deno.land/std@0.203.0/semver/parse.d.ts +8 -0
  152. package/script/deps/deno.land/std@0.203.0/semver/parse.js +70 -0
  153. package/script/deps/deno.land/std@0.203.0/semver/parse_comparator.d.ts +7 -0
  154. package/script/deps/deno.land/std@0.203.0/semver/parse_comparator.js +32 -0
  155. package/script/deps/deno.land/std@0.203.0/semver/parse_range.d.ts +7 -0
  156. package/script/deps/deno.land/std@0.203.0/semver/parse_range.js +296 -0
  157. package/script/deps/deno.land/std@0.203.0/semver/range_format.d.ts +8 -0
  158. package/script/deps/deno.land/std@0.203.0/semver/range_format.js +15 -0
  159. package/script/deps/deno.land/std@0.203.0/semver/range_intersects.d.ts +8 -0
  160. package/script/deps/deno.land/std@0.203.0/semver/range_intersects.js +39 -0
  161. package/script/deps/deno.land/std@0.203.0/semver/range_max.d.ts +7 -0
  162. package/script/deps/deno.land/std@0.203.0/semver/range_max.js +19 -0
  163. package/script/deps/deno.land/std@0.203.0/semver/range_min.d.ts +7 -0
  164. package/script/deps/deno.land/std@0.203.0/semver/range_min.js +18 -0
  165. package/script/deps/deno.land/std@0.203.0/semver/rcompare.d.ts +8 -0
  166. package/script/deps/deno.land/std@0.203.0/semver/rcompare.js +14 -0
  167. package/script/deps/deno.land/std@0.203.0/semver/rsort.d.ts +3 -0
  168. package/script/deps/deno.land/std@0.203.0/semver/rsort.js +9 -0
  169. package/script/deps/deno.land/std@0.203.0/semver/sort.d.ts +3 -0
  170. package/script/deps/deno.land/std@0.203.0/semver/sort.js +9 -0
  171. package/script/deps/deno.land/std@0.203.0/semver/test_comparator.d.ts +8 -0
  172. package/script/deps/deno.land/std@0.203.0/semver/test_comparator.js +14 -0
  173. package/script/deps/deno.land/std@0.203.0/semver/test_range.d.ts +8 -0
  174. package/script/deps/deno.land/std@0.203.0/semver/test_range.js +20 -0
  175. package/script/deps/deno.land/std@0.203.0/semver/types.d.ts +44 -0
  176. package/script/deps/deno.land/std@0.203.0/semver/types.js +3 -0
  177. package/script/src/Changelog.d.ts +4 -2
  178. package/script/src/Changelog.js +24 -3
  179. package/script/src/Release.d.ts +5 -4
  180. package/script/src/Release.js +20 -21
  181. package/script/src/deps.d.ts +2 -1
  182. package/script/src/deps.js +5 -6
  183. package/script/test/changelog.custom.type.md +2 -3
  184. package/script/test/changelog.expected.linted.md +3 -4
  185. package/script/test/changelog.expected.md +3 -4
  186. package/script/test/changelog.md +3 -4
  187. package/script/test/empty.expected.md +2 -2
  188. package/esm/_dnt.test_shims.d.ts +0 -5
  189. package/esm/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
  190. package/esm/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
  191. package/esm/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
  192. package/esm/deps/deno.land/std@0.173.0/semver/mod.js +0 -1420
  193. package/esm/test/Change.test.d.ts +0 -1
  194. package/esm/test/deps.d.ts +0 -1
  195. package/esm/test/fixture/CustomRelease.d.ts +0 -8
  196. package/esm/test/parser.test.d.ts +0 -1
  197. package/esm/test/test.d.ts +0 -1
  198. package/script/_dnt.test_shims.d.ts +0 -5
  199. package/script/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
  200. package/script/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
  201. package/script/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
  202. package/script/deps/deno.land/std@0.173.0/semver/mod.js +0 -1458
  203. package/script/test/Change.test.d.ts +0 -1
  204. package/script/test/deps.d.ts +0 -1
  205. package/script/test/fixture/CustomRelease.d.ts +0 -8
  206. package/script/test/parser.test.d.ts +0 -1
  207. package/script/test/test.d.ts +0 -1
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.XRANGE = exports.TILDE = exports.STAR = exports.src = exports.re = exports.NUMERICIDENTIFIER = exports.HYPHENRANGE = exports.FULL = exports.COMPARATOR = exports.CARET = exports.isValidOperator = exports.isValidString = exports.MAX_LENGTH = exports.isValidNumber = exports.compareIdentifier = exports.checkIdentifier = exports.compareNumber = void 0;
5
+ function compareNumber(a, b) {
6
+ if (isNaN(a) || isNaN(b)) {
7
+ throw new Error("Comparison against non-numbers");
8
+ }
9
+ return a === b ? 0 : a < b ? -1 : 1;
10
+ }
11
+ exports.compareNumber = compareNumber;
12
+ function checkIdentifier(v1, v2) {
13
+ // NOT having a prerelease is > having one
14
+ // But NOT having a build is < having one
15
+ if (v1.length && !v2.length) {
16
+ return -1;
17
+ }
18
+ else if (!v1.length && v2.length) {
19
+ return 1;
20
+ }
21
+ else {
22
+ return 0;
23
+ }
24
+ }
25
+ exports.checkIdentifier = checkIdentifier;
26
+ function compareIdentifier(v1, v2) {
27
+ let i = 0;
28
+ do {
29
+ const a = v1[i];
30
+ const b = v2[i];
31
+ if (a === undefined && b === undefined) {
32
+ // same length is equal
33
+ return 0;
34
+ }
35
+ else if (b === undefined) {
36
+ // longer > shorter
37
+ return 1;
38
+ }
39
+ else if (a === undefined) {
40
+ // shorter < longer
41
+ return -1;
42
+ }
43
+ else if (typeof a === "string" && typeof b === "number") {
44
+ // string > number
45
+ return 1;
46
+ }
47
+ else if (typeof a === "number" && typeof b === "string") {
48
+ // number < string
49
+ return -1;
50
+ }
51
+ else if (a < b) {
52
+ return -1;
53
+ }
54
+ else if (a > b) {
55
+ return 1;
56
+ }
57
+ else {
58
+ // If they're equal, continue comparing segments.
59
+ continue;
60
+ }
61
+ } while (++i);
62
+ // It can't ever reach here, but typescript doesn't realize that so
63
+ // add this line so the return type is inferred correctly.
64
+ return 0;
65
+ }
66
+ exports.compareIdentifier = compareIdentifier;
67
+ // The actual regexps
68
+ const re = [];
69
+ exports.re = re;
70
+ const src = [];
71
+ exports.src = src;
72
+ let R = 0;
73
+ // The following Regular Expressions can be used for tokenizing,
74
+ // validating, and parsing SemVer version strings.
75
+ // ## Numeric Identifier
76
+ // A single `0`, or a non-zero digit followed by zero or more digits.
77
+ const NUMERICIDENTIFIER = R++;
78
+ exports.NUMERICIDENTIFIER = NUMERICIDENTIFIER;
79
+ src[NUMERICIDENTIFIER] = "0|[1-9]\\d*";
80
+ // ## Non-numeric Identifier
81
+ // Zero or more digits, followed by a letter or hyphen, and then zero or
82
+ // more letters, digits, or hyphens.
83
+ const NONNUMERICIDENTIFIER = R++;
84
+ src[NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
85
+ // ## Main Version
86
+ // Three dot-separated numeric identifiers.
87
+ const MAINVERSION = R++;
88
+ const nid = src[NUMERICIDENTIFIER];
89
+ src[MAINVERSION] = `(${nid})\\.(${nid})\\.(${nid})`;
90
+ // ## Pre-release Version Identifier
91
+ // A numeric identifier, or a non-numeric identifier.
92
+ const PRERELEASEIDENTIFIER = R++;
93
+ src[PRERELEASEIDENTIFIER] = "(?:" + src[NUMERICIDENTIFIER] + "|" +
94
+ src[NONNUMERICIDENTIFIER] + ")";
95
+ // ## Pre-release Version
96
+ // Hyphen, followed by one or more dot-separated pre-release version
97
+ // identifiers.
98
+ const PRERELEASE = R++;
99
+ src[PRERELEASE] = "(?:-(" +
100
+ src[PRERELEASEIDENTIFIER] +
101
+ "(?:\\." +
102
+ src[PRERELEASEIDENTIFIER] +
103
+ ")*))";
104
+ // ## Build Metadata Identifier
105
+ // Any combination of digits, letters, or hyphens.
106
+ const BUILDIDENTIFIER = R++;
107
+ src[BUILDIDENTIFIER] = "[0-9A-Za-z-]+";
108
+ // ## Build Metadata
109
+ // Plus sign, followed by one or more period-separated build metadata
110
+ // identifiers.
111
+ const BUILD = R++;
112
+ src[BUILD] = "(?:\\+(" + src[BUILDIDENTIFIER] + "(?:\\." +
113
+ src[BUILDIDENTIFIER] + ")*))";
114
+ // ## Full Version String
115
+ // A main version, followed optionally by a pre-release version and
116
+ // build metadata.
117
+ // Note that the only major, minor, patch, and pre-release sections of
118
+ // the version string are capturing groups. The build metadata is not a
119
+ // capturing group, because it should not ever be used in version
120
+ // comparison.
121
+ const FULL = R++;
122
+ exports.FULL = FULL;
123
+ const FULLPLAIN = "v?" + src[MAINVERSION] + src[PRERELEASE] + "?" + src[BUILD] +
124
+ "?";
125
+ src[FULL] = "^" + FULLPLAIN + "$";
126
+ const GTLT = R++;
127
+ src[GTLT] = "((?:<|>)?=?)";
128
+ // Something like "2.*" or "1.2.x".
129
+ // Note that "x.x" is a valid xRange identifier, meaning "any version"
130
+ // Only the first item is strictly required.
131
+ const XRANGEIDENTIFIER = R++;
132
+ src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + "|x|X|\\*";
133
+ const XRANGEPLAIN = R++;
134
+ src[XRANGEPLAIN] = "[v=\\s]*(" +
135
+ src[XRANGEIDENTIFIER] +
136
+ ")" +
137
+ "(?:\\.(" +
138
+ src[XRANGEIDENTIFIER] +
139
+ ")" +
140
+ "(?:\\.(" +
141
+ src[XRANGEIDENTIFIER] +
142
+ ")" +
143
+ "(?:" +
144
+ src[PRERELEASE] +
145
+ ")?" +
146
+ src[BUILD] +
147
+ "?" +
148
+ ")?)?";
149
+ const XRANGE = R++;
150
+ exports.XRANGE = XRANGE;
151
+ src[XRANGE] = "^" + src[GTLT] + "\\s*" + src[XRANGEPLAIN] + "$";
152
+ // Tilde ranges.
153
+ // Meaning is "reasonably at or greater than"
154
+ const LONETILDE = R++;
155
+ src[LONETILDE] = "(?:~>?)";
156
+ const TILDE = R++;
157
+ exports.TILDE = TILDE;
158
+ src[TILDE] = "^" + src[LONETILDE] + src[XRANGEPLAIN] + "$";
159
+ // Caret ranges.
160
+ // Meaning is "at least and backwards compatible with"
161
+ const LONECARET = R++;
162
+ src[LONECARET] = "(?:\\^)";
163
+ const CARET = R++;
164
+ exports.CARET = CARET;
165
+ src[CARET] = "^" + src[LONECARET] + src[XRANGEPLAIN] + "$";
166
+ // A simple gt/lt/eq thing, or just "" to indicate "any version"
167
+ const COMPARATOR = R++;
168
+ exports.COMPARATOR = COMPARATOR;
169
+ src[COMPARATOR] = "^" + src[GTLT] + "\\s*(" + FULLPLAIN + ")$|^$";
170
+ // Something like `1.2.3 - 1.2.4`
171
+ const HYPHENRANGE = R++;
172
+ exports.HYPHENRANGE = HYPHENRANGE;
173
+ src[HYPHENRANGE] = "^\\s*(" +
174
+ src[XRANGEPLAIN] +
175
+ ")" +
176
+ "\\s+-\\s+" +
177
+ "(" +
178
+ src[XRANGEPLAIN] +
179
+ ")" +
180
+ "\\s*$";
181
+ // Star ranges basically just allow anything at all.
182
+ const STAR = R++;
183
+ exports.STAR = STAR;
184
+ src[STAR] = "(<|>)?=?\\s*\\*";
185
+ // Compile to actual regexp objects.
186
+ // All are flag-free, unless they were created above with a flag.
187
+ for (let i = 0; i < R; i++) {
188
+ if (!re[i]) {
189
+ re[i] = new RegExp(src[i]);
190
+ }
191
+ }
192
+ /**
193
+ * Returns true if the value is a valid SemVer number.
194
+ *
195
+ * Must be a number. Must not be NaN. Can be positive or negative infinity.
196
+ * Can be between 0 and MAX_SAFE_INTEGER.
197
+ * @param value The value to check
198
+ * @returns True if its a valid semver number
199
+ */
200
+ function isValidNumber(value) {
201
+ return (typeof value === "number" &&
202
+ !Number.isNaN(value) && (!Number.isFinite(value) ||
203
+ (0 <= value && value <= Number.MAX_SAFE_INTEGER)));
204
+ }
205
+ exports.isValidNumber = isValidNumber;
206
+ exports.MAX_LENGTH = 256;
207
+ /**
208
+ * Returns true if the value is a valid semver pre-release or build identifier.
209
+ *
210
+ * Must be a string. Must be between 1 and 256 characters long. Must match
211
+ * the regular expression /[0-9A-Za-z-]+/.
212
+ * @param value The value to check
213
+ * @returns True if the value is a valid semver string.
214
+ */
215
+ function isValidString(value) {
216
+ return (typeof value === "string" &&
217
+ value.length > 0 &&
218
+ value.length <= exports.MAX_LENGTH &&
219
+ !!value.match(/[0-9A-Za-z-]+/));
220
+ }
221
+ exports.isValidString = isValidString;
222
+ /**
223
+ * Checks to see if the value is a valid Operator string.
224
+ *
225
+ * Adds a type assertion if true.
226
+ * @param value The value to check
227
+ * @returns True if the value is a valid Operator string otherwise false.
228
+ */
229
+ function isValidOperator(value) {
230
+ if (typeof value !== "string")
231
+ return false;
232
+ switch (value) {
233
+ case "":
234
+ case "=":
235
+ case "==":
236
+ case "===":
237
+ case "!==":
238
+ case "!=":
239
+ case ">":
240
+ case ">=":
241
+ case "<":
242
+ case "<=":
243
+ return true;
244
+ default:
245
+ return false;
246
+ }
247
+ }
248
+ exports.isValidOperator = isValidOperator;
@@ -0,0 +1,9 @@
1
+ import type { Operator, SemVer } from "./types.js";
2
+ /**
3
+ * Do a comparison of two semantic version objects based on the given operator
4
+ * @param s0 The left side of the comparison
5
+ * @param operator The operator to use for the comparison
6
+ * @param s1 The right side of the comparison
7
+ * @returns True or false based on the operator
8
+ */
9
+ export declare function cmp(s0: SemVer, operator: Operator, s1: SemVer): boolean;
@@ -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;