permkit 0.2.0

Generic permission registry, permission derive macro, and route guard macro
Documentation
[package]
categories = ["authentication", "web-programming"]
description = "Generic permission registry, permission derive macro, and route guard macro"
edition = "2024"
keywords = ["permissions", "authorization", "auth", "proc-macro"]
license = "MIT"
name = "permkit"
repository = "https://github.com/code-trust/permkit"
version = "0.2.0"

[workspace]
members = ["auth-macros", "permission-macros"]
resolver = "3"

[workspace.lints.clippy]
branches_sharing_code = "warn"
cloned_instead_of_copied = "warn"
derive_partial_eq_without_eq = "warn"
duration_suboptimal_units = "warn"
elidable_lifetime_names = "warn"
equatable_if_let = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
from_iter_instead_of_collect = "warn"
future_not_send = "warn"
get_unwrap = "warn"
ignored_unit_patterns = "warn"
implicit_clone = "warn"
imprecise_flops = "warn"
manual_assert = "warn"
manual_let_else = "warn"
manual_string_new = "warn"
map_unwrap_or = "warn"
match_bool = "warn"
needless_collect = "warn"
needless_continue = "warn"
needless_pass_by_ref_mut = "warn"
needless_pass_by_value = "warn"
needless_raw_string_hashes = "warn"
non_std_lazy_statics = "warn"
or_fun_call = "warn"
redundant_clone = "warn"
redundant_else = "warn"
redundant_pub_crate = "warn"
semicolon_if_nothing_returned = "warn"
significant_drop_tightening = "warn"
single_match_else = "warn"
str_to_string = "warn"
trait_duplication_in_bounds = "warn"
type_repetition_in_bounds = "warn"
uninlined_format_args = "warn"
unnecessary_self_imports = "warn"
unnecessary_semicolon = "warn"
unnecessary_struct_initialization = "warn"
unnecessary_trailing_comma = "warn"
unneeded_field_pattern = "warn"
unused_async = "warn"
unused_self = "warn"
unused_trait_names = "warn"
use_self = "warn"
used_underscore_binding = "warn"
wildcard_imports = "warn"

[lints]
workspace = true

[features]
default = ["macros"]
macros = ["dep:auth-macros", "dep:permission-macros"]
utoipa = ["dep:utoipa", "permission-macros?/utoipa"]

[dependencies]
auth-macros = { package = "permkit-auth-macros", version = "0.1.0", path = "auth-macros", optional = true }
inventory = "0.3"
itertools = "0.14"
permission-macros = { package = "permkit-permission-macros", version = "0.1.0", path = "permission-macros", optional = true }
serde = "1"
utoipa = { version = "5", optional = true }

[dev-dependencies]
futures = "0.3"