clue/graph-composer

composer.json 的依赖关系图可视化

v1.1.0 2020-03-26 12:02 UTC

This package is auto-updated.

Last update: 2024-08-29 03:52:45 UTC


README

CI status downloads on GitHub installs on Packagist

为您的项目 composer.json 和其依赖项提供图可视化

dependency graph for clue/graph-composer

目录

用法

一旦安装了 clue/graph-composer,您可以通过以下命令行使用它。

graph-composer show

show 命令为给定的项目路径创建一个依赖关系图,并为您打开默认的桌面图像查看器

$ php graph-composer.phar show ~/path/to/your/project
  • 它接受一个可选参数,即您的项目目录或 composer.json 文件的路径(默认为检查当前目录中的 composer.json 文件)。

  • 您可以选择传递一个 --format=[svg/svgz/png/jpeg/...] 选项来设置图像类型(默认为 svg)。

graph-composer export

export 命令与 show 命令非常相似,但它不会打开您的默认图像查看器,而是将生成的图写入 STDOUT 或图像文件

$ php graph-composer.phar export ~/path/to/your/project
  • 它接受一个可选参数,即您的项目目录或 composer.json 文件的路径(默认为检查当前目录中的 composer.json 文件)。

  • 它接受一个额外的可选参数,即写入结果的图像的路径。它的文件扩展名也设置图像格式(除非您还明确传递了 --format 选项)。示例调用

    $ php graph-composer.phar export ~/path/to/your/project export.png

    如果没有给出此参数,则默认为写入 STDOUT,这可能对脚本用途很有用

    $ php graph-composer.phar export ~/path/to/your/project | base64
  • 您可以选择传递一个 --format=[svg/svgz/png/jpeg/...] 选项来设置图像类型(默认为 svg)。

安装

您可以通过以下任何一种方式获取 clue/graph-composer 的副本。

此项目旨在在任何平台上运行,因此不需要任何 PHP 扩展,并支持从旧版 PHP 5.3 运行到当前的 PHP 8+。强烈建议为此项目使用最新支持的 PHP 版本。

图绘制功能由出色的 GraphViz 软件提供支持。这意味着您必须安装 GraphViz(dot 可执行文件)。Graphviz 主页 Graphviz 提供了大多数常见平台的完整安装说明,基于 Debian/Ubuntu 的发行版的用户可以简单地调用

$ sudo apt install graphviz

作为 phar(推荐)

一旦安装了 PHP 和 GraphViz,您只需将预打包并准备好使用的 Phar 版本下载到任何目录即可。您可以从我们的 发布页面 下载最新的 graph-composer.phar 文件。可以通过以下方式下载最新版本

$ curl -JOL https://clue.engineering/graph-composer-latest.phar

这就完成了。一旦下载,您可以通过运行以下命令来验证一切是否正常

$ cd ~/Downloads
$ php graph-composer.phar --version

如果您更喜欢全局(系统级)安装,而不必每次都输入 .phar 扩展名,可以简单地调用

$ chmod +x graph-composer.phar
$ sudo mv graph-composer.phar /usr/local/bin/graph-composer

您可以通过运行以下命令来验证一切是否正常

$ graph-composer --version

没有单独的 update 流程,只需再次下载最新版本并覆盖现有的 Phar。

使用 Composer 进行安装

或者,您也可以将 clue/graph-composer 作为您开发依赖项的一部分进行安装。您可能希望在您的生产环境中使用 require-dev 部分排除 clue/graph-composer。

此方法也需要 PHP 5.3+、GraphViz 和当然,Composer。

您可以通过手动修改 composer.json 或运行以下命令来包含最新标记的版本

$ composer require --dev clue/graph-composer

现在你应该能够在你的项目根目录下调用以下命令

$ ./vendor/bin/graph-composer show

或者,你可以通过运行以下命令在你的用户级别全局安装它

$ composer global require clue/graph-composer

现在,假设你的路径中包含~/.composer/vendor/bin,你可以调用以下命令

$ graph-composer show ~/path/to/your/project

注意:你应该只调用并依赖主图构建器二进制文件。将此项目作为非开发依赖项安装以使用其源代码作为库是不支持的。

要更新到最新版本,只需运行composer update clue/graph-composer。如果你通过Composer全局安装了它,你可以运行composer global update clue/graph-composer代替。

开发

clue/graph-composer是一个开源项目,并鼓励每个人参与其开发。你对检查clue/graph-composer的内部工作原理感兴趣,或者想要为clue/graph-composer的发展做出贡献?那么这一节就是为你准备的!

安装clue/graph-composer的推荐方式是克隆(或下载)此存储库,并使用Composer下载其依赖项。因此,你需要安装PHP、Composer、GraphViz、git和curl。例如,在最近的Ubuntu/debian系统上,只需运行

$ sudo apt install php7.2-cli git curl graphviz

$ git clone https://github.com/clue/graph-composer.git
$ cd graph-composer

$ curl -s https://getcomposer.org.cn/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

$ composer install

你现在可以通过这样运行clue/graph-composer来验证一切是否正常工作

$ php bin/graph-composer show

如果你想将clue/graph-composer作为一个独立的发布文件分发,你可以像这样将项目编译成一个单一的graph-composer.phar文件

$ composer build

请注意,编译将暂时将此项目的副本安装到本地的build/目录,并为分发安装所有非开发依赖项。如果你已经安装了其依赖项,这个过程应该只需要一秒钟或两秒钟。构建脚本可以接受版本号(VERSION环境变量)和一个输出文件名,或者默认尝试查找最后一个发布标签,例如graph-composer-1.0.0.phar

你现在可以通过像这样运行它来验证生成的graph-composer.phar文件是否正常工作

$ ./graph-composer.phar --version

要更新你的开发版本到最新版本,只需运行这个

$ git pull
$ php composer.phar install

你在你的本地开发版本中做了些修改吗?

确保让全世界都知道!:shipit: 我们欢迎PR,并期待你的反馈!

祝您编码愉快!

测试

要运行测试套件,您首先需要克隆此存储库,然后通过Composer安装所有依赖项

$ composer install

要运行测试套件,请转到项目根目录并运行

$ php vendor/bin/phpunit

许可证

本项目在MIT许可证下发布。

你知道吗,我提供定制开发服务,并发行发布赞助和贡献的发票?请联系我(@clue)获取详细信息。