Skip to content

Inspecting Drupal dependencies

13.4+

These commands allow a developer or site builder to inspect the Drupal dependencies. It's similar with Composer's why command but acts in the Drupal realm, by showing dependencies between modules or config entities.

Find module dependants

Drupal modules are able to define other modules as dependencies, using the module's metadata info.yml file. To get all modules that depend on a given module type:

drush why:module node --type=module

This will show all the installed module dependents of node module. The results are rendered visually as a tree, making it easy to understand the nested relations. It also marks visually the circular dependencies.

If you want to get the dependency tree as data, use the --format option. E.g., --format=yaml or --format=json.

The above command only rendered the dependency tree of installed modules. If you need to get the module dependants regardless whether they are installed or not, use the --no-only-installed option/flag:

drush why:module node --type=module --no-only-installed

Config entities are able to declare dependencies on modules. You can find also the config entities that depend on a given module. The following command shows all config entities depending on node module:

drush why:module node --type=config

Dependents are also rendered as a tree, showing a nested structure. The --format option can be used in the same way, to get a machine-readable structure.

Find config entity dependants

Config entities are able also to declare dependencies on other config entities. With why:config Drush command we can determine the config entities depending on a specific entity:

drush why:config node.type.article

This will also render the results in a structured tree visualisation. Same, the --format option can be used to get data structured as json, yaml, etc.

Authors: Claudiu Cristea