UNPKG

1.09 kBJavaScriptView Raw
1
2module.exports = function (extra_extensions) {
3
4 var extensions = [
5 '.text',
6 '.txt',
7 '.html',
8 '.tmpl'
9 ];
10
11 if (Object.prototype.toString.call(extra_extensions) !== '[object Array]') {
12 extra_extensions = [];
13 }
14
15 for (var i = 0; i < extra_extensions.length; i++) {
16 if (extensions[extra_extensions[i]]) { continue; }
17
18 extensions.push(extra_extensions[i]);
19 }
20
21 var middleware = function (bundle) {
22
23 function stringifyText(text) {
24 var stringified_text;
25
26 stringified_text = text.replace(/\"/g, '\u005C\u0022');
27 stringified_text = stringified_text.replace(/^(.*)/gm, '"$1');
28 stringified_text = stringified_text.replace(/(.+)$/gm, '$1" +');
29 stringified_text = stringified_text.replace(/\+$/, '');
30
31 return stringified_text;
32 }
33
34 var text_handler = function (body, file) {
35 var safe_body = stringifyText(body);
36
37 return 'module.exports = ' + safe_body + ';\n';
38 };
39
40 for (var i = 0; i < extensions.length; i++) {
41 bundle.register(extensions[i], text_handler);
42 }
43 };
44
45 return middleware;
46};