@@ -37,6 +37,13 @@ function getPath(resolvedResource) {
37
37
return `${ output } ${ input } ` ;
38
38
}
39
39
40
+ function handleError ( error ) {
41
+ console . error ( 'Error processing templates' , error . message ) ;
42
+ console . error ( '-----------------------' ) ;
43
+ console . error ( error ) ;
44
+ console . error ( '-----------------------' ) ;
45
+ }
46
+
40
47
class AureliaWebpackPlugin {
41
48
constructor ( options = { } ) {
42
49
options . root = options . root ? path . normalizeSafe ( options . root ) : path . dirname ( module . parent . filename ) ;
@@ -78,29 +85,30 @@ class AureliaWebpackPlugin {
78
85
79
86
resolveTemplates . processAll ( this . options ) . then ( contextElements => {
80
87
for ( let requireRequestPath of Object . keys ( contextElements ) . reverse ( ) ) {
81
- // ensure we have './' at the beginning of the request path
82
- requireRequestPath = path . joinSafe ( './' , requireRequestPath ) ;
83
- let resource = contextElements [ requireRequestPath ] ;
84
- let newDependency = new ContextElementDependency ( getPath ( resource ) , requireRequestPath ) ;
85
- if ( resource . hasOwnProperty ( 'optional' ) )
86
- newDependency . optional = ! ! resource . optional ;
87
- else
88
- newDependency . optional = true ;
89
- let previouslyAdded = dependencies . findIndex ( dependency => dependency . userRequest === requireRequestPath ) ;
90
- if ( previouslyAdded > - 1 ) {
91
- dependencies [ previouslyAdded ] = newDependency ;
92
- } else {
93
- dependencies . push ( newDependency ) ;
88
+ try {
89
+ const resource = contextElements [ requireRequestPath ] ;
90
+ // ensure we have './' at the beginning of the request path
91
+ requireRequestPath = path . joinSafe ( './' , requireRequestPath ) ;
92
+ let newDependency = new ContextElementDependency ( getPath ( resource ) , requireRequestPath ) ;
93
+ if ( resource . hasOwnProperty ( 'optional' ) )
94
+ newDependency . optional = ! ! resource . optional ;
95
+ else
96
+ newDependency . optional = true ;
97
+ let previouslyAdded = dependencies . findIndex ( dependency => dependency . userRequest === requireRequestPath ) ;
98
+ if ( previouslyAdded > - 1 ) {
99
+ dependencies [ previouslyAdded ] = newDependency ;
100
+ } else {
101
+ dependencies . push ( newDependency ) ;
102
+ }
103
+ } catch ( e ) {
104
+ handleError ( e ) ;
94
105
}
95
106
// TODO: optional filtering of context (things we don't want to require)
96
107
}
97
108
98
109
return callback ( null , dependencies ) ;
99
- } , error => {
100
- console . error ( 'Error processing templates' , error . message ) ;
101
- console . error ( '-----------------------' ) ;
102
- console . error ( error ) ;
103
- console . error ( '-----------------------' ) ;
110
+ } , ( e ) => {
111
+ handleError ( e ) ;
104
112
return callback ( error ) ;
105
113
} ) ;
106
114
} ) ;
0 commit comments