@release-it/keep-a-changelog 7.0.0 → 7.1.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/.github/workflows/test.yml +2 -1
- package/README.md +9 -9
- package/index.js +2 -2
- package/package.json +17 -8
- package/test.js +10 -10
package/README.md
CHANGED
|
@@ -28,14 +28,14 @@ In [release-it](https://github.com/release-it/release-it) config:
|
|
|
28
28
|
|
|
29
29
|
## Options
|
|
30
30
|
|
|
31
|
-
| option | default value | description
|
|
32
|
-
| ----------------- | ---------------- |
|
|
33
|
-
| filename | `'CHANGELOG.md'` | File with changelogs.
|
|
34
|
-
| addUnreleased | `false` | It leaves "Unreleased" title row if set to `true`.
|
|
35
|
-
| keepUnreleased | `false` | It leaves "Unreleased" title row unchanged if set to `true`.
|
|
36
|
-
| addVersionUrl | `false` | Links the version to the according changeset. Uses GitHub-compatible URLs by default, see other options to configure the URL format.
|
|
37
|
-
| versionUrlFormats | See below. | Determines the version URL format when `addVersionUrl` is set to `true`. Uses GitHub-compatible URLs by default.
|
|
38
|
-
| head | `'HEAD'` | The git revision the new version tag is compared to in the Unreleased URL.
|
|
31
|
+
| option | default value | description |
|
|
32
|
+
| ----------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
33
|
+
| filename | `'CHANGELOG.md'` | File with changelogs. |
|
|
34
|
+
| addUnreleased | `false` | It leaves "Unreleased" title row if set to `true`. |
|
|
35
|
+
| keepUnreleased | `false` | It leaves "Unreleased" title row unchanged if set to `true`. |
|
|
36
|
+
| addVersionUrl | `false` | Links the version to the according changeset. Uses GitHub-compatible URLs by default, see other options to configure the URL format. |
|
|
37
|
+
| versionUrlFormats | See below. | Determines the version URL format when `addVersionUrl` is set to `true`. Uses GitHub-compatible URLs by default. |
|
|
38
|
+
| head | `'HEAD'` | The git revision the new version tag is compared to in the Unreleased URL. |
|
|
39
39
|
|
|
40
40
|
### versionUrlFormats
|
|
41
41
|
|
|
@@ -60,6 +60,6 @@ The URL formats used when `addVersionUrl` is set to `true`. Example configuratio
|
|
|
60
60
|
| option | default value | description |
|
|
61
61
|
| --------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
62
62
|
| repositoryUrl | `'https://{host}/{repository}'` | The format of the repository URL. |
|
|
63
|
-
| unreleasedUrl | `'{repositoryUrl}/compare/{tagName}...{head}'` | The format of the `[
|
|
63
|
+
| unreleasedUrl | `'{repositoryUrl}/compare/{tagName}...{head}'` | The format of the `[Unreleased]` section URL. |
|
|
64
64
|
| versionUrl | `'{repositoryUrl}/compare/{previousTag}...{tagName}'` | The format of a release version URL. |
|
|
65
65
|
| firstVersionUrl | `'{repositoryUrl}/releases/tag/{tagName}'` | The format of the first release version URL, i.e. when no previous tags have been released. |
|
package/index.js
CHANGED
|
@@ -132,11 +132,11 @@ class KeepAChangelog extends Plugin {
|
|
|
132
132
|
let updatedChangelog = changelog;
|
|
133
133
|
|
|
134
134
|
const repositoryUrl = format(this.versionUrlFormats.repositoryUrl, repo);
|
|
135
|
-
const unreleasedLinkRegex = new RegExp(`\\[
|
|
135
|
+
const unreleasedLinkRegex = new RegExp(`\\[Unreleased\\]\\:.*${this.head}`, 'i');
|
|
136
136
|
|
|
137
137
|
// Add or update the Unreleased link
|
|
138
138
|
const unreleasedUrl = format(this.versionUrlFormats.unreleasedUrl, { repositoryUrl, tagName, head: this.head });
|
|
139
|
-
const unreleasedLink = `[
|
|
139
|
+
const unreleasedLink = `[Unreleased]: ${unreleasedUrl}`;
|
|
140
140
|
if (unreleasedLinkRegex.test(updatedChangelog)) {
|
|
141
141
|
updatedChangelog = updatedChangelog.replace(unreleasedLinkRegex, unreleasedLink);
|
|
142
142
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@release-it/keep-a-changelog",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Keep-a-changelog plugin for release-it",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./index.js",
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"detect-newline": "^4.0.1",
|
|
34
|
-
"semver": "^7.7.
|
|
34
|
+
"semver": "^7.7.4",
|
|
35
35
|
"string-template": "^1.0.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"bron": "^2.0.3",
|
|
39
|
-
"fs-monkey": "^1.0
|
|
40
|
-
"memfs": "^4.
|
|
41
|
-
"release-it": "^
|
|
42
|
-
"sinon": "^
|
|
39
|
+
"fs-monkey": "^1.1.0",
|
|
40
|
+
"memfs": "^4.56.10",
|
|
41
|
+
"release-it": "^20.0.0",
|
|
42
|
+
"sinon": "^21.0.1"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"release-it": "^18.0.0 || ^19.0.0"
|
|
45
|
+
"release-it": "^18.0.0 || ^19.0.0 || ^20.0.0"
|
|
46
46
|
},
|
|
47
47
|
"engines": {
|
|
48
48
|
"node": "^20.9.0 || >=22.0.0"
|
|
@@ -50,7 +50,16 @@
|
|
|
50
50
|
"release-it": {
|
|
51
51
|
"github": {
|
|
52
52
|
"release": true,
|
|
53
|
-
"tokenRef": "GITHUB_TOKEN_RELEASE_IT"
|
|
53
|
+
"tokenRef": "GITHUB_TOKEN_RELEASE_IT",
|
|
54
|
+
"releaseNotes": {
|
|
55
|
+
"commit": "* ${commit.subject} (${sha}){ - thanks @${author.login}!}",
|
|
56
|
+
"excludeMatches": [
|
|
57
|
+
"webpro"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"comments": {
|
|
61
|
+
"submit": true
|
|
62
|
+
}
|
|
54
63
|
},
|
|
55
64
|
"hooks": {
|
|
56
65
|
"before:init": "npm test"
|
package/test.js
CHANGED
|
@@ -24,13 +24,13 @@ vol.fromJSON({
|
|
|
24
24
|
'\r\n\r\n## [Unreleased]\r\n\r\n* Item A\r\n* Item B\r\n\r\n## [1.0.0] - 2020-05-02\r\n\r\n* Item C\r\n* Item D',
|
|
25
25
|
'./CHANGELOG-UNRELEASED.md': '## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D',
|
|
26
26
|
'./CHANGELOG-VERSION_URL.md':
|
|
27
|
-
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[
|
|
27
|
+
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[Unreleased]: https://github.com/release-it/release-it/compare/1.0.0..HEAD\n[1.0.0]: https://github.com/release-it/release-it/compare/0.0.0...1.0.0',
|
|
28
28
|
'./CHANGELOG-VERSION_URL_FORMATS.md':
|
|
29
|
-
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[
|
|
29
|
+
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[Unreleased]: https://github.com/_git/release-it/release-it/compareBranch/1.0.0/HEAD\n[1.0.0]: https://github.com/_git/release-it/release-it/compareBranch/0.0.0/1.0.0',
|
|
30
30
|
'./CHANGELOG-VERSION_URL_HEAD.md':
|
|
31
|
-
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[
|
|
31
|
+
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[Unreleased]: https://github.com/release-it/release-it/compare/1.0.0..main\n[1.0.0]: https://github.com/release-it/release-it/compare/0.0.0...1.0.0',
|
|
32
32
|
'./CHANGELOG-VERSION_URL_UNRELEASED.md':
|
|
33
|
-
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[
|
|
33
|
+
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[Unreleased]: https://github.com/user/project/compare/1.0.0..HEAD\n[1.0.0]: https://github.com/user/project/compare/0.0.0...1.0.0',
|
|
34
34
|
'./CHANGELOG-VERSION_URL_UNRELEASED_TITLE_CASE.md':
|
|
35
35
|
'## [Unreleased]\n\n* Item A\n* Item B\n\n## [1.0.0] - 2020-05-02\n\n* Item C\n* Item D\n\n[Unreleased]: https://github.com/user/project/compare/1.0.0..HEAD\n[1.0.0]: https://github.com/user/project/compare/0.0.0...1.0.0',
|
|
36
36
|
'./CHANGELOG-VERSION_URL_NEW.md': '## [Unreleased]\n\n* Item A\n* Item B\n'
|
|
@@ -166,7 +166,7 @@ test('should add links to the end of the file', async t => {
|
|
|
166
166
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
167
167
|
assert.match(
|
|
168
168
|
readFile('./CHANGELOG-VERSION_URL.md'),
|
|
169
|
-
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[
|
|
169
|
+
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[Unreleased]: https:\/\/github\.com\/release-it\/release-it\/compare\/1\.0\.1\.\.\.HEAD\n\[1\.0\.1]: https:\/\/github\.com\/release-it\/release-it\/compare\/1\.0\.0\.\.\.1\.0\.1\n\[1\.0\.0]: https:\/\/github\.com\/release-it\/release-it\/compare\/0\.0\.0\.\.\.1\.0\.0\n$/
|
|
170
170
|
);
|
|
171
171
|
});
|
|
172
172
|
|
|
@@ -194,7 +194,7 @@ test('should add links with custom URL formats to the end of the file', async t
|
|
|
194
194
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
195
195
|
assert.match(
|
|
196
196
|
readFile('./CHANGELOG-VERSION_URL_FORMATS.md'),
|
|
197
|
-
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[
|
|
197
|
+
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[Unreleased]: https:\/\/github\.com\/_git\/release-it\/release-it\/compareBranch\/1\.0\.1\/HEAD\n\[1\.0\.1]: https:\/\/github\.com\/_git\/release-it\/release-it\/compareBranch\/1\.0\.0\/1\.0\.1\n\[1\.0\.0]: https:\/\/github\.com\/_git\/release-it\/release-it\/compareBranch\/0\.0\.0\/1\.0\.0\n$/
|
|
198
198
|
);
|
|
199
199
|
});
|
|
200
200
|
|
|
@@ -212,7 +212,7 @@ test('should add links with custom head to the end of the file', async t => {
|
|
|
212
212
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
213
213
|
assert.match(
|
|
214
214
|
readFile('./CHANGELOG-VERSION_URL_HEAD.md'),
|
|
215
|
-
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[
|
|
215
|
+
/^## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[Unreleased]: https:\/\/github\.com\/release-it\/release-it\/compare\/1\.0\.1\.\.\.main\n\[1\.0\.1]: https:\/\/github\.com\/release-it\/release-it\/compare\/1\.0\.0\.\.\.1\.0\.1\n\[1\.0\.0]: https:\/\/github\.com\/release-it\/release-it\/compare\/0\.0\.0\.\.\.1\.0\.0\n$/
|
|
216
216
|
);
|
|
217
217
|
});
|
|
218
218
|
|
|
@@ -232,7 +232,7 @@ test('should add unreleased section and links to the end of the file', async t =
|
|
|
232
232
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
233
233
|
assert.match(
|
|
234
234
|
readFile('./CHANGELOG-VERSION_URL_UNRELEASED.md'),
|
|
235
|
-
/^## \[Unreleased]\n\n## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[
|
|
235
|
+
/^## \[Unreleased]\n\n## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[Unreleased]: https:\/\/github\.com\/user\/project\/compare\/1\.0\.1\.\.\.HEAD\n\[1\.0\.1]: https:\/\/github\.com\/user\/project\/compare\/1\.0\.0\.\.\.1\.0\.1\n\[1\.0\.0]: https:\/\/github\.com\/user\/project\/compare\/0\.0\.0\.\.\.1\.0\.0\n/
|
|
236
236
|
);
|
|
237
237
|
});
|
|
238
238
|
|
|
@@ -252,7 +252,7 @@ test('should match an existing unreleased link in title case', async t => {
|
|
|
252
252
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
253
253
|
assert.match(
|
|
254
254
|
readFile('./CHANGELOG-VERSION_URL_UNRELEASED_TITLE_CASE.md'),
|
|
255
|
-
/^## \[Unreleased]\n\n## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[
|
|
255
|
+
/^## \[Unreleased]\n\n## \[1\.0\.1] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n## \[1\.0\.0] - 2020-05-02\n\n\* Item C\n*\* Item D\n\n\[Unreleased]: https:\/\/github\.com\/user\/project\/compare\/1\.0\.1\.\.\.HEAD\n\[1\.0\.1]: https:\/\/github\.com\/user\/project\/compare\/1\.0\.0\.\.\.1\.0\.1\n\[1\.0\.0]: https:\/\/github\.com\/user\/project\/compare\/0\.0\.0\.\.\.1\.0\.0\n/
|
|
256
256
|
);
|
|
257
257
|
});
|
|
258
258
|
|
|
@@ -274,6 +274,6 @@ test('should add links to the end of a new changelog', async t => {
|
|
|
274
274
|
assert.equal(plugin.getChangelog(), '* Item A\n* Item B');
|
|
275
275
|
assert.match(
|
|
276
276
|
readFile('./CHANGELOG-VERSION_URL_NEW.md'),
|
|
277
|
-
/^## \[1\.0\.0] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n\[
|
|
277
|
+
/^## \[1\.0\.0] - [0-9]{4}-[0-9]{2}-[0-9]{2}\n\n\* Item A\n\* Item B\n\n\[Unreleased]: https:\/\/github\.com\/user\/project\/compare\/1\.0\.0\.\.\.HEAD\n\[1\.0\.0]: https:\/\/github\.com\/user\/project\/releases\/tag\/1\.0\.0\n$/
|
|
278
278
|
);
|
|
279
279
|
});
|