-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelease.config.js
69 lines (63 loc) · 1.92 KB
/
release.config.js
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const publish = ['@semantic-release/github'];
const analyzeCommits = [
{
path: '@semantic-release/commit-analyzer',
releaseRules: [
{ type: "feat", release: "minor" },
{ type: "fix", release: "patch" },
{ type: "breaking", release: "major" },
{ type: "refactor", release: "patch" },
{ type: "chore", release: "patch" },
{ type: "docs", release: "patch" },
]
}
];
const generateNotes = [
{
path: '@semantic-release/release-notes-generator',
writerOpts: {
groupBy: "type",
commitGroupsSort: ["breaking", "feat", "fix", "chore"],
commitsSort: "header"
},
types: [
{ type: "feat", section: "Features" },
{ type: "fix", section: "Bug Fixes" },
{ type: "breaking", section: "Breaking Changes" },
{ type: "chore", section: "Chore" },
{ type: "refactor", hidden: true },
{ type: "docs", hidden: true },
{ type: "doc", hidden: true },
{ type: "style", hidden: true },
{ type: "perf", hidden: true },
{ type: "test", hidden: true }
],
presetConfig: true
}
];
const prepare = [
{
path: '@semantic-release/changelog',
changelogFile: 'CHANGELOG.md'
}
]
const config = {
branches: [
'main',
{name: 'develop', prerelease: 'SNAPSHOT'}
],
plugins: [
'@semantic-release/commit-analyzer',
'@semantic-release/release-notes-generator',
'@semantic-release/changelog',
'@semantic-release/github',
['@semantic-release/exec', {
'verifyReleaseCmd': './update-version.sh $BRANCH_NAME ${nextRelease.version}',
}]
],
analyzeCommits: analyzeCommits,
generateNotes: generateNotes,
prepare: prepare,
publish: publish
};
module.exports = config;