I think all JavaScript module writers should start using UMD when defining their modules.
Yes, it’s a bit messy and seemingly unnecessary boilerplate. But if you really cared about your users, then you’ll do it. :)
Even if you don’t like using an AMD like RequireJS, you will do your users
a big favour by using one of the UMD variants.
For example, a jQuery plugin can be defined as follows: