-
Notifications
You must be signed in to change notification settings - Fork 166
Description
I use this awesome plugin to create modular software, each module having its own composer.json. This allows me to keep declarations of module dependencies together with modules, greatly simplifying understanding and portability. So, there's an e.g. my/main package, which uses the plugin to merge modules/module1/composer.json and modules/module2/composer.json. Feels like this is exactly what the plugin is made for.
Now, module2 depends on symbols from module1. If the symbols were in an external package, I could just have both modules depend on that package, and it would work, as it has for a number of years now. But most often, local modules are local because they have something that is considered not worth extracting into a separate package (at that time). Still, symbols need to be shared, and so in my/module2 I tried declaring dependency on my/module1: *. This serves as an explicit dependency declaration, providing a logical link between modules. When/if the modules need to be extracted into separate packages, I wouln't have to go through the code looking for class usages, and resolving them to their respective packages, which is a long-term added benefit of such a declaration.
Alas, it gives the Root composer.json requires my/module1, it could not be found in any version, there may be a typo in the package name error. Is this supposed to be working, and I just need to fix some configuration? If not, is this something you are planning to add? Is it possible at all?
Thanks! 🙏