innmind / dependency-graph
Library to visualize project dependencies
Requires
- php: ~8.2
- composer/semver: ~3.0
- innmind/framework: ~2.0
- innmind/graphviz: ~3.1
- innmind/immutable: ~5.9
- innmind/json: ^1.1
- innmind/operating-system: ~4.1|~5.0
- innmind/url: ~4.1
Requires (Dev)
- innmind/black-box: ~5.5
- innmind/coding-standard: ~2.0
- phpunit/phpunit: ~10.2
- vimeo/psalm: ~5.15
README
Tool to help visualize the various dependencies between packages.
It has been created to help maintain the many packages inside this organisation.
Note
This package needs graphviz (dot
command line tool) to be installed on your machine
Installation
composer global require innmind/dependency-graph
Usage
dependency-graph from-lock
This command will look for a composer.lock
in the working directory and generate a file named dependencies.svg
.
dependency-graph of {vendor}/{package}
This will call packagist.org
to retrieve the last published version of the given package and generate a file named {vendor}_{package}_dependencies.svg
.
dependency-graph depends-on {vendor}/{package} {vendor1} {vendorX}
This will look for all packages inside the vendors vendor1
and vendorX
that depend (directly or indirectly) on {vendor}/{package}
and will generate a file named {vendor}_{package}_dependents.svg
.
Note: every package node and vendor cluster contains a link to their dedicated packagist page.
Examples
dependency-graph from-lock
of this repository
dependency-graph of innmind/cli