Skip to content

Commit edc44e4

Browse files
committed
Add includes to dependencies
1 parent faf5420 commit edc44e4

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

index.js

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,42 @@
11
'use strict';
22

33
var parseQuery = require('loader-utils').parseQuery;
4-
var render = require('ejs').render;
5-
var cyan = require('chalk').cyan;
4+
var compile = require('ejs').compile;
65

7-
module.exports = function ejsHtmlLoader(source) {
6+
function ejsHtmlLoader(source) {
87
var data = this.options.ejsHtml ||
98
this.options.ejsHtmlLoader ||
109
parseQuery(this.query);
1110

1211
this.cacheable();
1312

13+
var template;
14+
1415
try {
15-
return render(source, data, {
16+
template = compile(source, {
1617
filename: this.resourcePath,
1718
delimiter: data.delimiter,
1819
context: data.context
1920
});
2021
} catch (e) {
21-
throw new Error(renderError(e));
22+
throwError(e.message);
23+
}
24+
25+
template.dependencies.forEach(function(dep) {
26+
this.addDependency(dep);
27+
},this);
28+
29+
try {
30+
return template(data);
31+
} catch (e) {
32+
throwError(e.message);
2233
}
23-
};
34+
}
2435

25-
function renderError(e) {
26-
return cyan('\nejs-html-loader: ') + 'EJS render error:\n' + e.message;
36+
function throwError(message) {
37+
var err = new Error('ejs-html-loader\n' + message);
38+
Error.captureStackTrace(err, ejsHtmlLoader);
39+
throw err;
2740
}
41+
42+
module.exports = ejsHtmlLoader;

0 commit comments

Comments
 (0)