kessler / darkmagic

An experimental opinionated dependency injection module
MIT License
21 stars 0 forks source link

Modules with underscore symbol doesn't loaded #1

Closed Sitin closed 10 years ago

Sitin commented 10 years ago

The following:

require('darkmagic').inject(function(child_process) {
    child_process.fork('smth');
});

causes an error:

/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Dependency.js:102
            throw new Error(util.format('[%s%s] is Missing dependency [%s]', parentDepe
                  ^
Error: [anonymous] is Missing dependency [child_process]
    at Dependency.load (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Dependency.js:102:10)
    at /Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Injector.js:114:29
    at Waterfall.run (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Waterfall.js:30:20)
    at Injector._inject (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Injector.js:104:12)
    at Injector.inject (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/lib/Injector.js:58:7)
    at Object.inject (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/node_modules/darkmagic/index.js:17:11)
    at Object.<anonymous> (/Users/sitin/Developer/Innovecs/MobileCore/tools.mobilecore.com/dbsync/broken.js:1:84)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

Process finished with exit code 8
kessler commented 10 years ago

Will take a look shortly

Sitin commented 10 years ago

The problem is that Dependency.prototype._dashify prepends low dashes with dashes (e.g. returns "child-_process" for "child_process").