2017 © Pedro Peláez
 

library composer-graph-dependency

Filters and displays graphes dependencies of packages installed

image

kassko/composer-graph-dependency

Filters and displays graphes dependencies of packages installed

  • Wednesday, December 6, 2017
  • by kassko
  • Repository
  • 2 Watchers
  • 0 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Create a graph with all packages installed (Packages, packages requires, root package require-dev), (*1)

Export to a file composer-dependency.svg in svg format to the root of your project, at the same place as the composer.json, (*2)

./vendor/bin/composer-dependency export

Or, (*3)

./vendor/bin/composer-dependency export .

Export to a specific path, (*4)

./vendor/bin/composer-dependency export . my/custom/path.svg

Export to a file composer-dependency.png in png format., (*5)

./vendor/bin/composer-dependency export . composer-dependency.png

Export to a file composer-dependency.jpeg in jpeg format., (*6)

./vendor/bin/composer-dependency export . composer-dependency.jpeg

Create a graph and filter packages to display

Do not display root dev dependencies (require-dev)

./vendor/bin/composer-dependency --no-root-dev-dep export

Create a graph with all packages installed except one

./vendor/bin/composer-dependency --no-packages="vendorA/packageA" export

Create a graph with all packages installed except those indicated

./vendor/bin/composer-dependency --no-packages="vendorA/packageA vendorA/packageB vendorB/packageA" export

Create a graph with only display package installed indicated

./vendor/bin/composer-dependency --packages="vendorA/packageA vendorA/packageB vendorB/packageA" export

Create a graph with all packages installed except those of vendors indicated

./vendor/bin/composer-dependency --no-vendors="vendorA vendorB" export

Create a graph with only packages installed from vendors indicated

./vendor/bin/composer-dependency --vendors="vendorA vendorB" export

Combine the options above: display all packages installed from vendorA except packageB

./vendor/bin/composer-dependency --vendors="vendorA" --no-packages="vendorA/packageB" export

Create a graph and filter dependencies to display

Note that the following command displays only packages installed from vendorA but all dependencies from all vendors

./vendor/bin/composer-dependency --vendors="vendorA" --vendors-dep="vendorA"

Create a graph with only packages installed from vendorA and dependencies from vendorA too

./vendor/bin/composer-dependency --vendors="vendorA" --dep-vendors="vendorA" export

Create a graph with only packages installed from vendorA and all dependencies except those from vendorB and vendorC and the dependency vendorD/packageA

./vendor/bin/composer-dependency --vendors="vendorA" --no-dep-vendors="vendorA vendorB vendorC" --no-dep-packages="vendorD/packageA" export

Create a graph with only some package having a specific tag in composer.json "extra" key.

Create a graph with package having in composer.json "extra" key a tag "type" with the value "business". Concretely, this mean you create a graph with only your business packages.

./vendor/bin/composer-dependency --tags="type business" export

Create a graph with package having in composer.json "extra" key

  • a tag "type" with the value "business"
  • or this same tag "type" with the value "data-mining"

Concretely, this mean you create a graph with only your business and data-mining packages., (*7)

./vendor/bin/composer-dependency
--tags="type business type data-mining" export

Create a graph without package having in composer.json "extra" key

  • a tag "type" with the value "bridge"
  • or a tag "source_code" with the value "python"
  • or this same tag "source_code" with the value "ruby"
./vendor/bin/composer-dependency
--no-tags="type bridge source_code python source_code ruby"

A composer extra could look like below:, (*8)

{
    "extra": {
        "type": "business",
        "source_code": "python"
    }
}

Tags can be "deep"., (*9)

./vendor/bin/composer-dependency
--tags="tag.type business tag.type data-mining" export

A corresponding composer extra could look like below:, (*10)

{
    "extra": {
        "tag": {
            "type": "business",
            "source_code": "python"
        }
    }
}

Off course, you can still combine options., (*11)

Available options are: * format * packages * no-packages * vendors * no-vendors * dep-packages * no-dep-packages * dep-vendors * no-dep-vendors * no-root-dev-dep, (*12)

Available formats are: * svg * png * jpeg, (*13)

Create several graphes by packages or by vendors

Create several graphes to a directory named composer-dependency in svg format (that is the default format), one by packages indicated. Each graph display one package and all its dependency package.

./vendor/bin/composer-dependency --separate-graph-packages="vendorA/packageA vendorA/packageB" multi-export

Create several graphes to a directory named composer-dependency in png format, one by vendor indicated. Each graph displays all vendor packages.

./vendor/bin/composer-dependency --separate-graph-vendors="vendorA vendorB" --format="png" multi-export

Create several graphes to a directory named composer-dependency in png format, one for each package of each vendors indicated.

./vendor/bin/composer-dependency --separate-graph-vendors-packages="vendorA vendorB" --format="png" multi-export

Combine with filters

./vendor/bin/composer-dependency --no-packages="vendorA/packageB" --separate-graph-vendors="vendorA vendorB" --format="png" multi-export

Note that some combinations have no sense. For the moment, there is no control of the consistency of a combinations. It's to you to be carefull. This will be fixed later., (*14)

Relies heavily on:

The Versions

06/12 2017

dev-wip

dev-wip

Filters and displays graphes dependencies of packages installed

  Sources   Download

The Requires

 

composer graph dependency dependencies