Hey,
npm has a newly-added 'peerDependencies' feature. It looks like composer
could use a similar feature. Anyone want to work on a composer patch?
I might be misunderstanding what this peerDependencies does, though if not, then it is different then what is needed for the scenario described below:
Partially. The issue is that extensions are both packages and
dependencies.
Scribunto is itself an independent package that a wiki can install, but at the same time it can be a dependency for other extensions. That's where it gets tricky...
If you want to install Scribuntu, then add it to the requires section of composer.json. If you want the extension that needs scrubuntu, then add the extension to the requires section of composer.json. If you want both, add both. Then run composer install, and you are done. The resolving of dependencies Composer does eliminates trickiness one would run into when doing manual installation.
npm has a newly-added 'peerDependencies' feature. It looks like composer
could use a similar feature. Anyone want to work on a composer patch?
As I understand this peerDependencies thing, it is designed to be able to deal with cycles in your dependency graph. That might be nice to have in such a tool, though I'd argue not the most important feature. If you got cycles in your dependency graph, you got a serious problem with your dependencies, which you should fix. See also: Acyclic Dependencies Principle
Cheers
-- Jeroen De Dauw http://www.bn2vs.com Don't panic. Don't be evil. ~=[,,_,,]:3 --