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.
The Drupal.org Composer service handles sub-extensions and their dependencies separately such that
drupal/example_submodulecan 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.jsonfor 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.