JSPM

conventional-changelog-ghostwriter

1.3.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 241
  • Score
    100M100P100Q100538F
  • License MIT

A configurable conventional-changelog preset

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

NPM Package Version


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

  1. Create and configure a .changelogrc.js file in the root of your repository

  2. Update your CHANGELOG.md generator to leverage conventional-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',
            },
          ],
        ],
      
        ...
      };
  3. 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