{"id":21823543,"url":"https://github.com/jbzoo/composer-graph","last_synced_at":"2025-07-07T00:34:33.642Z","repository":{"id":38184958,"uuid":"266639681","full_name":"JBZoo/Composer-Graph","owner":"JBZoo","description":"Dependency graph visualization for composer.json (PHP + Composer) based on mermaid-js","archived":false,"fork":false,"pushed_at":"2024-03-04T23:48:36.000Z","size":14351,"stargazers_count":62,"open_issues_count":2,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-26T16:46:52.475Z","etag":null,"topics":["composer","composer-dependency","composer-graph","composer-package","dependencies","diagram","jbzoo","mermaid","mermaid-diagrams","mermaidjs","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JBZoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-24T23:07:02.000Z","updated_at":"2024-06-18T21:16:03.403Z","dependencies_parsed_at":"2024-03-05T00:48:49.545Z","dependency_job_id":null,"html_url":"https://github.com/JBZoo/Composer-Graph","commit_stats":{"total_commits":84,"total_committers":4,"mean_commits":21.0,"dds":"0.33333333333333337","last_synced_commit":"2c3bb2c539af275dc9852aad442e45f61fdfec65"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBZoo%2FComposer-Graph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBZoo%2FComposer-Graph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBZoo%2FComposer-Graph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBZoo%2FComposer-Graph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JBZoo","download_url":"https://codeload.github.com/JBZoo/Composer-Graph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","composer-dependency","composer-graph","composer-package","dependencies","diagram","jbzoo","mermaid","mermaid-diagrams","mermaidjs","php"],"created_at":"2024-11-27T17:33:17.830Z","updated_at":"2025-04-09T09:09:37.591Z","avatar_url":"https://github.com/JBZoo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JBZoo / Composer-Graph\n\n[![CI](https://github.com/JBZoo/Composer-Graph/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/JBZoo/Composer-Graph/actions/workflows/main.yml?query=branch%3Amaster)    [![Coverage Status](https://coveralls.io/repos/github/JBZoo/Composer-Graph/badge.svg?branch=master)](https://coveralls.io/github/JBZoo/Composer-Graph?branch=master)    [![Psalm Coverage](https://shepherd.dev/github/JBZoo/Composer-Graph/coverage.svg)](https://shepherd.dev/github/JBZoo/Composer-Graph)    [![Psalm Level](https://shepherd.dev/github/JBZoo/Composer-Graph/level.svg)](https://shepherd.dev/github/JBZoo/Composer-Graph)    [![CodeFactor](https://www.codefactor.io/repository/github/jbzoo/composer-graph/badge)](https://www.codefactor.io/repository/github/jbzoo/composer-graph/issues)    \n[![Stable Version](https://poser.pugx.org/jbzoo/composer-graph/version)](https://packagist.org/packages/jbzoo/composer-graph/)    [![Total Downloads](https://poser.pugx.org/jbzoo/composer-graph/downloads)](https://packagist.org/packages/jbzoo/composer-graph/stats)    [![Dependents](https://poser.pugx.org/jbzoo/composer-graph/dependents)](https://packagist.org/packages/jbzoo/composer-graph/dependents?order_by=downloads)    [![GitHub License](https://img.shields.io/github/license/jbzoo/composer-graph)](https://github.com/JBZoo/Composer-Graph/blob/master/LICENSE)\n\n\n\u003c!--ts--\u003e\n   * [Installation](#installation)\n   * [Usage](#usage)\n   * [Examples](#examples)\n      * [Default output (no args) - minimal view](#default-output-no-args---minimal-view)\n      * [Default output with PHP extensions (modules)](#default-output-with-php-extensions-modules)\n      * [Default output with versions of packages and relations](#default-output-with-versions-of-packages-and-relations)\n      * [Show suggested packages which are not installed](#show-suggested-packages-which-are-not-installed)\n      * [Show dev dependencies](#show-dev-dependencies)\n      * [Full Report](#full-report)\n   * [Unit tests and check code style](#unit-tests-and-check-code-style)\n   * [License](#license)\n   * [See Also](#see-also)\n\u003c!--te--\u003e\n\n## Installation\n\n```shell\ncomposer require        jbzoo/composer-graph # For a specific project\ncomposer global require jbzoo/composer-graph # As global tool\n\n# OR use phar file.\nwget https://github.com/JBZoo/Composer-Graph/releases/latest/download/composer-graph.phar\n```\n\n\n## Usage\n\n```\n$ php ./vendor/bin/composer-graph --help\n\nUsage:\n  build [options]\n\nOptions:\n  -r, --root=ROOT                The path has to contain \"composer.json\" and \"composer.lock\" files [default: \"./\"]\n  -o, --output=OUTPUT            Path to html output. [default: \"./build/composer-graph.html\"]\n  -f, --format=FORMAT            Output format. Available options: html,mermaid [default: \"html\"]\n  -D, --direction=DIRECTION      Direction of graph. Available options: LR,TB,BT,RL [default: \"LR\"]\n  -p, --show-php                 Show PHP-node\n  -e, --show-ext                 Show all ext-* nodes (PHP modules)\n  -d, --show-dev                 Show all dev dependencies\n  -s, --show-suggests            Show not installed suggests packages\n  -l, --show-link-versions       Show version requirements in links\n  -P, --show-package-versions    Show version of packages\n  -O, --abc-order                Strict ABC ordering nodes in graph. It's fine tuning, sometimes it useful.\n      --no-progress              Disable progress bar animation for logs. It will be used only for text output format.\n      --mute-errors              Mute any sort of errors. So exit code will be always \"0\" (if it's possible).\n                                 It has major priority then --non-zero-on-error. It's on your own risk!\n      --stdout-only              For any errors messages application will use StdOut instead of StdErr. It's on your own risk!\n      --non-zero-on-error        None-zero exit code on any StdErr message.\n      --timestamp                Show timestamp at the beginning of each message.It will be used only for text output format.\n      --profile                  Display timing and memory usage information.\n      --output-mode=OUTPUT-MODE  Output format. Available options:\n                                 text - Default text output format, userfriendly and easy to read.\n                                 cron - Shortcut for crontab. It's basically focused on human-readable logs output.\n                                 It's combination of --timestamp --profile --stdout-only --no-progress -vv.\n                                 logstash - Logstash output format, for integration with ELK stack.\n                                  [default: \"text\"]\n      --cron                     Alias for --output-mode=cron. Deprecated!\n  -h, --help                     Display help for the given command. When no command is given display help for the build command\n  -q, --quiet                    Do not output any message\n  -V, --version                  Display this application version\n      --ansi|--no-ansi           Force (or disable --no-ansi) ANSI output\n  -n, --no-interaction           Do not ask any interactive question\n  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\n```\n\n\n## Examples\n\nAll examples are screenshots based on the package [JBZoo/Toolbox](https://github.com/JBZoo/Toolbox).\n\n\n### Default output (no args) - minimal view\n```shell\nphp ./vendor/bin/composer-graph\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-minimal.png)\n\n\n\n### Default output with PHP extensions (modules)\n```shell\nphp ./vendor/bin/composer-graph  --show-ext\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-extensions.png)\n\n\n\n### Default output with versions of packages and relations\n```shell\nphp ./vendor/bin/composer-graph  --show-link-versions  --show-package-versions\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-versions.png)\n\n\n\n### Show suggested packages which are not installed\n```shell\nphp ./vendor/bin/composer-graph  --show-suggests\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-suggests.png)\n\n\n\n### Show dev dependencies\n```shell\nphp ./vendor/bin/composer-graph  --show-dev\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-dev.png)\n\n\n### Full Report\n\nAll options are enabled but `--show-php` (too many packages).\n \n```shell\nphp ./vendor/bin/composer-graph            \\\n                 --show-ext                \\\n                 --show-dev                \\\n                 --show-suggests           \\\n                 --show-link-versions      \\\n                 --show-package-versions\n```\n\n![Example](https://raw.githubusercontent.com/JBZoo/Composer-Graph/master/resources/jbzoo-full-without-php.png)\n\n\n\n\n## Unit tests and check code style\n```shell\nmake update\nmake test-all\n```\n\n\n## License\nMIT\n\n\n## See Also\n\n- [CI-Report-Converter](https://github.com/JBZoo/CI-Report-Converter) - Converting different error reports for deep compatibility with popular CI systems.\n- [Composer-Diff](https://github.com/JBZoo/Composer-Diff) - See what packages have changed after `composer update`.\n- [Mermaid-PHP](https://github.com/JBZoo/Mermaid-PHP) - Generate diagrams and flowcharts with the help of the mermaid script language.\n- [Utils](https://github.com/JBZoo/Utils) - Collection of useful PHP functions, mini-classes, and snippets for every day.\n- [Image](https://github.com/JBZoo/Image) - Package provides object-oriented way to manipulate with images as simple as possible.\n- [Data](https://github.com/JBZoo/Data) - Extended implementation of ArrayObject. Use files as config/array. \n- [Retry](https://github.com/JBZoo/Retry) - Tiny PHP library providing retry/backoff functionality with multiple backoff strategies and jitter support.\n- [SimpleTypes](https://github.com/JBZoo/SimpleTypes) - Converting any values and measures - money, weight, exchange rates, length, ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbzoo%2Fcomposer-graph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbzoo%2Fcomposer-graph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbzoo%2Fcomposer-graph/lists"}