Files
jj-cz/Cargo.toml
2026-03-25 14:57:29 +00:00

114 lines
3.4 KiB
TOML

[package]
name = "jj-cz"
version = "1.0.0"
description = "Conventional commits for Jujutsu"
edition = "2024"
publish = true
authors = ["Lucien Cartier-Tilet <lucien@phundrak.com>"]
license = "MIT OR GPL-3.0-or-later"
homepage = "https://labs.phundrak.com/phundrak/jj-cz"
repository = "https://labs.phundrak.com/phundrak/jj-cz"
[lib]
path = "src/lib.rs"
[[bin]]
path = "src/main.rs"
name = "jj-cz"
[features]
## Exposes MockJjExecutor and MockPrompts for use in integration tests.
## Enable with: cargo test --features test-utils
test-utils = []
[dependencies]
async-trait = "0.1.89"
etcetera = "0.11.0"
clap = { version = "4.5.57", features = ["derive"] }
git-conventional = "0.12.9"
inquire = { version = "0.9.2", features = ["editor"] }
jj-lib = "0.39.0"
lazy-regex = { version = "3.5.1", features = ["lite"] }
thiserror = "2.0.18"
tokio = { version = "1.49.0", features = ["macros", "rt-multi-thread"] }
textwrap = "0.16.2"
unicode-width = "0.2.2"
[dev-dependencies]
assert_cmd = "2.1.2"
assert_fs = "1.1.3"
predicates = "3.1.3"
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true
[package.metadata.git-cliff.changelog]
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% 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 }}\
{% endfor %}
{% endfor %}
"""
trim = true
render_always = true
postprocessors = [
{ pattern = '<REPO>', replace = "https://labs.phundrak.com/phundrak/jj-cz" },
]
[package.metadata.git-cliff.bump]
features_always_bump_minor = true
breaking_always_bump_major = true
initial_tag = "1.0.0"
[package.metadata.git-cliff.git]
conventional_commits = true
filter_unconventional = true
require_conventional = false
split_commits = false
commit_preprocessors = [
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
protect_breaking_commits = false
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->Features" },
{ message = "^fix", group = "<!-- 1 -->Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->Documentation" },
{ message = "^perf", group = "<!-- 4 -->Performance" },
{ message = "^refactor", group = "<!-- 2 -->Refactor" },
{ message = "^style", group = "<!-- 5 -->Styling" },
{ message = "^test", group = "<!-- 6 -->Testing" },
{ message = "^chore\\(release\\):", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->Security" },
{ message = "^revert", group = "<!-- 9 -->Revert" },
{ message = ".*", group = "<!-- 10 -->Other" },
]
filter_commits = false
fail_on_unmatched_commit = false
link_parsers = []
use_branch_tags = false
topo_order = false
topo_order_commits = true
sort_commits = "oldest"
recurse_submodules = false