release-it-free-changelog
v0.0.4
Published
An extension based on @release-it/conventional-changelog
Downloads
0
Maintainers
Readme
An extension based on @release-it/conventional-changelog that allows users to rewrite log content and provides a log topic by default
🏠 Homepage
Prerequisites
- node >=14
Install
yarn add release-it-free-changelog -D
Usage
In the release-it config, for example:
"plugins": {
"release-it-free-changelog": {}
}
Configuration
preset
The default configuration:
{
"preset": {
"name": "conventionalcommits",
"types": [
{
"type": "feat",
"section": "✨ Features | 新功能"
},
{
"type": "fix",
"section": "🐛 Bug Fixes | Bug 修复"
},
{
"type": "chore",
"section": "🚀 Chore | 构建/工程依赖/工具",
"hidden": true
},
{
"type": "docs",
"section": "📝 Documentation | 文档"
},
{
"type": "style",
"section": "💄 Styles | 样式"
},
{
"type": "refactor",
"section": "♻️ Code Refactoring | 代码重构"
},
{
"type": "perf",
"section": "⚡ Performance Improvements | 性能优化"
},
{
"type": "test",
"section": "✅ Tests | 测试",
"hidden": true
},
{
"type": "revert",
"section": "⏪ Revert | 回退",
"hidden": true
},
{
"type": "build",
"section": "📦 Build System | 打包构建"
},
{
"type": "ci",
"section": "👷 Continuous Integration | CI 配置"
}
]
}
}
Or you can also use one of:
angular
atom
codemirror
conventionalcommits
ember
eslint
express
jquery
jscs
jshint
Or you can also
If you want to customize the configuration, you can refer to Conventional Changelog Configuration Spec (v2.1.0) for the configuration object to pass as preset
.
changelogFile
Default value: CHANGELOG.md
Set a filename as changelogFile
to write the changelog to.
header
Set the main header for the changelog document:
"plugins": {
"release-it-free-changelog": {
"header": "# Changelog",
}
}
rewriteChangelog
Default value: false
If set to true, you can rewrite the log content,as shown below:
authorName
Default value: true
If set to false, the submitter of each commit will not be displayed
context
Default value: undefined
This option will be passed as the second argument (context
) to
conventional-changelog-core,
for example:
"plugins": {
"release-it-free-changelog": {
"context": {
"data": {
"name": "eric"
}
}
}
}
gitRawCommitsOpts
Default value: undefined
Options for git-raw-commits. For example, you can use the following option to include merge commits into changelog:
{
"plugins": {
"release-it-free-changelog": {
"gitRawCommitsOpts": {
"merges": null
}
}
}
}
parserOpts
Default value: undefined
Options for conventional-commits-parser. For example, you can use the following option to set the merge pattern during parsing the commit message:
{
"plugins": {
"release-it-free-changelog": {
"parserOpts": {
"mergePattern": "^Merge pull request #(\\d+) from (.*)$"
}
}
}
}
writerOpts
Default value: undefined
Options for conventional-changelog-writer. For example, you can use the following option to group the commits by 'scope' instead of 'type' by default.
{
"plugins": {
"release-it-free-changelog": {
"writerOpts": {
"groupBy:" "scope"
}
}
}
}
If you want to customize the templates used to write the changelog, you can do it like in a .release-it.js
file like
so:
const fs = require('fs')
const commitTemplate = fs.readFileSync('commit.hbs').toString()
module.exports = {
plugins: {
'release-it-free-changelog': {
writerOpts: {
commitPartial: commitTemplate
}
}
}
}
🌸 Thanks
This project is heavily inspired by the following awesome projects.
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.
Show your support
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2022 ericwan [email protected]. This project is MIT licensed.