Created
October 16, 2013 07:31
-
-
Save pdubroy/7003974 to your computer and use it in GitHub Desktop.
A demonstration of "dependency hell" -- in particular, the problem of conflicting dependencies.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var x = require('x-1.3'); | |
var foo = require('foo'); | |
// Doesn't work because x is expecting v1.2 of the Thing interface. | |
foo.wiggle(x.makeThing()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var x = require('x-1.2'); | |
function wiggle(thingFromX) { | |
thingFromX.doSomething(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm pretty sure this is an unsolveable problem.
Detectable, yes, but not (generally) solvable. It basically boils down to type incompatibilities (Something that Javascript hides on first sight, but it's that), where the type of something changes between versions.