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.
- package/CHANGELOG.md +33 -4
- package/README.md +23 -8
- package/esm/_dnt.shims.js +0 -1
- package/esm/bin.js +19 -20
- package/esm/deps/deno.land/std@0.205.0/semver/_shared.d.ts +42 -0
- package/esm/deps/deno.land/std@0.205.0/semver/_shared.js +230 -0
- package/esm/deps/deno.land/std@0.205.0/semver/cmp.d.ts +9 -0
- package/esm/deps/deno.land/std@0.205.0/semver/cmp.js +35 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.js +11 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +45 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +9 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.js +45 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.js +32 -0
- package/esm/deps/deno.land/std@0.205.0/semver/compare.d.ts +10 -0
- package/esm/deps/deno.land/std@0.205.0/semver/compare.js +18 -0
- package/esm/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +13 -0
- package/esm/deps/deno.land/std@0.205.0/semver/compare_build.js +23 -0
- package/esm/deps/deno.land/std@0.205.0/semver/constants.d.ts +42 -0
- package/esm/deps/deno.land/std@0.205.0/semver/constants.js +75 -0
- package/esm/deps/deno.land/std@0.205.0/semver/difference.d.ts +4 -0
- package/esm/deps/deno.land/std@0.205.0/semver/difference.js +26 -0
- package/esm/deps/deno.land/std@0.205.0/semver/eq.d.ts +4 -0
- package/esm/deps/deno.land/std@0.205.0/semver/eq.js +7 -0
- package/esm/deps/deno.land/std@0.205.0/semver/format.d.ts +12 -0
- package/esm/deps/deno.land/std@0.205.0/semver/format.js +54 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gt.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gt.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gte.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gte.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gtr.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/gtr.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/increment.d.ts +28 -0
- package/esm/deps/deno.land/std@0.205.0/semver/increment.js +207 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver.d.ts +17 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver.js +41 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +12 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +31 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +12 -0
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.js +22 -0
- package/esm/deps/deno.land/std@0.205.0/semver/lt.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/lt.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/lte.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/lte.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/ltr.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/ltr.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +9 -0
- package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.js +14 -0
- package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +9 -0
- package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.js +14 -0
- package/esm/deps/deno.land/{std@0.173.0 → std@0.205.0}/semver/mod.d.ts +88 -176
- package/esm/deps/deno.land/std@0.205.0/semver/mod.js +313 -0
- package/esm/deps/deno.land/std@0.205.0/semver/neq.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/neq.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/outside.d.ts +11 -0
- package/esm/deps/deno.land/std@0.205.0/semver/outside.js +67 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse.js +66 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +7 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.js +28 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +7 -0
- package/esm/deps/deno.land/std@0.205.0/semver/parse_range.js +292 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_format.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_format.js +11 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.js +35 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_max.d.ts +7 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_max.js +15 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_min.d.ts +7 -0
- package/esm/deps/deno.land/std@0.205.0/semver/range_min.js +14 -0
- package/esm/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/rcompare.js +10 -0
- package/esm/deps/deno.land/std@0.205.0/semver/rsort.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/rsort.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/sort.d.ts +3 -0
- package/esm/deps/deno.land/std@0.205.0/semver/sort.js +5 -0
- package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.js +10 -0
- package/esm/deps/deno.land/std@0.205.0/semver/test_range.d.ts +8 -0
- package/esm/deps/deno.land/std@0.205.0/semver/test_range.js +16 -0
- package/esm/deps/deno.land/std@0.205.0/semver/types.d.ts +44 -0
- package/esm/deps/deno.land/std@0.205.0/semver/types.js +2 -0
- package/esm/src/Changelog.d.ts +6 -2
- package/esm/src/Changelog.js +42 -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/src/settings.d.ts +17 -0
- package/esm/src/settings.js +47 -0
- 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/bin.js +22 -20
- package/script/deps/deno.land/std@0.205.0/semver/_shared.d.ts +42 -0
- package/script/deps/deno.land/std@0.205.0/semver/_shared.js +248 -0
- package/script/deps/deno.land/std@0.205.0/semver/cmp.d.ts +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/cmp.js +39 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_format.js +15 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +49 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_max.js +49 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/comparator_min.js +36 -0
- package/script/deps/deno.land/std@0.205.0/semver/compare.d.ts +10 -0
- package/script/deps/deno.land/std@0.205.0/semver/compare.js +22 -0
- package/script/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +13 -0
- package/script/deps/deno.land/std@0.205.0/semver/compare_build.js +27 -0
- package/script/deps/deno.land/std@0.205.0/semver/constants.d.ts +42 -0
- package/script/deps/deno.land/std@0.205.0/semver/constants.js +78 -0
- package/script/deps/deno.land/std@0.205.0/semver/difference.d.ts +4 -0
- package/script/deps/deno.land/std@0.205.0/semver/difference.js +30 -0
- package/script/deps/deno.land/std@0.205.0/semver/eq.d.ts +4 -0
- package/script/deps/deno.land/std@0.205.0/semver/eq.js +11 -0
- package/script/deps/deno.land/std@0.205.0/semver/format.d.ts +12 -0
- package/script/deps/deno.land/std@0.205.0/semver/format.js +58 -0
- package/script/deps/deno.land/std@0.205.0/semver/gt.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/gt.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/gte.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/gte.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/gtr.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/gtr.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/increment.d.ts +28 -0
- package/script/deps/deno.land/std@0.205.0/semver/increment.js +211 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver.d.ts +17 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver.js +45 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +12 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +35 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +12 -0
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.js +26 -0
- package/script/deps/deno.land/std@0.205.0/semver/lt.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/lt.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/lte.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/lte.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/ltr.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/ltr.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.js +18 -0
- package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.js +18 -0
- package/script/deps/deno.land/{std@0.173.0 → std@0.205.0}/semver/mod.d.ts +88 -176
- package/script/deps/deno.land/std@0.205.0/semver/mod.js +330 -0
- package/script/deps/deno.land/std@0.205.0/semver/neq.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/neq.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/outside.d.ts +11 -0
- package/script/deps/deno.land/std@0.205.0/semver/outside.js +71 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse.js +70 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +7 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.js +32 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +7 -0
- package/script/deps/deno.land/std@0.205.0/semver/parse_range.js +296 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_format.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_format.js +15 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_intersects.js +39 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_max.d.ts +7 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_max.js +19 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_min.d.ts +7 -0
- package/script/deps/deno.land/std@0.205.0/semver/range_min.js +18 -0
- package/script/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/rcompare.js +14 -0
- package/script/deps/deno.land/std@0.205.0/semver/rsort.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/rsort.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/sort.d.ts +3 -0
- package/script/deps/deno.land/std@0.205.0/semver/sort.js +9 -0
- package/script/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/test_comparator.js +14 -0
- package/script/deps/deno.land/std@0.205.0/semver/test_range.d.ts +8 -0
- package/script/deps/deno.land/std@0.205.0/semver/test_range.js +20 -0
- package/script/deps/deno.land/std@0.205.0/semver/types.d.ts +44 -0
- package/script/deps/deno.land/std@0.205.0/semver/types.js +3 -0
- package/script/src/Changelog.d.ts +6 -2
- package/script/src/Changelog.js +41 -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/src/settings.d.ts +17 -0
- package/script/src/settings.js +51 -0
- 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,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sort = void 0;
|
|
4
|
+
const compare_js_1 = require("./compare.js");
|
|
5
|
+
/** Sorts a list of semantic versions in ascending order. */
|
|
6
|
+
function sort(list) {
|
|
7
|
+
return list.sort((a, b) => (0, compare_js_1.compare)(a, b));
|
|
8
|
+
}
|
|
9
|
+
exports.sort = sort;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SemVer, SemVerComparator } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Test to see if a semantic version falls within the range of the comparator.
|
|
4
|
+
* @param version The version to compare
|
|
5
|
+
* @param comparator The comparator
|
|
6
|
+
* @returns True if the version is within the comparators set otherwise false
|
|
7
|
+
*/
|
|
8
|
+
export declare function testComparator(version: SemVer, comparator: SemVerComparator): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testComparator = void 0;
|
|
4
|
+
const cmp_js_1 = require("./cmp.js");
|
|
5
|
+
/**
|
|
6
|
+
* Test to see if a semantic version falls within the range of the comparator.
|
|
7
|
+
* @param version The version to compare
|
|
8
|
+
* @param comparator The comparator
|
|
9
|
+
* @returns True if the version is within the comparators set otherwise false
|
|
10
|
+
*/
|
|
11
|
+
function testComparator(version, comparator) {
|
|
12
|
+
return (0, cmp_js_1.cmp)(version, comparator.operator, comparator.semver);
|
|
13
|
+
}
|
|
14
|
+
exports.testComparator = testComparator;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SemVer, SemVerRange } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Test to see if the version satisfies the range.
|
|
4
|
+
* @param version The version to test
|
|
5
|
+
* @param range The range to check
|
|
6
|
+
* @returns true if the version is in the range
|
|
7
|
+
*/
|
|
8
|
+
export declare function testRange(version: SemVer, range: SemVerRange): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testRange = void 0;
|
|
4
|
+
const gte_js_1 = require("./gte.js");
|
|
5
|
+
const lte_js_1 = require("./lte.js");
|
|
6
|
+
/**
|
|
7
|
+
* Test to see if the version satisfies the range.
|
|
8
|
+
* @param version The version to test
|
|
9
|
+
* @param range The range to check
|
|
10
|
+
* @returns true if the version is in the range
|
|
11
|
+
*/
|
|
12
|
+
function testRange(version, range) {
|
|
13
|
+
for (const r of range.ranges) {
|
|
14
|
+
if (r.every((c) => (0, gte_js_1.gte)(version, c.min) && (0, lte_js_1.lte)(version, c.max))) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
exports.testRange = testRange;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The possible release types are used as an operator for the
|
|
3
|
+
* increment function and as a result of the difference function.
|
|
4
|
+
*/
|
|
5
|
+
export type ReleaseType = "pre" | "major" | "premajor" | "minor" | "preminor" | "patch" | "prepatch" | "prerelease";
|
|
6
|
+
/**
|
|
7
|
+
* SemVer comparison operators.
|
|
8
|
+
*/
|
|
9
|
+
export type Operator = "" | "=" | "==" | "===" | "!==" | "!=" | ">" | ">=" | "<" | "<=";
|
|
10
|
+
/**
|
|
11
|
+
* The style to use when formatting a SemVer object into a string
|
|
12
|
+
*/
|
|
13
|
+
export type FormatStyle = "full" | "release" | "primary" | "build" | "pre" | "patch" | "minor" | "major";
|
|
14
|
+
/**
|
|
15
|
+
* The shape of a valid semantic version comparator
|
|
16
|
+
* @example >=0.0.0
|
|
17
|
+
*/
|
|
18
|
+
export interface SemVerComparator {
|
|
19
|
+
operator: Operator;
|
|
20
|
+
semver: SemVer;
|
|
21
|
+
min: SemVer;
|
|
22
|
+
max: SemVer;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A SemVer object parsed into its constituent parts.
|
|
26
|
+
*/
|
|
27
|
+
export interface SemVer {
|
|
28
|
+
major: number;
|
|
29
|
+
minor: number;
|
|
30
|
+
patch: number;
|
|
31
|
+
prerelease: (string | number)[];
|
|
32
|
+
build: string[];
|
|
33
|
+
}
|
|
34
|
+
type SemVerRangeAnd = SemVerComparator[];
|
|
35
|
+
type SemVerRangeOr = SemVerRangeAnd[];
|
|
36
|
+
/**
|
|
37
|
+
* A type representing a semantic version range. The ranges consist of
|
|
38
|
+
* a nested array, which represents a set of OR comparisons while the
|
|
39
|
+
* inner array represents AND comparisons.
|
|
40
|
+
*/
|
|
41
|
+
export interface SemVerRange {
|
|
42
|
+
ranges: SemVerRangeOr;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -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,15 @@ export default class Changelog {
|
|
|
9
9
|
url?: string;
|
|
10
10
|
releases: Release[];
|
|
11
11
|
tagNameBuilder?: (release: Release) => string;
|
|
12
|
+
/** @deprecated: Use tagLinkBuilder() instead */
|
|
13
|
+
compareLinkBuilder?: (previous: Release, release: Release) => string;
|
|
14
|
+
tagLinkBuilder?: (url: string, tag: string, previous?: string) => string;
|
|
12
15
|
format: "compact" | "markdownlint";
|
|
13
16
|
constructor(title: string, description?: string);
|
|
14
17
|
addRelease(release: Release): this;
|
|
15
|
-
findRelease(version?:
|
|
18
|
+
findRelease(version?: SemVer | string): Release | undefined;
|
|
16
19
|
sortReleases(): void;
|
|
20
|
+
compareLink(previous: Release, release: Release): string;
|
|
17
21
|
tagName(release: Release): string;
|
|
18
22
|
toString(): string;
|
|
19
23
|
}
|
package/script/src/Changelog.js
CHANGED
|
@@ -51,6 +51,19 @@ class Changelog {
|
|
|
51
51
|
writable: true,
|
|
52
52
|
value: void 0
|
|
53
53
|
});
|
|
54
|
+
/** @deprecated: Use tagLinkBuilder() instead */
|
|
55
|
+
Object.defineProperty(this, "compareLinkBuilder", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
configurable: true,
|
|
58
|
+
writable: true,
|
|
59
|
+
value: void 0
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(this, "tagLinkBuilder", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
configurable: true,
|
|
64
|
+
writable: true,
|
|
65
|
+
value: void 0
|
|
66
|
+
});
|
|
54
67
|
Object.defineProperty(this, "format", {
|
|
55
68
|
enumerable: true,
|
|
56
69
|
configurable: true,
|
|
@@ -70,11 +83,36 @@ class Changelog {
|
|
|
70
83
|
if (!version) {
|
|
71
84
|
return this.releases.find((release) => !release.version);
|
|
72
85
|
}
|
|
73
|
-
|
|
86
|
+
if (typeof version === "string") {
|
|
87
|
+
version = (0, deps_js_1.parse)(version);
|
|
88
|
+
}
|
|
89
|
+
return this.releases.find((release) => release.parsedVersion && (0, deps_js_1.eq)(release.parsedVersion, version));
|
|
74
90
|
}
|
|
75
91
|
sortReleases() {
|
|
76
92
|
this.releases.sort((a, b) => a.compare(b));
|
|
77
93
|
}
|
|
94
|
+
compareLink(previous, release) {
|
|
95
|
+
if (this.compareLinkBuilder) {
|
|
96
|
+
return this.compareLinkBuilder(previous, release);
|
|
97
|
+
}
|
|
98
|
+
if (this.tagLinkBuilder) {
|
|
99
|
+
const url = this.url;
|
|
100
|
+
if (!previous) {
|
|
101
|
+
return this.tagLinkBuilder(this.url, this.tagName(release));
|
|
102
|
+
}
|
|
103
|
+
if (!release.date || !release.version) {
|
|
104
|
+
return this.tagLinkBuilder(url, this.head, this.tagName(previous));
|
|
105
|
+
}
|
|
106
|
+
return this.tagLinkBuilder(url, this.tagName(release), this.tagName(previous));
|
|
107
|
+
}
|
|
108
|
+
if (!previous) {
|
|
109
|
+
return `${this.url}/releases/tag/${this.tagName(release)}`;
|
|
110
|
+
}
|
|
111
|
+
if (!release.date || !release.version) {
|
|
112
|
+
return `${this.url}/compare/${this.tagName(previous)}...${this.head}`;
|
|
113
|
+
}
|
|
114
|
+
return `${this.url}/compare/${this.tagName(previous)}...${this.tagName(release)}`;
|
|
115
|
+
}
|
|
78
116
|
tagName(release) {
|
|
79
117
|
if (this.tagNameBuilder) {
|
|
80
118
|
return this.tagNameBuilder(release);
|
|
@@ -96,8 +134,8 @@ class Changelog {
|
|
|
96
134
|
const description = this.description.trim() ||
|
|
97
135
|
`All notable changes to this project will be documented in this file.
|
|
98
136
|
|
|
99
|
-
The format is based on [Keep a Changelog](
|
|
100
|
-
and this project adheres to [Semantic Versioning](
|
|
137
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/)
|
|
138
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).`;
|
|
101
139
|
if (description) {
|
|
102
140
|
t.push(description);
|
|
103
141
|
}
|
package/script/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/script/src/Release.js
CHANGED
|
@@ -13,7 +13,7 @@ class Release {
|
|
|
13
13
|
writable: true,
|
|
14
14
|
value: void 0
|
|
15
15
|
});
|
|
16
|
-
Object.defineProperty(this, "
|
|
16
|
+
Object.defineProperty(this, "parsedVersion", {
|
|
17
17
|
enumerable: true,
|
|
18
18
|
configurable: true,
|
|
19
19
|
writable: true,
|
|
@@ -55,11 +55,14 @@ class Release {
|
|
|
55
55
|
["security", []],
|
|
56
56
|
]);
|
|
57
57
|
}
|
|
58
|
+
get version() {
|
|
59
|
+
return this.parsedVersion ? (0, deps_js_1.format)(this.parsedVersion) : undefined;
|
|
60
|
+
}
|
|
58
61
|
compare(release) {
|
|
59
|
-
if (!this.
|
|
62
|
+
if (!this.parsedVersion && release.parsedVersion) {
|
|
60
63
|
return -1;
|
|
61
64
|
}
|
|
62
|
-
if (!release.
|
|
65
|
+
if (!release.parsedVersion) {
|
|
63
66
|
return 1;
|
|
64
67
|
}
|
|
65
68
|
if (!this.date && release.date) {
|
|
@@ -68,8 +71,8 @@ class Release {
|
|
|
68
71
|
if (!release.date) {
|
|
69
72
|
return 1;
|
|
70
73
|
}
|
|
71
|
-
if (this.
|
|
72
|
-
return -
|
|
74
|
+
if (this.parsedVersion && release.parsedVersion) {
|
|
75
|
+
return -(0, deps_js_1.compare)(this.parsedVersion, release.parsedVersion);
|
|
73
76
|
}
|
|
74
77
|
return 0;
|
|
75
78
|
}
|
|
@@ -81,9 +84,9 @@ class Release {
|
|
|
81
84
|
}
|
|
82
85
|
setVersion(version) {
|
|
83
86
|
if (typeof version === "string") {
|
|
84
|
-
version =
|
|
87
|
+
version = (0, deps_js_1.parse)(version);
|
|
85
88
|
}
|
|
86
|
-
this.
|
|
89
|
+
this.parsedVersion = version;
|
|
87
90
|
//Re-sort the releases of the parent changelog
|
|
88
91
|
if (this.changelog) {
|
|
89
92
|
this.changelog.sortReleases();
|
|
@@ -131,12 +134,13 @@ class Release {
|
|
|
131
134
|
let t = [];
|
|
132
135
|
const hasCompareLink = this.getCompareLink(changelog) !== undefined;
|
|
133
136
|
const yanked = this.yanked ? " [YANKED]" : "";
|
|
134
|
-
|
|
137
|
+
const { version } = this;
|
|
138
|
+
if (version) {
|
|
135
139
|
if (hasCompareLink) {
|
|
136
|
-
t.push(`## [${
|
|
140
|
+
t.push(`## [${version}] - ${formatDate(this.date)}${yanked}`);
|
|
137
141
|
}
|
|
138
142
|
else {
|
|
139
|
-
t.push(`## ${
|
|
143
|
+
t.push(`## ${version} - ${formatDate(this.date)}${yanked}`);
|
|
140
144
|
}
|
|
141
145
|
}
|
|
142
146
|
else {
|
|
@@ -180,19 +184,14 @@ class Release {
|
|
|
180
184
|
++offset;
|
|
181
185
|
previous = changelog.releases[index + offset];
|
|
182
186
|
}
|
|
183
|
-
if (!previous) {
|
|
184
|
-
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
return `[${this.version}]: ${changelog.url}/releases/tag/${changelog.tagName(this)}`;
|
|
188
|
-
}
|
|
189
|
-
if (!this.version) {
|
|
190
|
-
return `[Unreleased]: ${changelog.url}/compare/${changelog.tagName(previous)}...${changelog.head}`;
|
|
187
|
+
if (!previous && (!this.version || !this.date)) {
|
|
188
|
+
return;
|
|
191
189
|
}
|
|
192
|
-
|
|
193
|
-
|
|
190
|
+
const compareLink = changelog.compareLink(previous, this);
|
|
191
|
+
if (!compareLink) {
|
|
192
|
+
return;
|
|
194
193
|
}
|
|
195
|
-
return `[${this.version}]: ${
|
|
194
|
+
return `[${this.version || "Unreleased"}]: ${compareLink}`;
|
|
196
195
|
}
|
|
197
196
|
getLinks(changelog) {
|
|
198
197
|
const links = [];
|
package/script/src/deps.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { compare, eq, format, parse, } from "../deps/deno.land/std@0.205.0/semver/mod.js";
|
|
2
|
+
export type { SemVer } from "../deps/deno.land/std@0.205.0/semver/mod.js";
|
package/script/src/deps.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.eq = exports.
|
|
7
|
-
var mod_js_1 = require("../deps/deno.land/std@0.
|
|
8
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.parse = exports.format = exports.eq = exports.compare = void 0;
|
|
4
|
+
var mod_js_1 = require("../deps/deno.land/std@0.205.0/semver/mod.js");
|
|
5
|
+
Object.defineProperty(exports, "compare", { enumerable: true, get: function () { return mod_js_1.compare; } });
|
|
9
6
|
Object.defineProperty(exports, "eq", { enumerable: true, get: function () { return mod_js_1.eq; } });
|
|
7
|
+
Object.defineProperty(exports, "format", { enumerable: true, get: function () { return mod_js_1.format; } });
|
|
8
|
+
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return mod_js_1.parse; } });
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporary URLPattern shim
|
|
3
|
+
* @see https://github.com/denoland/dnt/issues/336
|
|
4
|
+
*/
|
|
5
|
+
declare class URLPatternShim {
|
|
6
|
+
private readonly pattern;
|
|
7
|
+
constructor(pattern: string | RegExp);
|
|
8
|
+
test(url: string): boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface Settings {
|
|
11
|
+
pattern: URLPatternShim;
|
|
12
|
+
tagLink: (url: string, tag: string, previous?: string) => string;
|
|
13
|
+
head: string;
|
|
14
|
+
}
|
|
15
|
+
export default function getSettingsForURL(url: string): Settings | undefined;
|
|
16
|
+
export declare const settings: Settings[];
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settings = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Temporary URLPattern shim
|
|
6
|
+
* @see https://github.com/denoland/dnt/issues/336
|
|
7
|
+
*/
|
|
8
|
+
class URLPatternShim {
|
|
9
|
+
constructor(pattern) {
|
|
10
|
+
Object.defineProperty(this, "pattern", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
writable: true,
|
|
14
|
+
value: void 0
|
|
15
|
+
});
|
|
16
|
+
if (typeof pattern === "string") {
|
|
17
|
+
pattern = pattern.replace(/\*/g, ".*");
|
|
18
|
+
pattern = new RegExp(`^${pattern}$`);
|
|
19
|
+
}
|
|
20
|
+
this.pattern = pattern;
|
|
21
|
+
}
|
|
22
|
+
test(url) {
|
|
23
|
+
return this.pattern.test(url);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function getSettingsForURL(url) {
|
|
27
|
+
return exports.settings.find((settings) => settings.pattern.test(url));
|
|
28
|
+
}
|
|
29
|
+
exports.default = getSettingsForURL;
|
|
30
|
+
exports.settings = [
|
|
31
|
+
{
|
|
32
|
+
pattern: new URLPatternShim("https://github.com/*"),
|
|
33
|
+
head: "HEAD",
|
|
34
|
+
tagLink(url, tag, previous) {
|
|
35
|
+
if (!previous) {
|
|
36
|
+
return `${url}/releases/tag/${tag}`;
|
|
37
|
+
}
|
|
38
|
+
return `${url}/compare/${previous}...${tag}`;
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
pattern: new URLPatternShim("https://gitlab.*/*"),
|
|
43
|
+
head: "master",
|
|
44
|
+
tagLink(url, tag, previous) {
|
|
45
|
+
if (!previous) {
|
|
46
|
+
return `${url}/-/tags/${tag}`;
|
|
47
|
+
}
|
|
48
|
+
return `${url}/-/compare/${previous}...${tag}`;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
];
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# Changelog - demo
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
-
The format is based on [Keep a Changelog](
|
|
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/script/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/).
|