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.
- package/CHANGELOG.md +17 -2
- package/README.md +20 -6
- package/esm/_dnt.shims.js +0 -1
- package/esm/deps/deno.land/std@0.203.0/semver/_shared.d.ts +42 -0
- package/esm/deps/deno.land/std@0.203.0/semver/_shared.js +230 -0
- package/esm/deps/deno.land/std@0.203.0/semver/cmp.d.ts +9 -0
- package/esm/deps/deno.land/std@0.203.0/semver/cmp.js +35 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_format.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_format.js +11 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_intersects.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_intersects.js +45 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_max.d.ts +9 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_max.js +45 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_min.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/comparator_min.js +32 -0
- package/esm/deps/deno.land/std@0.203.0/semver/compare.d.ts +10 -0
- package/esm/deps/deno.land/std@0.203.0/semver/compare.js +18 -0
- package/esm/deps/deno.land/std@0.203.0/semver/compare_build.d.ts +13 -0
- package/esm/deps/deno.land/std@0.203.0/semver/compare_build.js +23 -0
- package/esm/deps/deno.land/std@0.203.0/semver/constants.d.ts +42 -0
- package/esm/deps/deno.land/std@0.203.0/semver/constants.js +75 -0
- package/esm/deps/deno.land/std@0.203.0/semver/difference.d.ts +4 -0
- package/esm/deps/deno.land/std@0.203.0/semver/difference.js +26 -0
- package/esm/deps/deno.land/std@0.203.0/semver/eq.d.ts +4 -0
- package/esm/deps/deno.land/std@0.203.0/semver/eq.js +7 -0
- package/esm/deps/deno.land/std@0.203.0/semver/format.d.ts +12 -0
- package/esm/deps/deno.land/std@0.203.0/semver/format.js +54 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gt.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gt.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gte.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gte.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gtr.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/gtr.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/increment.d.ts +28 -0
- package/esm/deps/deno.land/std@0.203.0/semver/increment.js +207 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver.d.ts +17 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver.js +41 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver_comparator.d.ts +12 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver_comparator.js +31 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver_range.d.ts +12 -0
- package/esm/deps/deno.land/std@0.203.0/semver/is_semver_range.js +22 -0
- package/esm/deps/deno.land/std@0.203.0/semver/lt.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/lt.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/lte.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/lte.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/ltr.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/ltr.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/max_satisfying.d.ts +9 -0
- package/esm/deps/deno.land/std@0.203.0/semver/max_satisfying.js +14 -0
- package/esm/deps/deno.land/std@0.203.0/semver/min_satisfying.d.ts +9 -0
- package/esm/deps/deno.land/std@0.203.0/semver/min_satisfying.js +14 -0
- package/esm/deps/deno.land/{std@0.173.0 → std@0.203.0}/semver/mod.d.ts +88 -176
- package/esm/deps/deno.land/std@0.203.0/semver/mod.js +313 -0
- package/esm/deps/deno.land/std@0.203.0/semver/neq.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/neq.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/outside.d.ts +11 -0
- package/esm/deps/deno.land/std@0.203.0/semver/outside.js +67 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse.js +66 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse_comparator.d.ts +7 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse_comparator.js +28 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse_range.d.ts +7 -0
- package/esm/deps/deno.land/std@0.203.0/semver/parse_range.js +292 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_format.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_format.js +11 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_intersects.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_intersects.js +35 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_max.d.ts +7 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_max.js +15 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_min.d.ts +7 -0
- package/esm/deps/deno.land/std@0.203.0/semver/range_min.js +14 -0
- package/esm/deps/deno.land/std@0.203.0/semver/rcompare.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/rcompare.js +10 -0
- package/esm/deps/deno.land/std@0.203.0/semver/rsort.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/rsort.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/sort.d.ts +3 -0
- package/esm/deps/deno.land/std@0.203.0/semver/sort.js +5 -0
- package/esm/deps/deno.land/std@0.203.0/semver/test_comparator.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/test_comparator.js +10 -0
- package/esm/deps/deno.land/std@0.203.0/semver/test_range.d.ts +8 -0
- package/esm/deps/deno.land/std@0.203.0/semver/test_range.js +16 -0
- package/esm/deps/deno.land/std@0.203.0/semver/types.d.ts +44 -0
- package/esm/deps/deno.land/std@0.203.0/semver/types.js +2 -0
- package/esm/src/Changelog.d.ts +4 -2
- package/esm/src/Changelog.js +25 -4
- package/esm/src/Release.d.ts +5 -4
- package/esm/src/Release.js +21 -22
- package/esm/src/deps.d.ts +2 -1
- package/esm/src/deps.js +1 -1
- package/esm/test/changelog.custom.type.md +2 -3
- package/esm/test/changelog.expected.linted.md +3 -4
- package/esm/test/changelog.expected.md +3 -4
- package/esm/test/changelog.md +3 -4
- package/esm/test/empty.expected.md +2 -2
- package/package.json +2 -2
- package/script/_dnt.shims.js +0 -1
- package/script/deps/deno.land/std@0.203.0/semver/_shared.d.ts +42 -0
- package/script/deps/deno.land/std@0.203.0/semver/_shared.js +248 -0
- package/script/deps/deno.land/std@0.203.0/semver/cmp.d.ts +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/cmp.js +39 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_format.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_format.js +15 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_intersects.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_intersects.js +49 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_max.d.ts +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_max.js +49 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_min.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/comparator_min.js +36 -0
- package/script/deps/deno.land/std@0.203.0/semver/compare.d.ts +10 -0
- package/script/deps/deno.land/std@0.203.0/semver/compare.js +22 -0
- package/script/deps/deno.land/std@0.203.0/semver/compare_build.d.ts +13 -0
- package/script/deps/deno.land/std@0.203.0/semver/compare_build.js +27 -0
- package/script/deps/deno.land/std@0.203.0/semver/constants.d.ts +42 -0
- package/script/deps/deno.land/std@0.203.0/semver/constants.js +78 -0
- package/script/deps/deno.land/std@0.203.0/semver/difference.d.ts +4 -0
- package/script/deps/deno.land/std@0.203.0/semver/difference.js +30 -0
- package/script/deps/deno.land/std@0.203.0/semver/eq.d.ts +4 -0
- package/script/deps/deno.land/std@0.203.0/semver/eq.js +11 -0
- package/script/deps/deno.land/std@0.203.0/semver/format.d.ts +12 -0
- package/script/deps/deno.land/std@0.203.0/semver/format.js +58 -0
- package/script/deps/deno.land/std@0.203.0/semver/gt.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/gt.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/gte.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/gte.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/gtr.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/gtr.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/increment.d.ts +28 -0
- package/script/deps/deno.land/std@0.203.0/semver/increment.js +211 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver.d.ts +17 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver.js +45 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver_comparator.d.ts +12 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver_comparator.js +35 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver_range.d.ts +12 -0
- package/script/deps/deno.land/std@0.203.0/semver/is_semver_range.js +26 -0
- package/script/deps/deno.land/std@0.203.0/semver/lt.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/lt.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/lte.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/lte.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/ltr.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/ltr.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/max_satisfying.d.ts +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/max_satisfying.js +18 -0
- package/script/deps/deno.land/std@0.203.0/semver/min_satisfying.d.ts +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/min_satisfying.js +18 -0
- package/script/deps/deno.land/{std@0.173.0 → std@0.203.0}/semver/mod.d.ts +88 -176
- package/script/deps/deno.land/std@0.203.0/semver/mod.js +330 -0
- package/script/deps/deno.land/std@0.203.0/semver/neq.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/neq.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/outside.d.ts +11 -0
- package/script/deps/deno.land/std@0.203.0/semver/outside.js +71 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse.js +70 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse_comparator.d.ts +7 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse_comparator.js +32 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse_range.d.ts +7 -0
- package/script/deps/deno.land/std@0.203.0/semver/parse_range.js +296 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_format.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_format.js +15 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_intersects.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_intersects.js +39 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_max.d.ts +7 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_max.js +19 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_min.d.ts +7 -0
- package/script/deps/deno.land/std@0.203.0/semver/range_min.js +18 -0
- package/script/deps/deno.land/std@0.203.0/semver/rcompare.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/rcompare.js +14 -0
- package/script/deps/deno.land/std@0.203.0/semver/rsort.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/rsort.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/sort.d.ts +3 -0
- package/script/deps/deno.land/std@0.203.0/semver/sort.js +9 -0
- package/script/deps/deno.land/std@0.203.0/semver/test_comparator.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/test_comparator.js +14 -0
- package/script/deps/deno.land/std@0.203.0/semver/test_range.d.ts +8 -0
- package/script/deps/deno.land/std@0.203.0/semver/test_range.js +20 -0
- package/script/deps/deno.land/std@0.203.0/semver/types.d.ts +44 -0
- package/script/deps/deno.land/std@0.203.0/semver/types.js +3 -0
- package/script/src/Changelog.d.ts +4 -2
- package/script/src/Changelog.js +24 -3
- package/script/src/Release.d.ts +5 -4
- package/script/src/Release.js +20 -21
- package/script/src/deps.d.ts +2 -1
- package/script/src/deps.js +5 -6
- package/script/test/changelog.custom.type.md +2 -3
- package/script/test/changelog.expected.linted.md +3 -4
- package/script/test/changelog.expected.md +3 -4
- package/script/test/changelog.md +3 -4
- package/script/test/empty.expected.md +2 -2
- package/esm/_dnt.test_shims.d.ts +0 -5
- package/esm/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
- package/esm/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
- package/esm/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
- package/esm/deps/deno.land/std@0.173.0/semver/mod.js +0 -1420
- package/esm/test/Change.test.d.ts +0 -1
- package/esm/test/deps.d.ts +0 -1
- package/esm/test/fixture/CustomRelease.d.ts +0 -8
- package/esm/test/parser.test.d.ts +0 -1
- package/esm/test/test.d.ts +0 -1
- package/script/_dnt.test_shims.d.ts +0 -5
- package/script/deps/deno.land/std@0.133.0/fmt/colors.d.ts +0 -270
- package/script/deps/deno.land/std@0.133.0/testing/_diff.d.ts +0 -23
- package/script/deps/deno.land/std@0.133.0/testing/asserts.d.ts +0 -167
- package/script/deps/deno.land/std@0.173.0/semver/mod.js +0 -1458
- package/script/test/Change.test.d.ts +0 -1
- package/script/test/deps.d.ts +0 -1
- package/script/test/fixture/CustomRelease.d.ts +0 -8
- package/script/test/parser.test.d.ts +0 -1
- package/script/test/test.d.ts +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cmp } from "./cmp.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 function testComparator(version, comparator) {
|
|
9
|
+
return cmp(version, comparator.operator, comparator.semver);
|
|
10
|
+
}
|
|
@@ -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,16 @@
|
|
|
1
|
+
import { gte } from "./gte.js";
|
|
2
|
+
import { lte } from "./lte.js";
|
|
3
|
+
/**
|
|
4
|
+
* Test to see if the version satisfies the range.
|
|
5
|
+
* @param version The version to test
|
|
6
|
+
* @param range The range to check
|
|
7
|
+
* @returns true if the version is in the range
|
|
8
|
+
*/
|
|
9
|
+
export function testRange(version, range) {
|
|
10
|
+
for (const r of range.ranges) {
|
|
11
|
+
if (r.every((c) => gte(version, c.min) && lte(version, c.max))) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
@@ -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 {};
|
package/esm/src/Changelog.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Release from "./Release.js";
|
|
2
|
-
import {
|
|
2
|
+
import type { SemVer } from "./deps.js";
|
|
3
3
|
export default class Changelog {
|
|
4
4
|
flag?: string;
|
|
5
5
|
title: string;
|
|
@@ -9,11 +9,13 @@ export default class Changelog {
|
|
|
9
9
|
url?: string;
|
|
10
10
|
releases: Release[];
|
|
11
11
|
tagNameBuilder?: (release: Release) => string;
|
|
12
|
+
compareLinkBuilder?: (previous: Release, release: Release) => string;
|
|
12
13
|
format: "compact" | "markdownlint";
|
|
13
14
|
constructor(title: string, description?: string);
|
|
14
15
|
addRelease(release: Release): this;
|
|
15
|
-
findRelease(version?:
|
|
16
|
+
findRelease(version?: SemVer | string): Release | undefined;
|
|
16
17
|
sortReleases(): void;
|
|
18
|
+
compareLink(previous: Release, release: Release): string;
|
|
17
19
|
tagName(release: Release): string;
|
|
18
20
|
toString(): string;
|
|
19
21
|
}
|
package/esm/src/Changelog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { eq } from "./deps.js";
|
|
1
|
+
import { eq, parse } from "./deps.js";
|
|
2
2
|
export default class Changelog {
|
|
3
3
|
constructor(title, description = "") {
|
|
4
4
|
Object.defineProperty(this, "flag", {
|
|
@@ -49,6 +49,12 @@ export default class Changelog {
|
|
|
49
49
|
writable: true,
|
|
50
50
|
value: void 0
|
|
51
51
|
});
|
|
52
|
+
Object.defineProperty(this, "compareLinkBuilder", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true,
|
|
55
|
+
writable: true,
|
|
56
|
+
value: void 0
|
|
57
|
+
});
|
|
52
58
|
Object.defineProperty(this, "format", {
|
|
53
59
|
enumerable: true,
|
|
54
60
|
configurable: true,
|
|
@@ -68,11 +74,26 @@ export default class Changelog {
|
|
|
68
74
|
if (!version) {
|
|
69
75
|
return this.releases.find((release) => !release.version);
|
|
70
76
|
}
|
|
71
|
-
|
|
77
|
+
if (typeof version === "string") {
|
|
78
|
+
version = parse(version);
|
|
79
|
+
}
|
|
80
|
+
return this.releases.find((release) => release.parsedVersion && eq(release.parsedVersion, version));
|
|
72
81
|
}
|
|
73
82
|
sortReleases() {
|
|
74
83
|
this.releases.sort((a, b) => a.compare(b));
|
|
75
84
|
}
|
|
85
|
+
compareLink(previous, release) {
|
|
86
|
+
if (this.compareLinkBuilder) {
|
|
87
|
+
return this.compareLinkBuilder(previous, release);
|
|
88
|
+
}
|
|
89
|
+
if (!previous) {
|
|
90
|
+
return `${this.url}/releases/tag/${this.tagName(release)}`;
|
|
91
|
+
}
|
|
92
|
+
if (!release.date || !release.version) {
|
|
93
|
+
return `${this.url}/compare/${this.tagName(previous)}...${this.head}`;
|
|
94
|
+
}
|
|
95
|
+
return `${this.url}/compare/${this.tagName(previous)}...${this.tagName(release)}`;
|
|
96
|
+
}
|
|
76
97
|
tagName(release) {
|
|
77
98
|
if (this.tagNameBuilder) {
|
|
78
99
|
return this.tagNameBuilder(release);
|
|
@@ -94,8 +115,8 @@ export default class Changelog {
|
|
|
94
115
|
const description = this.description.trim() ||
|
|
95
116
|
`All notable changes to this project will be documented in this file.
|
|
96
117
|
|
|
97
|
-
The format is based on [Keep a Changelog](
|
|
98
|
-
and this project adheres to [Semantic Versioning](
|
|
118
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/)
|
|
119
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).`;
|
|
99
120
|
if (description) {
|
|
100
121
|
t.push(description);
|
|
101
122
|
}
|
package/esm/src/Release.d.ts
CHANGED
|
@@ -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
|
-
|
|
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 |
|
|
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 |
|
|
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;
|
package/esm/src/Release.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { compare, format, parse } from "./deps.js";
|
|
2
2
|
import Change from "./Change.js";
|
|
3
3
|
export default class Release {
|
|
4
4
|
constructor(version, date, description = "") {
|
|
@@ -8,7 +8,7 @@ export default class Release {
|
|
|
8
8
|
writable: true,
|
|
9
9
|
value: void 0
|
|
10
10
|
});
|
|
11
|
-
Object.defineProperty(this, "
|
|
11
|
+
Object.defineProperty(this, "parsedVersion", {
|
|
12
12
|
enumerable: true,
|
|
13
13
|
configurable: true,
|
|
14
14
|
writable: true,
|
|
@@ -50,11 +50,14 @@ export default class Release {
|
|
|
50
50
|
["security", []],
|
|
51
51
|
]);
|
|
52
52
|
}
|
|
53
|
+
get version() {
|
|
54
|
+
return this.parsedVersion ? format(this.parsedVersion) : undefined;
|
|
55
|
+
}
|
|
53
56
|
compare(release) {
|
|
54
|
-
if (!this.
|
|
57
|
+
if (!this.parsedVersion && release.parsedVersion) {
|
|
55
58
|
return -1;
|
|
56
59
|
}
|
|
57
|
-
if (!release.
|
|
60
|
+
if (!release.parsedVersion) {
|
|
58
61
|
return 1;
|
|
59
62
|
}
|
|
60
63
|
if (!this.date && release.date) {
|
|
@@ -63,8 +66,8 @@ export default class Release {
|
|
|
63
66
|
if (!release.date) {
|
|
64
67
|
return 1;
|
|
65
68
|
}
|
|
66
|
-
if (this.
|
|
67
|
-
return -this.
|
|
69
|
+
if (this.parsedVersion && release.parsedVersion) {
|
|
70
|
+
return -compare(this.parsedVersion, release.parsedVersion);
|
|
68
71
|
}
|
|
69
72
|
return 0;
|
|
70
73
|
}
|
|
@@ -76,9 +79,9 @@ export default class Release {
|
|
|
76
79
|
}
|
|
77
80
|
setVersion(version) {
|
|
78
81
|
if (typeof version === "string") {
|
|
79
|
-
version =
|
|
82
|
+
version = parse(version);
|
|
80
83
|
}
|
|
81
|
-
this.
|
|
84
|
+
this.parsedVersion = version;
|
|
82
85
|
//Re-sort the releases of the parent changelog
|
|
83
86
|
if (this.changelog) {
|
|
84
87
|
this.changelog.sortReleases();
|
|
@@ -126,12 +129,13 @@ export default class Release {
|
|
|
126
129
|
let t = [];
|
|
127
130
|
const hasCompareLink = this.getCompareLink(changelog) !== undefined;
|
|
128
131
|
const yanked = this.yanked ? " [YANKED]" : "";
|
|
129
|
-
|
|
132
|
+
const { version } = this;
|
|
133
|
+
if (version) {
|
|
130
134
|
if (hasCompareLink) {
|
|
131
|
-
t.push(`## [${
|
|
135
|
+
t.push(`## [${version}] - ${formatDate(this.date)}${yanked}`);
|
|
132
136
|
}
|
|
133
137
|
else {
|
|
134
|
-
t.push(`## ${
|
|
138
|
+
t.push(`## ${version} - ${formatDate(this.date)}${yanked}`);
|
|
135
139
|
}
|
|
136
140
|
}
|
|
137
141
|
else {
|
|
@@ -175,19 +179,14 @@ export default class Release {
|
|
|
175
179
|
++offset;
|
|
176
180
|
previous = changelog.releases[index + offset];
|
|
177
181
|
}
|
|
178
|
-
if (!previous) {
|
|
179
|
-
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
return `[${this.version}]: ${changelog.url}/releases/tag/${changelog.tagName(this)}`;
|
|
183
|
-
}
|
|
184
|
-
if (!this.version) {
|
|
185
|
-
return `[Unreleased]: ${changelog.url}/compare/${changelog.tagName(previous)}...${changelog.head}`;
|
|
182
|
+
if (!previous && (!this.version || !this.date)) {
|
|
183
|
+
return;
|
|
186
184
|
}
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
const compareLink = changelog.compareLink(previous, this);
|
|
186
|
+
if (!compareLink) {
|
|
187
|
+
return;
|
|
189
188
|
}
|
|
190
|
-
return `[${this.version}]: ${
|
|
189
|
+
return `[${this.version || "Unreleased"}]: ${compareLink}`;
|
|
191
190
|
}
|
|
192
191
|
getLinks(changelog) {
|
|
193
192
|
const links = [];
|
package/esm/src/deps.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { compare, eq, format, parse, } from "../deps/deno.land/std@0.203.0/semver/mod.js";
|
|
2
|
+
export type { SemVer } from "../deps/deno.land/std@0.203.0/semver/mod.js";
|
package/esm/src/deps.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { compare, eq, format, parse, } from "../deps/deno.land/std@0.203.0/semver/mod.js";
|
|
@@ -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](
|
|
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](
|
|
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](
|
|
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](
|
|
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](
|
|
82
|
+
- Start following [SemVer](https://semver.org) properly.
|
|
84
83
|
|
|
85
84
|
## [0.0.8] - 2015-02-17
|
|
86
85
|
### Changed
|
package/esm/test/changelog.md
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](
|
|
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](
|
|
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](
|
|
5
|
-
and this project adheres to [Semantic Versioning](
|
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/)
|
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).
|
package/package.json
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"changelog": "./esm/bin.js"
|
|
6
6
|
},
|
|
7
7
|
"name": "keep-a-changelog",
|
|
8
|
-
"version": "2.
|
|
9
|
-
"description": "Node package to parse and generate changelogs following the [keepachangelog](
|
|
8
|
+
"version": "2.4.1",
|
|
9
|
+
"description": "Node package to parse and generate changelogs following the [keepachangelog](https://keepachangelog.com/) format.",
|
|
10
10
|
"homepage": "https://github.com/oscarotero/keep-a-changelog#readme",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"keywords": [
|
package/script/_dnt.shims.js
CHANGED
|
@@ -8,7 +8,6 @@ const dntGlobals = {
|
|
|
8
8
|
Deno: shim_deno_1.Deno,
|
|
9
9
|
};
|
|
10
10
|
exports.dntGlobalThis = createMergeProxy(globalThis, dntGlobals);
|
|
11
|
-
// deno-lint-ignore ban-types
|
|
12
11
|
function createMergeProxy(baseObj, extObj) {
|
|
13
12
|
return new Proxy(baseObj, {
|
|
14
13
|
get(_target, prop, _receiver) {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Operator } from "./types.js";
|
|
2
|
+
export declare function compareNumber(a: number, b: number): 1 | 0 | -1;
|
|
3
|
+
export declare function checkIdentifier(v1: ReadonlyArray<string | number>, v2: ReadonlyArray<string | number>): 1 | 0 | -1;
|
|
4
|
+
export declare function compareIdentifier(v1: ReadonlyArray<string | number>, v2: ReadonlyArray<string | number>): 1 | 0 | -1;
|
|
5
|
+
declare const re: RegExp[];
|
|
6
|
+
declare const src: string[];
|
|
7
|
+
declare const NUMERICIDENTIFIER: number;
|
|
8
|
+
declare const FULL: number;
|
|
9
|
+
declare const XRANGE: number;
|
|
10
|
+
declare const TILDE: number;
|
|
11
|
+
declare const CARET: number;
|
|
12
|
+
declare const COMPARATOR: number;
|
|
13
|
+
declare const HYPHENRANGE: number;
|
|
14
|
+
declare const STAR: number;
|
|
15
|
+
/**
|
|
16
|
+
* Returns true if the value is a valid SemVer number.
|
|
17
|
+
*
|
|
18
|
+
* Must be a number. Must not be NaN. Can be positive or negative infinity.
|
|
19
|
+
* Can be between 0 and MAX_SAFE_INTEGER.
|
|
20
|
+
* @param value The value to check
|
|
21
|
+
* @returns True if its a valid semver number
|
|
22
|
+
*/
|
|
23
|
+
export declare function isValidNumber(value: unknown): value is number;
|
|
24
|
+
export declare const MAX_LENGTH = 256;
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if the value is a valid semver pre-release or build identifier.
|
|
27
|
+
*
|
|
28
|
+
* Must be a string. Must be between 1 and 256 characters long. Must match
|
|
29
|
+
* the regular expression /[0-9A-Za-z-]+/.
|
|
30
|
+
* @param value The value to check
|
|
31
|
+
* @returns True if the value is a valid semver string.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isValidString(value: unknown): value is string;
|
|
34
|
+
/**
|
|
35
|
+
* Checks to see if the value is a valid Operator string.
|
|
36
|
+
*
|
|
37
|
+
* Adds a type assertion if true.
|
|
38
|
+
* @param value The value to check
|
|
39
|
+
* @returns True if the value is a valid Operator string otherwise false.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isValidOperator(value: unknown): value is Operator;
|
|
42
|
+
export { CARET, COMPARATOR, FULL, HYPHENRANGE, NUMERICIDENTIFIER, re, src, STAR, TILDE, XRANGE, };
|