Skip to content

Commit d082e8c

Browse files
committed
add script to get the release notes
Usage: ```sh npm run release-notes # Gets notes for current version npm run release-notes 1.2.3 # Gets notes for explicit version ```
1 parent 96fefc6 commit d082e8c

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"build": "npm run swcify",
1515
"dev": "npm run swcify -- --watch",
1616
"postbuild": "tsc --emitDeclarationOnly",
17-
"prepublishOnly": "npm run build"
17+
"prepublishOnly": "npm run build",
18+
"release-notes": "node ./scripts/release-notes.js"
1819
},
1920
"prettier": {
2021
"printWidth": 100,

scripts/release-notes.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
let path = require('path')
2+
let fs = require('fs')
3+
4+
let version = process.argv[2] || require('../package.json').version
5+
let changelog = fs.readFileSync(path.resolve(__dirname, '..', 'CHANGELOG.md'), 'utf8')
6+
let match = new RegExp(
7+
`## \\[${version}\\] - (.*)\\n\\n([\\s\\S]*?)\\n(?:(?:##\\s)|(?:\\[))`,
8+
'g'
9+
).exec(changelog)
10+
11+
if (match) {
12+
let [, date, notes] = match
13+
console.log(notes.trim())
14+
} else {
15+
console.log(`Placeholder release notes for version: v${version}`)
16+
}

0 commit comments

Comments
 (0)