The world of JavaScript modules and package managers can be a fragmented place. With a mixture of AMD, Bower, npm and CommonJS it can sometimes lead to interoperability headaches. In this post we'll look at how CommonJS and AMD can live together in the same code base with some examples. If you need a refresher on the different module formats then Addy Osmani has you covered with this excellent art