11个重大版本发布
新 0.12.0 | 2024年8月16日 |
---|---|
0.11.0 | 2024年6月29日 |
0.10.0 | 2024年5月30日 |
0.8.0 | 2024年3月26日 |
0.1.0 | 2023年11月30日 |
286 在 压缩 中排名
每月335次下载
在 2 个crate中使用(通过 willbe)
13KB
132 行
模块 :: crates_tools
分析crate文件的工具。
crate文件是Rust源代码包,可以从crates.io(官方Rust包注册表)下载。crate文件具有扩展名 .crate
,包含源代码和其他文件的压缩归档,这些文件用于编译和运行crate。
crate_tools
允许您下载和读取和解码 .crate
文件。然后您可以使用 CrateArchive
结构体列出和访问文件的内容作为字节。
该crate对于想要检查和分析Rust crate的开发者很有用。一些可能的用例包括
- 比较crate的不同版本的源代码,以查看发生了什么变化;
- 在发布前搜索遗留的敏感数据;
- 分析打包文件的大小。
示例 :: 显示crate内容
use crates_tools::*;
fn main()
{
#[ cfg( feature = "enabled" ) ]
{
// download a package with specific version from `crates.io`
let crate_archive = CrateArchive::download_crates_io( "test_experimental_c", "0.1.0" ).unwrap();
for path in crate_archive.list()
{
// take content from a specific file from the archive
let bytes = crate_archive.content_bytes( path ).unwrap();
let string = std::str::from_utf8( bytes ).unwrap();
println!("# {}\n```\n{}```", path.display(), string);
}
}
}
添加到您的项目中
cargo add crates_tools
从仓库尝试
git clone https://github.com/Wandalen/wTools
cd wTools/module/move/crates_tools
cargo r --example show_crate_content
依赖项
~2–11MB
~131K SLoC