Skip to content

Commit dfec3f4

Browse files
committed
chore(deps): update pre-commit hooks and Cargo.toml dependencies
- Updated `commitizen` version from v4.8.3 to v4.8.4 in `.pre-commit-config.yaml` for improved commit message linting. - Added `cargo-sort` hook to `.pre-commit-config.yaml` for automatic sorting of Cargo.toml dependencies. - Reorganized dependencies in `Cargo.toml` for clarity, ensuring consistent ordering and grouping. - Introduced new features in `Cargo.toml` for better modularity and support for additional MySQL types. Test results confirm that all pre-commit hooks and dependencies are functioning correctly after the updates.
1 parent b265eff commit dfec3f4

2 files changed

Lines changed: 53 additions & 48 deletions

File tree

.pre-commit-config.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ repos:
6767

6868
# 📝 Commit message linting (commit-msg only, not blocking push)
6969
- repo: https://github.com/commitizen-tools/commitizen
70-
rev: v4.8.3
70+
rev: v4.8.4
7171
hooks:
7272
- id: commitizen
7373
stages: [commit-msg]
@@ -106,3 +106,7 @@ repos:
106106
language: system
107107
pass_filenames: false
108108
always_run: true
109+
- repo: https://github.com/DevinR528/cargo-sort
110+
rev: v2.0.2
111+
hooks:
112+
- id: cargo-sort

Cargo.toml

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ keywords = ["mysql", "query", "tool", "mariadb"]
1313
categories = ["command-line-utilities", "database"]
1414

1515
exclude = [
16-
".github/",
17-
"CODE_OF_CONDUCT.md",
18-
"CONTRIBUTING.md",
19-
".editorconfig",
20-
".gitignore",
21-
".gitlint",
22-
".chglog/",
23-
"WARP.md",
24-
"GEMINI.md",
25-
"AGENTS.md",
16+
".github/",
17+
"CODE_OF_CONDUCT.md",
18+
"CONTRIBUTING.md",
19+
".editorconfig",
20+
".gitignore",
21+
".gitlint",
22+
".chglog/",
23+
"WARP.md",
24+
"GEMINI.md",
25+
"AGENTS.md",
2626
]
2727

2828
[package.metadata.wix]
@@ -34,38 +34,63 @@ eula = false
3434
[package.metadata.cargo-machete]
3535
ignored = ["mysql_common", "rustls-native-certs"]
3636

37+
[features]
38+
default = ["json", "csv", "additional_mysql_types", "verbose"]
39+
40+
# Output format support
41+
json = [] # Enable JSON output format with deterministic field ordering
42+
csv = [] # Enable CSV output format with RFC4180 compliance
43+
44+
# Extended MySQL type support for complex data types
45+
additional_mysql_types = [
46+
"mysql_common",
47+
# Base MySQL type extensions
48+
"mysql_common?/bigdecimal",
49+
# High-precision decimal arithmetic
50+
"mysql_common?/rust_decimal",
51+
# Fixed-point decimal types
52+
"mysql_common?/time",
53+
# Enhanced date/time handling
54+
"mysql_common?/frunk", # Generic programming utilities
55+
]
56+
57+
# Development and debugging support
58+
verbose = [] # Enable detailed logging and diagnostic output
59+
60+
# Integration testing support
61+
integration_tests = [] # Enable heavy integration tests requiring external databases
62+
3763
[dependencies]
38-
mysql = { version = "26.0.1", default-features = false, features = ["rustls-tls", "minimal"] }
3964
anyhow = "1.0.99"
40-
csv = "1.3.1"
41-
serde_json = "1.0.143"
4265
clap = { version = "4.5.47", features = ["derive", "env"] }
4366
clap_complete = "4.5.57"
67+
csv = "1.3.1"
68+
mysql = { version = "26.0.1", default-features = false, features = ["rustls-tls", "minimal"] }
4469
mysql_common = { version = "0.35.5", optional = true }
45-
thiserror = "2.0.16"
46-
url = "2.5.7"
70+
regex = "1.11.1"
4771
# TLS dependencies
4872
rustls = { version = "0.23.31", features = ["ring"] }
4973
rustls-native-certs = "0.8.1"
5074
rustls-pemfile = "2.2.0"
51-
regex = "1.11.1"
52-
75+
serde_json = "1.0.143"
76+
thiserror = "2.0.16"
77+
url = "2.5.7"
5378

5479
[dev-dependencies]
55-
testcontainers-modules = { version = "0.13.0", features = ["mariadb", "mysql", "blocking"] }
56-
tempfile = "3.21.0"
5780
assert_cmd = "2.0.17"
81+
insta = "1.43.1"
5882
predicates = "3.1.2"
5983
process_control = "5.2.0"
60-
insta = "1.43.1"
61-
temp-env = "0.3.6"
84+
rcgen = "0.14.3"
6285
regex = "1.11.2"
6386
rustls = { version = "0.23.31", features = ["ring"] }
6487
serde_json = "1.0.143"
65-
rcgen = "0.14.3"
88+
sysinfo = "0.37.0"
89+
temp-env = "0.3.6"
90+
tempfile = "3.21.0"
91+
testcontainers-modules = { version = "0.13.0", features = ["mariadb", "mysql", "blocking"] }
6692
time = { version = "0.3.43", features = ["macros"] }
6793
walkdir = "2.5.0"
68-
sysinfo = "0.37.0"
6994

7095
[profile.release]
7196
lto = true
@@ -80,27 +105,3 @@ panic = "abort"
80105
[profile.dist]
81106
inherits = "release"
82107
lto = "fat" # Use fat LTO for maximum performance optimization in distribution builds
83-
84-
[features]
85-
default = ["json", "csv", "additional_mysql_types", "verbose"]
86-
87-
# Output format support
88-
json = [] # Enable JSON output format with deterministic field ordering
89-
csv = [] # Enable CSV output format with RFC4180 compliance
90-
91-
# Extended MySQL type support for complex data types
92-
additional_mysql_types = [
93-
"mysql_common", # Base MySQL type extensions
94-
"mysql_common?/bigdecimal", # High-precision decimal arithmetic
95-
"mysql_common?/rust_decimal", # Fixed-point decimal types
96-
"mysql_common?/time", # Enhanced date/time handling
97-
"mysql_common?/frunk", # Generic programming utilities
98-
]
99-
100-
# Development and debugging support
101-
verbose = [] # Enable detailed logging and diagnostic output
102-
103-
# Integration testing support
104-
integration_tests = [] # Enable heavy integration tests requiring external databases
105-
106-
# TLS is always enabled with rustls - no feature flags needed

0 commit comments

Comments
 (0)