Skip to main content

tuwunel_admin/debug/
list_dependencies.rs

1use 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}