matugen/Cargo.toml
2025-04-06 20:50:50 +02:00

104 lines
2.6 KiB
TOML

[package]
name = "matugen"
version = "2.4.1"
authors = ["InioX"]
description = "A material you color generation tool with templates"
repository = "https://github.com/InioX/matugen"
categories = ["command-line-utilities"]
exclude = ["default.nix", "flake.nix", "shell.nix", "example/*"]
license = "GPL-2.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["winuser"] }
[target.'cfg(target_os = "macos")'.dependencies]
enquote = "1.1.0"
[features]
default = ["dump-json"]
update-informer = ["dep:update-informer"]
web-image = ["dep:reqwest"]
dump-json = ["dep:serde_json"]
ui = [
"dep:egui",
"dep:eframe",
"dep:indexmap",
"dep:egui_file",
"dep:rfd",
"dep:egui_extras",
]
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "template"
harness = false
[dependencies]
# logging
log = "0.4.17"
paris-log = { version = "1.0.2", features = [
"icons",
] } # TODO replace with using paris directly?
pretty_env_logger = "0.5.0"
# terminal output
prettytable-rs = { default-features = false, version = "0.10.0" } # TODO feature-gate? This should definitely be a default feature tho.
color-eyre = { version = "0.6.2", default-features = false }
colorsys = { default-features = false, version = "0.6.7" }
owo-colors = "4.0.0"
# templating engine
upon = { features = [
"filters",
"serde",
], default-features = false, version = "0.8.0" }
# config
serde = { version = "1.0.160", features = [
"serde_derive",
"std",
], default-features = false }
toml = { features = [
"parse",
"display",
], default-features = false, version = "0.8.8" }
clap = { version = "4.2.4", features = [
"derive",
"std",
], default-features = true }
material-colors = { version = "0.4.0", features = ["image"] }
image = { default-features = false, version = "0.25.2" }
directories = "5.0"
# should probably be removed
resolve-path = "0.1.0"
execute = "0.2.13"
# update-informer feature
update-informer = { version = "1.1.0", optional = true }
# dump-json feature
serde_json = { version = "1.0.107", optional = true }
# web-image feature
reqwest = { version = "0.12.5", default-features = false, features = [
"blocking",
"rustls-tls",
], optional = true }
# gui feature
egui = { version = "0.29.1", optional = true }
egui_extras = { version = "0.29.1", optional = true, features = [
"image",
"file",
] }
eframe = { version = "0.29.1", optional = true }
indexmap = { version = "2.7.0", optional = true }
egui_file = { version = "0.19.0", optional = true }
rfd = { version = "0.15.1", optional = true }