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压缩 中排名

Download history 158/week @ 2024-05-14 14/week @ 2024-05-21 150/week @ 2024-05-28 9/week @ 2024-06-04 8/week @ 2024-06-11 189/week @ 2024-06-25 38/week @ 2024-07-02 335/week @ 2024-08-13

每月335次下载
2 个crate中使用(通过 willbe

MIT 许可证

13KB
132

模块 :: crates_tools

experimental rust-status docs.rs Open in Gitpod discord

分析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