conventional-changelog-ghostwriter
v1.3.2
Published
A configurable conventional-changelog preset
Downloads
962
Maintainers
Readme
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:
Installation
npm install --save-dev conventional-changelog-ghostwriter
pnpm install --save-dev conventional-changelog-ghostwriter
yarn add --dev conventional-changelog-ghostwriter
Usage
Create and configure a
.changelogrc.js
file in the root of your repositoryUpdate 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
Configuration
commitUrlFormat
: string
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. |
compareUrlFormat
: string
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. |
issuePrefixes
: string[]
The array of prefixes used to detect references to issues.
issueReferencesPrefix
: string = "for"
The prefix to use before listing issues that a commit refers to. Defaults to "for"
.
issueUrlFormat
: string
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. |
omitVersionSpacing
: boolean | undefined
When true
, omits the <br />
tag rendered between version numbers.
preset
: "github" | undefined
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 };
Noteworthy
Asterisk Scope
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