Skip to content

Latest commit

 

History

History
83 lines (64 loc) · 6.08 KB

README.md

File metadata and controls

83 lines (64 loc) · 6.08 KB

release-notes-generator

Customizable release-notes-generator plugin for semantic-release based on conventional-changelog

Travis Codecov Greenkeeper badge

npm latest version npm next version

Options

By default release-notes-generator uses the angular format described in Angular convention.

Additional options can be set within the plugin definition in package.json to use a different commit format and to customize it:

{
  "release": {
    "generateNotes": {
      "preset": "angular",
      "parserOpts": {
        "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
      },
      "writerOpts": {
        "commitsSort": ["subject", "scope"],
      }
    }
  }
}
Option Description Default
preset conventional-changelog preset (Possible values: angular, atom, codemirror, ember, eslint, express, jquery, jscs, jshint). angular
config NPM package name of a custom conventional-changelog preset. -
parserOpts Additional conventional-commits-parser options that will extends ones loaded by preset or config. See Parser options. -
writerOpts Additional conventional-commits-writer options that will extends ones loaded by preset or config. See Writer options. -

NOTE: options.config will be overwritten by the values of preset. You should use either preset or config, but not both. Individual properties of parserOpts and writerOpts will overwrite ones loaded with preset or config.

Parser Options

Allow to overwrite specific conventional-commits-parser options. This is convenient to use a conventional-changelog preset with some customizations without having to create a new module.

The following example uses Angular convention but will consider a commit to be a breaking change if it's body contains BREAKING CHANGE, BREAKING CHANGES or BREAKING. By default the preset checks only for BREAKING CHANGE and BREAKING CHANGES.

{
  "release": {
    "generateNotes": {
      "preset": "angular",
      "parserOpts": {
        "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"],
      }
    }
  }
}

Writer Options

Allow to overwrite specific conventional-commits-writer options. This is convenient to use a conventional-changelog preset with some customizations without having to create a new module.

The following example uses Angular convention but will sort the commits in the changelog by subject then scope. By default the preset sort the commits in the changelog by scope then subject.

{
  "release": {
    "generateNotes": {
      "preset": "angular",
      "writerOpts": {
        "commitsSort": ["subject", "scope"],
      }
    }
  }
}

Usage

The plugin is used by default by semantic-release so installing it is not necessary and all configuration are optionals.