File tree Expand file tree Collapse file tree 1 file changed +23
-8
lines changed Expand file tree Collapse file tree 1 file changed +23
-8
lines changed Original file line number Diff line number Diff line change 1
1
'use strict' ;
2
2
3
3
var parseQuery = require ( 'loader-utils' ) . parseQuery ;
4
- var render = require ( 'ejs' ) . render ;
5
- var cyan = require ( 'chalk' ) . cyan ;
4
+ var compile = require ( 'ejs' ) . compile ;
6
5
7
- module . exports = function ejsHtmlLoader ( source ) {
6
+ function ejsHtmlLoader ( source ) {
8
7
var data = this . options . ejsHtml ||
9
8
this . options . ejsHtmlLoader ||
10
9
parseQuery ( this . query ) ;
11
10
12
11
this . cacheable ( ) ;
13
12
13
+ var template ;
14
+
14
15
try {
15
- return render ( source , data , {
16
+ template = compile ( source , {
16
17
filename : this . resourcePath ,
17
18
delimiter : data . delimiter ,
18
19
context : data . context
19
20
} ) ;
20
21
} 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 ) ;
22
33
}
23
- } ;
34
+ }
24
35
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 ;
27
40
}
41
+
42
+ module . exports = ejsHtmlLoader ;
You can’t perform that action at this time.
0 commit comments