-
-
Notifications
You must be signed in to change notification settings - Fork 389
Expand file tree
/
Copy pathcreate-git-tag.js
More file actions
39 lines (29 loc) · 834 Bytes
/
create-git-tag.js
File metadata and controls
39 lines (29 loc) · 834 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const fs = require('fs')
const shell = require('shelljs')
const Path = require('path')
const lerna = require('../lerna')
const {CHANGELOG_FILENAME} = require('./constants')
function getChangelog() {
const content = fs.readFileSync(Path.join(process.cwd(), CHANGELOG_FILENAME), 'utf-8')
const lines = content.split('\n')
let hasStarted = false
let hasFinished = false
return lines
.filter(line => {
if (hasFinished) {
return false
}
if (hasStarted) {
hasFinished = line.startsWith('## ')
return !hasFinished
}
hasStarted = line.startsWith(`## ${lerna.version}`)
return false
})
.join('\n')
}
const changelog = getChangelog()
const {code} = shell.exec(`git tag v${lerna.version} -f -a -m "${changelog}"`)
if (code !== 0) {
shell.exit(code)
}