-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcliff.toml
More file actions
161 lines (153 loc) · 8.07 KB
/
cliff.toml
File metadata and controls
161 lines (153 loc) · 8.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[changelog]
# template for the changelog header
header = """
<!-- markdownlint-disable -->
<!-- eslint-disable markdown/no-missing-label-refs -->
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [Unreleased]
{% endif %}
{% if commit_range and commit_range.from and commit_range.to %}
[[{{ commit_range.from | truncate(length=7, end="") }}](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/commit/{{ commit_range.from }})...
[{{ commit_range.to | truncate(length=7, end="") }}](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/commit/{{ commit_range.to }})]
([compare](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/compare/{{ commit_range.from }}...{{ commit_range.to }}))
{% endif %}
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first | replace(from="\n", to="\n ") }} [`({{ commit.id | truncate(length=7, end="") }})`](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/commit/{{ commit.id }})
{% endfor %}
{% endfor %}\n
{% for submodule_path, commits in submodule_commits %}
### {{ submodule_path | upper_first }}
{% for group, commits in commits | group_by(attribute="group") %}
#### {{ group | upper_first }}
{% for commit in commits %}
- {{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}
{% endfor %}\n
{% if commit.footer %}
<!-- Use the footer directly -->
{{ commit.footer | trim | indent(width=8) }}
{% endif %}
"""
# template for the changelog footer
footer = """
## Contributors
Thanks to all the [contributors](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/graphs/contributors) for their hard work!
## License
This project is licensed under the [Unlicense License](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced/blob/main/LICENSE)
*This changelog was automatically generated with [git-cliff](https://github.com/orhun/git-cliff).*
"""
# Remove leading and trailing whitespace from the changelog content
trim = true
# postprocessors
render_always = true
protect_breaking_commits = false
postprocessors = [
{ pattern = 'ColorScripts-Enhanced', replace = "[ColorScripts-Enhanced](https://github.com/Nick2bad4u/PS-Color-Scripts-Enhanced)" }, # replace repository URL
{ pattern = 'merge branch', replace = "[chore] Merge Branch" }, # replace merge branch commit messages
{ pattern = 'Merge branch', replace = "[chore] Merge Branch" }, # replace merge branch commit messages
{ pattern = '\[dependency\]', replace = 'test' },
# Clean up Dependabot messages - remove verbose table content
{ pattern = '\[dependency\] \[chore\] Bump the.*?with \d+ updates.*?(\n\n|\|.*?\|.*?\n)*', replace = "[dependency] Update dependencies" },
{ pattern = 'Bumps the npm-all group.*?with \d+ updates.*?(\n\n|\|.*?\|.*?\n)*', replace = "[dependency] Update npm dependencies" },
{ pattern = 'Bump the.*?group with \d+ updates.*?(\n\n|\|.*?\|.*?\n)*', replace = "[dependency] Update dependency group" },
# Clean up individual package bump messages
{ pattern = 'Bumps \[([^\]]+)\].*?from.*?to.*?(\n\n.*?)*', replace = "[dependency] Update $1" },
{ pattern = 'Bump ([a-zA-Z0-9@\-\/]+) from.*?to.*?(\n\n.*?)*', replace = "[dependency] Update $1" },
{ pattern = 'Bump ([a-zA-Z0-9@\-\/]+) to.*?(\n\n.*?)*', replace = "[dependency] Update $1" },
{ pattern = 'Bump ([a-zA-Z0-9@\-\/]+) from.*?to.*?(\n\n.*?)*', replace = "[dependency] Update $1" },
{ pattern = 'Bump ([a-zA-Z0-9@\-\/]+) to.*?(\n\n.*?)*', replace = "[dependency] Update $1" },
# Generic bump message cleanup
{ pattern = 'Bump', replace = "[dependency] Update" },
]
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"
[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = false
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
use_branch_tags = false
# use branch tags to group commits
recurse_submodules = true
# recurse into submodules to find commits
commit_preprocessors = [
# Replace issue numbers
# This regex pattern matches issue references in the format "(optional text #123)"
# and replaces them with a markdown link to the issue, e.g., "[#123](<REPO>/issues/123)".
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Example: Check spelling of the commit with the `typos` tool.
# For more information, visit: https://github.com/crate-ci/typos
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
# Commit parsers use emojis and HTML comments for categorization.
# This convention helps in visually distinguishing commit groups.
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(release\\): prepare for", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ message = "^chore\\(deps.*\\)", group = "<!-- 8 -->📦 Dependencies" },
{ message = "^chore\\(pr\\)", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ message = "^chore\\(pull\\)", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
# Dependency-related commits
{ message = "^\\[dependency\\]", group = "<!-- 8 -->📦 Dependencies" },
{ message = "^bump the.*group", group = "<!-- 8 -->📦 Dependencies" },
{ message = "^Bump the.*group", group = "<!-- 8 -->📦 Dependencies" },
{ message = "^Bumps.*", group = "<!-- 8 -->📦 Dependencies" },
{ message = "^Bump [a-zA-Z0-9@\\-\\/]+", group = "<!-- 8 -->📦 Dependencies" },
{ message = ".*npm-all.*", group = "<!-- 8 -->📦 Dependencies" },
{ message = ".*dependabot.*", group = "<!-- 8 -->📦 Dependencies" },
# Security-related (keep separate from general dependencies)
{ body = ".*security.*", group = "<!-- 9 -->🛡️ Security" },
{ message = ".*security.*", group = "<!-- 9 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 10 -->◀️ Revert" },
{ message = "^Merge branch", group = "<!-- 11 -->🔀 Merge Commits" },
{ message = "^merge branch", group = "<!-- 11 -->🔀 Merge Commits" },
{ message = ".*\\.yml", group = "<!-- 12 -->🛠️ GitHub Actions" },
{ message = ".*", group = "<!-- 13 -->💼 Other", body = ".*" },
{ message = ".*", group = "<!-- 13 -->💼 Other" },
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = true
# sort the commits inside sections by oldest/newest order
# possible values: "oldest" (chronological order) or "newest" (reverse chronological order)
sort_commits = "newest"
# [remote.github]
# owner = "nick2bad4u"
# repo = "PS-Color-Scripts-Enhanced"
# api_url = "https://api.github.com"
# native_tls = false