The Asynchronous Module Definition (AMD) API specifies a mechanism for defining modules such that the module and its dependencies can be asynchronously loaded
Umd is even better supported since umd is compatible with commonjs and amd so that would be a safer bet
Writing an Angular library, is it safe to assume users will use commonjs?
The main diferrence between the two is that umd is more abstract and will also work in node.js and amd rather than just browsers
Trying to understand what this JS function does and what its parameters are, can someone explain?