Package Exports
- conventional-changelog-ghostwriter
- conventional-changelog-ghostwriter/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (conventional-changelog-ghostwriter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
conventional-changelog-ghostwriter
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
npm install --save-dev conventional-changelog-ghostwriter
pnpm
pnpm install --save-dev conventional-changelog-ghostwriter
yarn
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