You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Drupal.org Composer service handles sub-extensions and their dependencies separately such that drupal/example_submodule can have different dependencies from drupal/example. Indeed, if a submodule requires packages that are not technically required to use the base extension, Acquia considers this a best practice so as not to require users to deploy unused code. Thus, since the Drupal.org Composer service dynamically creates an implicit composer.json for them anyway, sub-extensions should take ownership of their metadata and dependencies and create their own physical composer.json. Create a test for this.
Add a warning for sub-extensions that don't have their own composer.json.
Document the feature.
Link to the documentation in the warning message.
The text was updated successfully, but these errors were encountered:
Pro tip: if you are the maintainer of such a module, and you want to be able to install all of the dependencies (including submodule dependencies) for testing purposes, the best way I've found is to declare the submodule as a Composer path repository in the root-level composer.json, and then declare the submodule as a dev dependency.
The Drupal.org Composer service handles sub-extensions and their dependencies separately such that
drupal/example_submodule
can have different dependencies fromdrupal/example
. Indeed, if a submodule requires packages that are not technically required to use the base extension, Acquia considers this a best practice so as not to require users to deploy unused code. Thus, since the Drupal.org Composer service dynamically creates an implicitcomposer.json
for them anyway, sub-extensions should take ownership of their metadata and dependencies and create their own physicalcomposer.json
. Create a test for this.composer.json
.The text was updated successfully, but these errors were encountered: