Skip to content

Commit a64e952

Browse files
committed
fix: collapse chores in changelog
1 parent 1df98ef commit a64e952

13 files changed

+973
-360
lines changed

lib/content/index.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ module.exports = {
199199
},
200200
allowedPackages: [],
201201
changelogTypes: [
202-
{ type: 'feat', section: 'Features', hidden: false },
203-
{ type: 'fix', section: 'Bug Fixes', hidden: false },
204-
{ type: 'docs', section: 'Documentation', hidden: false },
205-
{ type: 'deps', section: 'Dependencies', hidden: false },
206-
{ type: 'chore', section: 'Chores', hidden: false },
202+
{ type: 'feat', section: 'Features', hidden: false, collapse: false },
203+
{ type: 'fix', section: 'Bug Fixes', hidden: false, collapse: false },
204+
{ type: 'docs', section: 'Documentation', hidden: false, collapse: false },
205+
{ type: 'deps', section: 'Dependencies', hidden: false, collapse: false },
206+
{ type: 'chore', section: 'Chores', hidden: false, collapse: true },
207207
],
208208
}

lib/release/changelog.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class Changelog {
66
#title
77
#entries = {}
88
#types = new Set([Changelog.BREAKING])
9+
#sections = {}
910
#titles = {
1011
[Changelog.BREAKING]: '⚠️ BREAKING CHANGES',
1112
}
@@ -14,6 +15,7 @@ class Changelog {
1415
this.#title = `## ${url ? link(version, url) : version} (${formatDate()})`
1516
for (const section of sections) {
1617
this.#types.add(section.type)
18+
this.#sections[section.type] = section
1719
this.#titles[section.type] = section.section
1820
}
1921
}
@@ -26,14 +28,24 @@ class Changelog {
2628
this.#entries[type].push(...entries)
2729
}
2830

31+
#getEntries (type) {
32+
const section = this.#sections[type]
33+
const entries = this.#entries[type].map(list)
34+
if (section?.collapse) {
35+
entries.unshift('<details><summary>Commits</summary>\n')
36+
entries.push('\n</details>')
37+
}
38+
return entries.join('\n')
39+
}
40+
2941
toString () {
3042
const body = [this.#title]
3143
for (const type of this.#types) {
3244
const title = this.#titles[type]
3345
if (this.#entries[type]?.length) {
3446
body.push(
3547
`### ${title}`,
36-
this.#entries[type].map(list).join('\n')
48+
this.#getEntries(type)
3749
)
3850
}
3951
}

release-please-config.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,32 @@
33
{
44
"type": "feat",
55
"section": "Features",
6-
"hidden": false
6+
"hidden": false,
7+
"collapse": false
78
},
89
{
910
"type": "fix",
1011
"section": "Bug Fixes",
11-
"hidden": false
12+
"hidden": false,
13+
"collapse": false
1214
},
1315
{
1416
"type": "docs",
1517
"section": "Documentation",
16-
"hidden": false
18+
"hidden": false,
19+
"collapse": false
1720
},
1821
{
1922
"type": "deps",
2023
"section": "Dependencies",
21-
"hidden": false
24+
"hidden": false,
25+
"collapse": false
2226
},
2327
{
2428
"type": "chore",
2529
"section": "Chores",
26-
"hidden": false
30+
"hidden": false,
31+
"collapse": true
2732
}
2833
],
2934
"packages": {

tap-snapshots/test/apply/source-snapshots.js.test.cjs

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,27 +1365,32 @@ release-please-config.json
13651365
{
13661366
"type": "feat",
13671367
"section": "Features",
1368-
"hidden": false
1368+
"hidden": false,
1369+
"collapse": false
13691370
},
13701371
{
13711372
"type": "fix",
13721373
"section": "Bug Fixes",
1373-
"hidden": false
1374+
"hidden": false,
1375+
"collapse": false
13741376
},
13751377
{
13761378
"type": "docs",
13771379
"section": "Documentation",
1378-
"hidden": false
1380+
"hidden": false,
1381+
"collapse": false
13791382
},
13801383
{
13811384
"type": "deps",
13821385
"section": "Dependencies",
1383-
"hidden": false
1386+
"hidden": false,
1387+
"collapse": false
13841388
},
13851389
{
13861390
"type": "chore",
13871391
"section": "Chores",
1388-
"hidden": false
1392+
"hidden": false,
1393+
"collapse": true
13891394
}
13901395
],
13911396
"prerelease-type": "pre",
@@ -3020,27 +3025,32 @@ release-please-config.json
30203025
{
30213026
"type": "feat",
30223027
"section": "Features",
3023-
"hidden": false
3028+
"hidden": false,
3029+
"collapse": false
30243030
},
30253031
{
30263032
"type": "fix",
30273033
"section": "Bug Fixes",
3028-
"hidden": false
3034+
"hidden": false,
3035+
"collapse": false
30293036
},
30303037
{
30313038
"type": "docs",
30323039
"section": "Documentation",
3033-
"hidden": false
3040+
"hidden": false,
3041+
"collapse": false
30343042
},
30353043
{
30363044
"type": "deps",
30373045
"section": "Dependencies",
3038-
"hidden": false
3046+
"hidden": false,
3047+
"collapse": false
30393048
},
30403049
{
30413050
"type": "chore",
30423051
"section": "Chores",
3043-
"hidden": false
3052+
"hidden": false,
3053+
"collapse": true
30443054
}
30453055
],
30463056
"prerelease-type": "pre",
@@ -4392,27 +4402,32 @@ release-please-config.json
43924402
{
43934403
"type": "feat",
43944404
"section": "Features",
4395-
"hidden": false
4405+
"hidden": false,
4406+
"collapse": false
43964407
},
43974408
{
43984409
"type": "fix",
43994410
"section": "Bug Fixes",
4400-
"hidden": false
4411+
"hidden": false,
4412+
"collapse": false
44014413
},
44024414
{
44034415
"type": "docs",
44044416
"section": "Documentation",
4405-
"hidden": false
4417+
"hidden": false,
4418+
"collapse": false
44064419
},
44074420
{
44084421
"type": "deps",
44094422
"section": "Dependencies",
4410-
"hidden": false
4423+
"hidden": false,
4424+
"collapse": false
44114425
},
44124426
{
44134427
"type": "chore",
44144428
"section": "Chores",
4415-
"hidden": false
4429+
"hidden": false,
4430+
"collapse": true
44164431
}
44174432
],
44184433
"prerelease-type": "pre",
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
/* IMPORTANT
2+
* This snapshot file is auto-generated, but designed for humans.
3+
* It should be checked into source control and tracked carefully.
4+
* Re-generate by setting TAP_SNAPSHOT=1 and running tests.
5+
* Make sure to inspect the output below. Do not ignore changes!
6+
*/
7+
'use strict'
8+
exports[`test/release/release-please.js TAP cases chore commit > pr chore: this is a chore 1`] = `
9+
Object {
10+
"baseBranchName": "template-oss-mock-testing-branch-do-not-delete",
11+
"body": String(
12+
:robot: I have created a release *beep* *boop*
13+
---
14+
15+
16+
<details><summary>2016.0.2-pre</summary>
17+
18+
## [2016.0.2-pre](https://github.com/npm/npm-cli-release-please/compare/v2016.0.1-pre...v2016.0.2-pre) (2023-12-04)
19+
20+
### Chores
21+
22+
<details><summary>Commits</summary>
23+
24+
* [\`d690bcb\`](https://github.com/npm/npm-cli-release-please/commit/d690bcb622f954314086bc333cd56fa4d2b59897) this is a chore (@lukekarrys)
25+
* [\`38acd0f\`](https://github.com/npm/npm-cli-release-please/commit/38acd0f850907c357e51caa56faa42526ace49d9) update template-oss (@lukekarrys)
26+
27+
</details>
28+
</details>
29+
30+
---
31+
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
32+
),
33+
"files": Array [],
34+
"headBranchName": "release-please--branches--template-oss-mock-testing-branch-do-not-delete",
35+
"labels": Array [
36+
"autorelease: pending",
37+
],
38+
"number": 264,
39+
"sha": "675ff2fa3a03500ce5748e38d05c003d80943e43",
40+
"title": "chore: release 2016.0.2-pre",
41+
}
42+
`
43+
44+
exports[`test/release/release-please.js TAP cases chore commit > releases chore commit 1`] = `
45+
Array [
46+
Object {
47+
"draft": false,
48+
"id": 132552731,
49+
"major": 2016,
50+
"minor": 0,
51+
"name": "v2016.0.2-pre",
52+
"notes": String(
53+
## [2016.0.2-pre](https://github.com/npm/npm-cli-release-please/compare/v2016.0.1-pre...v2016.0.2-pre) (2023-12-04)
54+
55+
### Chores
56+
57+
Commits
58+
59+
* [\`d690bcb\`](https://github.com/npm/npm-cli-release-please/commit/d690bcb622f954314086bc333cd56fa4d2b59897) this is a chore (@lukekarrys)
60+
* [\`38acd0f\`](https://github.com/npm/npm-cli-release-please/commit/38acd0f850907c357e51caa56faa42526ace49d9) update template-oss (@lukekarrys)
61+
),
62+
"patch": 2,
63+
"path": ".",
64+
"pkgName": "npm-cli-release-please",
65+
"prNumber": 264,
66+
"publishTag": "prerelease-2016",
67+
"sha": "eaa230680541215efd72568054f187e8cebdd2a5",
68+
"tagName": "v2016.0.2-pre",
69+
"uploadUrl": "https://uploads.github.com/repos/npm/npm-cli-release-please/releases/132552731/assets{?name,label}",
70+
"url": "https://github.com/npm/npm-cli-release-please/releases/tag/v2016.0.2-pre",
71+
"version": "2016.0.2-pre",
72+
},
73+
]
74+
`

0 commit comments

Comments
 (0)