This is a discussion. Add arguments, ideas and examples to this discussion so that together we can make an informed and sound decision on whether or not, and how to implement such a concept.
Currently module dependencies only target a module by their name. This may cause compatibility issues in cases where a dependent module changes its method signatures and becomes incompatible with modules that have a dependency to it.
Instead it was suggested that module dependencies should be version-dependent "just like npm".
Conceptionally a sound solution has to be created that covers all cases.
Requirements
Unique instancing
A module instance must only exist once per server.
Non-breaking updates
A non-breaking update to a module should allow all modules, that depend on it, to continue functioning.
This is a discussion. Add arguments, ideas and examples to this discussion so that together we can make an informed and sound decision on whether or not, and how to implement such a concept.
Currently module dependencies only target a module by their name. This may cause compatibility issues in cases where a dependent module changes its method signatures and becomes incompatible with modules that have a dependency to it.
Instead it was suggested that module dependencies should be version-dependent "just like npm".
Conceptionally a sound solution has to be created that covers all cases.
Requirements
Unique instancing
A module instance must only exist once per server.
Non-breaking updates
A non-breaking update to a module should allow all modules, that depend on it, to continue functioning.