3个版本
0.1.2 | 2024年7月10日 |
---|---|
0.1.1 | 2024年7月10日 |
0.1.0 | 2024年7月10日 |
#4 in #self-contained
每月下载量327
13KB
100 行
dependency-tree-svg
该软件包根据给定的依赖项JSON文件生成自包含SVG文件。
依赖项必须具有以下格式
{
"root": [
"packageName1"
],
"packageName1": [
"dependency1",
"dependency2"
],
"dependency1": [
"sub-dependency2"
]
}
然后如果您运行
$ cargo run --bin run --features=lexopt -- --datafile data.json --write-to output.svg
您将得到一个SVG文件,在 output.svg
中,其外观如下
此树是交互式的,单击 packageName1
,您将获得
此软件包是一个库,以下是接口
fn generate_svg() {
let file = std::fs::File::open("dependencies.json").unwrap();
let reader = std::io::BufReader::new(file);
let input: dependency_tree_svg::Input = serde_json::from_reader(reader)?;
let box_size = 80;
let svg = dependency_tree_svg::compile_svg(input, box_size);
std::fs::write("output.svg", svg).unwrap();
}
前端部分
npm install
npm run build:dev
以启动esbuild
的监视模式- 在浏览器中打开
assets/main.svg
- 在
assets/
目录中修改代码 - 使用
npm run test:node
运行测试
版本发布
要发布
npm run build:release
(以获取最小化JS)cargo publish --allow-dirty
(因为生成的JS文件不在git下)
依赖项
~0.7–1.6MB
~36K SLoC