You want to leverage conventional-changelog to create a CHANGELOG.md
but none of the available
presets support your commit types or tools, e.g., Bitbucket, JIRA, Trello. This preset supports
configuration via a .changelogrc.js
file.
This package is best used alongside the other ghostwriter
tools. Each tool can be configured
using the same .changelogrc.js
file:
npm
npm install --save-dev conventional-changelog-ghostwriter
pnpm
pnpm install --save-dev conventional-changelog-ghostwriter
yarn
yarn add --dev conventional-changelog-ghostwriter
-
Create and configure a
.changelogrc.js
file in the root of your repository -
Update your
CHANGELOG.md
generator to leverageconventional-changelog-ghostwriter
-
Conventional Changelog CLI
conventional-changelog-cli -p ghostwriter
-
Lerna
{ ... "command": { "version": { "changelogPreset": "ghostwriter", "conventionalCommits": true } } ... }
-
Semantic Release
module.exports = { ... plugins: [ [ '@semantic-release/commit-analyzer', { preset: 'ghostwriter', }, ], [ '@semantic-release/release-notes-generator', { preset: 'ghostwriter', }, ], ], ... };
-
-
Generate your
CHANGELOG.md
The URL template to use when generating links to a specific commit hash.
Template Variable | Description |
---|---|
{{LONG_HASH}} |
The fully qualified git commit hash. |
{{SHORT_HASH}} |
The short version of the git commit hash. |
The URL template to use when generating links to a comparison between two git shas.
Template Variable | Description |
---|---|
{{CURRENT_TAG}} |
The tag of the version the changelog is being generated for. |
{{PREVIOUS_TAG}} |
The tag of the last version the changelog was generated for. |
The array of prefixes used to detect references to issues.
The prefix to use before listing issues that a commit refers to. Defaults to "for"
.
The URL template to use when generating links to a comparison between two git shas.
Template Variable | Description |
---|---|
{{ISSUE_NUMBER}} |
The issue's number. |
{{ISSUE_PREFIX}} |
The issue's prefix. |
When true
, omits the <br />
tag rendered between version numbers.
The configuration preset to use which will set other configuration properties. If this property is set the following configuration properties are overwritten, i.e., nullable:
commitUrlFormat
compareUrlFormat
issuePrefixes
issueReferencesPrefix
issueUrlFormat
types
: Array<HiddenType | VisibleType>
The array of type objects representing the explicitly supported commit message types, and whether they should show up in generated CHANGELOGs.
type CommitType = { description: string; type: string };
type HiddenType = CommitType & { hidden: true; section: undefined };
type VisibleType = CommitType & { hidden: undefined; section: string };
If the scope of a commit is *
it will be omitted from the changelog.
Inputted Commit:
feat(*): add awesome things
Outputted Changelog:
feat: add awesome things