@semantic-release/release-notes-generator
v14.0.2
Published
semantic-release plugin to generate changelog content with conventional-changelog
Downloads
7,098,837
Readme
release-notes-generator
semantic-release plugin to generate changelog content with conventional-changelog
| Step | Description |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| generateNotes
| Generate release notes for the commits added since the last release with conventional-changelog. |
Install
$ npm install @semantic-release/release-notes-generator -D
Usage
The plugin can be configured in the semantic-release configuration file:
{
"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"]
}
}
]
]
}
With this example:
- the commits that contains
BREAKING CHANGE
,BREAKING CHANGES
orBREAKING
in their body will be considered breaking changes (by default the angular preset checks only forBREAKING CHANGE
andBREAKING CHANGES
) - the commits will be sorted in the changelog by
subject
thenscope
(by default the angular preset sort the commits in the changelog byscope
thensubject
)
Configuration
Options
| Option | Description | Default |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| preset
| conventional-changelog preset (possible values: angular
, atom
, codemirror
, ember
, eslint
, express
, jquery
, jshint
, conventionalcommits
). | angular
|
| config
| NPM package name of a custom conventional-changelog preset. | - |
| parserOpts
| Additional conventional-commits-parser options that will extends the ones loaded by preset
or config
. This is convenient to use a conventional-changelog preset with some customizations without having to create a new module. | - |
| writerOpts
| Additional conventional-commits-writer options that will extends the ones loaded by preset
or config
. This is convenient to use a conventional-changelog preset with some customizations without having to create a new module. | - |
| host
| The host used to generate links to issues and commits. See conventional-changelog-writer#host. | The host from the repositoryurl
option. |
| linkCompare
| Whether to include a link to compare changes since previous release in the release note. | true
|
| linkReferences
| Whether to include a link to issues and commits in the release note. See conventional-changelog-writer#linkreferences. | true
|
| commit
| Keyword used to generate commit links (formatted as <host>/<owner>/<repository>/<commit>/<commit_sha>
). See conventional-changelog-writer#commit. | commits
for Bitbucket repositories, commit
otherwise |
| issue
| Keyword used to generate issue links (formatted as <host>/<owner>/<repository>/<issue>/<issue_number>
). See conventional-changelog-writer#issue. | issue
for Bitbucket repositories, issues
otherwise |
| presetConfig
| Additional configuration passed to the conventional-changelog preset. Used for example with conventional-changelog-conventionalcommits. | - |
Notes: in order to use a preset
it must be installed (for example to use the eslint preset you must install it with npm install conventional-changelog-eslint -D
)
Note: config
will be overwritten by the values of preset
. You should use either preset
or config
, but not both.
Note: Individual properties of parserOpts
and writerOpts
will override ones loaded with an explicitly set preset
or config
. If preset
or config
are not set, only the properties set in parserOpts
and writerOpts
will be used.
Note: For presets that expects a configuration object, such as conventionalcommits
, the presetConfig
option must be set.