-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemplate.js
More file actions
33 lines (33 loc) · 1.22 KB
/
template.js
File metadata and controls
33 lines (33 loc) · 1.22 KB
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
29
30
31
32
33
module.exports = function (name) {
return {
header: '\n' +
"(function () {\n" +
" var _detectedModuleType;\n" +
" if (typeof define === 'function' && define.amd) {\n" +
" _detectedModuleType = 'RequireJS';\n" +
" }\n" +
" else if (typeof module === 'object' && module.exports) {\n" +
" _detectedModuleType = 'CommonJS';\n" +
" }\n" +
" else if (typeof window !== 'undefined') {\n" +
" _detectedModuleType = 'Browser';\n" +
" }\n" +
" else {\n" +
" throw 'Error: No browser or module system detected!';\n" +
" }\n" +
" var " + name + " = {};\n",
footer: '\n' +
" switch (_detectedModuleType) {\n" +
" case 'RequireJS':\n" +
" define(['" + name + "'], " + name + ");\n" +
" break;\n" +
" case 'CommonJS':\n" +
" module.exports = " + name + ";\n" +
" break;\n" +
" case 'Browser':\n" +
" window." + name + " = " + name + ";\n" +
" break;\n" +
" }\n" +
"})();"
};
};