tuwunel_admin/debug/
list_dependencies.rs1use tuwunel_core::{Result, info};
2
3use crate::admin_command;
4
5#[admin_command]
6pub(super) async fn list_dependencies(&self, names: bool) -> Result {
7 if names {
8 let out = info::cargo::dependencies_names().join(" ");
9 return self.write_str(&out).await;
10 }
11
12 let deps = info::cargo::dependencies();
13 writeln!(self, "| name | version | features |").await?;
14 writeln!(self, "| ---- | ------- | -------- |").await?;
15 for (name, dep) in deps {
16 let version = dep.try_req().unwrap_or("*");
17 let feats = dep.req_features();
18 let feats = if !feats.is_empty() {
19 feats.join(" ")
20 } else {
21 String::new()
22 };
23
24 writeln!(self, "| {name} | {version} | {feats} |").await?;
25 }
26
27 Ok(())
28}