Scenario : You come back to an AngularJS project after a few days. A major section of your app is no longer working. It was working great before. You realize that one of your directives is completely not loading. Throw a few logging functions in the link and they don't show up!!!

I just experienced this myself. So, my head is hanging in shame. Proper testing would have a avoided this. However, I'll embarass myself here to hopefully help someone else out.

I had added a new directive a few days ago. It worked great! But I accidentally defined it like this :

angular.module('kit.common', []).directive('charLimit', function(){...})

See that []? That reinitialized the entire "kit.common" module. So, all the directives included prior to this one just got blown out of the water. It should have been defined like this:

angular.module('kit.common').directive('charLimit', function(){...})

Be careful not to clobber your modules!