Skip to content

📋 Customizable release-notes-generator plugin for semantic-release

License

Notifications You must be signed in to change notification settings

jormot/release-notes-generator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

📋 Customizable release-notes-generator plugin for semantic-release

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%