发布说明生成器
semantic-release 插件,使用 conventional-changelog 生成变更日志内容
步骤 | 描述 |
---|---|
generateNotes | 使用 conventional-changelog 为自上次发布以来添加的提交生成发布说明。 |
安装
$ npm install @semantic-release/release-notes-generator -D
使用
插件可以在 semantic-release 配置文件 中进行配置:
{
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "angular",
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
}
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "angular",
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
},
"writerOpts": {
"commitsSort": ["subject", "scope"]
}
}
]
]
}
使用此示例:
- 在提交消息正文中包含
BREAKING CHANGE
、BREAKING CHANGES
或BREAKING
的提交将被视为破坏性变更(默认情况下,angular 预设 仅检查BREAKING CHANGE
和BREAKING CHANGES
) - 变更日志中的提交将按
subject
然后按scope
排序(默认情况下,angular 预设 在变更日志中按scope
然后按subject
对提交进行排序)
配置
选项
选项 | 描述 | 默认值 |
---|---|---|
preset | conventional-changelog 预设(可选值:angular 、atom 、codemirror 、ember 、eslint 、express 、jquery 、jshint 、conventionalcommits )。 | angular |
config | 自定义 conventional-changelog 预设的 NPM 包名。 | - |
parserOpts | 附加的 conventional-commits-parser 选项,用于扩展由 preset 或 config 加载的选项。这可以方便地使用 conventional-changelog 预设并进行一些自定义,而无需创建新模块。 | - |
writerOpts | 附加的 conventional-commits-writer 选项,用于扩展由 preset 或 config 加载的选项。这可以方便地使用 conventional-changelog 预设并进行一些自定义,而无需创建新模块。 | - |
host | 用于生成问题和提交链接的主机。参见 conventional-changelog-writer#host。 | repositoryurl 选项 中的主机。 |
linkCompare | 是否在发布说明中包含比较自上次发布以来更改的链接。 | true |
linkReferences | 是否在发布说明中包含问题和提交的链接。参见 conventional-changelog-writer#linkreferences。 | true |
commit | 用于生成提交链接的关键词(格式为 <host>/<owner>/<repository>/<commit>/<commit_sha> )。参见 conventional-changelog-writer#commit。 | Bitbucket 仓库使用 commits ,其他情况使用 commit |
issue | 用于生成问题链接的关键词(格式为 <host>/<owner>/<repository>/<issue>/<issue_number> )。参见 conventional-changelog-writer#issue。 | Bitbucket 仓库使用 issue ,其他情况使用 issues |
presetConfig | 传递给 conventional-changelog 预设的附加配置。例如用于 conventional-changelog-conventionalcommits。 | - |
注意:要使用preset ,必须先安装它(例如,要使用eslint预设,你必须通过npm install conventional-changelog-eslint -D 来安装) |
注意:config
的值将被preset
的值覆盖。你应该使用preset
或config
中的一个,而不是同时使用两者。
注意:parserOpts
和writerOpts
的个别属性将覆盖通过显式设置的preset
或config
加载的属性。如果未设置preset
或config
,则只会使用parserOpts
和writerOpts
中设置的属性。
注意:对于需要配置对象的预设,如conventionalcommits
,必须设置presetConfig
选项。