Files
unshell/Cargo.toml
T
2026-05-31 10:26:57 -06:00

97 lines
2.6 KiB
TOML

cargo-features = ["trim-paths", "panic-immediate-abort"]
[workspace]
members = [
"ush-obfuscate",
"base62",
"unshell-macros-core",
"unshell-macros",
"unshell-leaves/leaf-pty",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["ASTATIN3"]
license = "MIT"
repository = "https://github.com/Astatin3/unshell"
include = ["LICENSE", "**/*.rs", "Cargo.toml"]
[workspace.dependencies]
rkyv = "0.8.16"
thiserror = "2.0.18"
chrono = "0.4.44"
static_init = "1.0.4"
syn = "2.0.117"
quote = "1.0.45"
proc-macro2 = "1.0.106"
portable-pty = "0.9.0"
crossbeam-channel = "0.5.15"
ratatui = "0.30.0"
unshell = { path = "." }
# unshell-protocol = { path = "./unshell-protocol" }
unshell-macros-core = { path = "./unshell-macros-core" }
unshell-macros = { path = "./unshell-macros" }
# ush-obfuscate = { path = "./ush-obfuscate" }
# base62 = { path = "./base62" }
# Leaves
leaf-pty = { path = "./unshell-leaves/leaf-pty" }
[package]
name = "unshell"
version.workspace = true
edition.workspace = true
description = "Pure no_std implementation of the UnShell Protocol"
[features]
# default = ["interface_ratatui"]
log = []
log_debug = ["log", "dep:chrono"]
interface = []
interface_ratatui = ["interface", "dep:ratatui"]
[dependencies]
rkyv = { workspace = true }
thiserror = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
static_init = { workspace = true }
ratatui = { workspace = true, optional = true }
unshell-macros = { workspace = true }
[dev-dependencies]
crossbeam-channel.workspace = true
[profile.minimize]
inherits = "release"
strip = true # Strip symbols from the binary
opt-level = "z" # Optimize for size
lto = true # Link tree optimization
codegen-units = 1
panic = "immediate-abort"
debug = false # Remove debug
trim-paths="all"
[lints.rust]
elided_lifetimes_in_paths = "warn"
future_incompatible = { level = "warn", priority = -1 }
nonstandard_style = { level = "warn", priority = -1 }
rust_2018_idioms = { level = "warn", priority = -1 }
rust_2021_prelude_collisions = "warn"
semicolon_in_expressions_from_macros = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
trivial_casts = "allow"
# missing_docs = "warn"