After using several Common JS libraries for dependency management I decided that none of them offered me all the things I wanted. I wanted small and fast like Require. I also wanted to load modules like Node and Inject with module.exports. I wanted modules to preload ahead of execution. I also wanted easy path rewrite abilities that Inject offered. And I wanted it easy to understand. So last summer I started building my own.
I give you Fractured Nations Common JS. It is a Common JS dependency management library with Deferred Promises, Ajax and custom logging. The Common JS supports require, module.exports, and define. The Deferred Promises support then, done, fail, always, resolve, and reject to be compliant with Promise/A and the Jquery standard if you are in the mood to ditch Jquery. The Ajax library is similar to Jquery but is not very developed. The logging allows you to turn it on and off and set how much logging you desire for certain parts of the code.
Give it a spin. There are several examples, including a fully working site that has knockout.js enabled.
https://github.com/josephtveter/fn_common