News fragments is a plugin for release-it that helps you to generate a changelog file.
Basically, you need to specify a folder to be your center of fragments that will generate a custom changelog when released. After that, you'll create files with the desired extension with quick messages inside that folder to better understand what will come up on the new version of your software.
- Use Node v18+
In release-it config at package.json
, create a news-fragments
key-pair to override the default config - e.g.
"plugins": {
"news-fragments": {}
}
{
"changelogFile": "CHANGELOG.md",
"changelogDateFormat": "YYYY-MM-DD",
"changelogTemplate": changelogTemplate,
"fragmentsFolder": "fragments",
"fragmentsTypes": [
{ "title": "Features", "extension": "feature" },
{ "title": "Bugfixes", "extension": "bugfix" },
{ "title": "Documentation", "extension": "doc" },
{ "title": "Deprecations and Removals", "extension": "removal" },
{ "title": "Misc", "extension": "misc" }
]
}
# [{{newVersion}}] - ({{bumpDate}})
{{#fragments}}
## {{title}}
{{#each fragmentEntries}}
* {{this}}
{{/each}}
{{/fragments}}
- changelogFile: A path to the file that will center your changelog.
- changelogDateFormat: The date format that will be send to changelog template.
- changelogTemplate: A handlebars template that will be used to render your changelog file content.
- fragmentsFolder: A path to the folder that the fragments should be stored.
- fragmentsTypes: An array containing a collection of objects with the title of changelog section and the extension of fragment types.
See this plugin in action by checking our CHANGELOG.md
news-fragments --help