This is what I believe to be the best way to define angular modules and I give reasons for it in. But basically, this allows consumers of your module to do this:
var angular = require('angular'); angular.module('myEmojiApp', [ require('angular-link-logger') ]);
This makes my dependency management life SO much easier!
peerDependencies, make them as loose as possible. Use semver.npmjs.com to come up with the correct, loose version range