ex: ``` js require('delegate') -> require('component/delegate#0.1.0') require('component-delegate') -> require('component/delegate#master') ``` Then don't even bother aliasing at all. All dependency checking will happen at build time. We can resolve the names based on the dependencies. Only edge case i can think of is when users do `*` with their dependencies, then we can resolve the dependency at `require()` time. Of course, this won't work with any components that do silly stuff with their require calls.