-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathumd.template.jst
28 lines (26 loc) · 1.06 KB
/
umd.template.jst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%
var stdDeps = ['require', 'exports'];
var amdDeps = stdDeps.concat(_.pluck(deps, 'amdName'));
var cjsDeps = _.without(_.pluck(deps, 'cjsName'), stdDeps);
cjsDeps = cjsDeps ? stdDeps.concat(_.map(cjsDeps, function(dep) { return "require('" + dep + "')" })) : stdDeps;
var depNames = deps ? stdDeps.concat(_.pluck(deps, 'paramName')) : stdDeps;
var globalDeps = deps ? stdDeps.concat(_.map(deps, function(dep) { return 'root.' + dep.globalName })) : stdDeps;
%>
(function(root, factory) {
var exports, require;
if (typeof define === 'function' && define.amd) {
define('<%= namespace %>', <%= amdDeps ? JSON.stringify(amdDeps) + ', ' : '[], ' %>factory);
} else if (typeof exports === 'object') {
module.exports = factory(<%= cjsDeps.join(', ') %>);
} else {
root.<%= namespace %> = factory(<%= globalDeps.join(', ') %>);
}
}(typeof window !== 'undefined' ? window : global, function(<%= depNames.join(', ') %>) {
if (!exports) { var exports = {}; }
<% if (exports) { %>
<%= contents %>
return <%= exports %>;
<% } else { %>
return <%= contents %>;
<% } %>
}));