1
- var path = require ( 'upath' ) ;
2
- var ContextElementDependency = require ( 'webpack/lib/dependencies/ContextElementDependency' ) ;
3
- var resolveTemplates = require ( './build-resources' ) ;
4
-
5
- function getPath ( resolvedResource ) {
6
- let input = resolvedResource . source ;
7
- let lazy = resolvedResource . lazy ;
8
- let bundle = resolvedResource . bundle ;
9
-
10
- const extension = path . extname ( input ) ;
11
- let output = '' ;
12
-
13
- // for .css files force the request to the appropriate css loader (https://github.com/aurelia/webpack-plugin/issues/11#issuecomment-212578861)
14
- switch ( extension ) {
15
- case ".css" :
16
- output += `!!css!` ;
17
- break ;
18
- case ".scss" :
19
- output += `!!css!sass!` ;
20
- break ;
21
- case ".less" :
22
- output += `!!css!less!` ;
23
- break ;
24
- case ".styl" :
25
- output += `!!css!stylus!` ;
26
- break ;
27
- }
28
-
29
- if ( lazy || bundle )
30
- output += `bundle?` ;
31
- if ( lazy )
32
- output += `lazy` ;
33
- if ( lazy && bundle )
34
- output += `&` ;
35
- if ( bundle )
36
- output += `name=${ bundle } ` ;
37
- if ( lazy || bundle )
38
- output += `!` ;
39
-
40
- return `${ output } ${ input } ` ;
41
- }
1
+ const path = require ( 'upath' ) ;
2
+ const ContextElementDependency = require ( 'webpack/lib/dependencies/ContextElementDependency' ) ;
3
+ const resolveTemplates = require ( './build-resources' ) ;
4
+ const debug = require ( 'debug' ) ( 'webpack-plugin' ) ;
42
5
43
6
function handleError ( error ) {
44
7
console . error ( 'Error processing templates' , error . message ) ;
@@ -52,9 +15,42 @@ class AureliaWebpackPlugin {
52
15
options . root = options . root ? path . normalizeSafe ( options . root ) : path . dirname ( module . parent . filename ) ;
53
16
options . src = options . src ? path . normalizeSafe ( options . src ) : path . resolve ( options . root , 'src' ) ;
54
17
options . resourceRegExp = options . resourceRegExp || / a u r e l i a - l o a d e r - c o n t e x t / ;
18
+ options . customViewLoaders = Object . assign ( {
19
+ '.css' : [ 'css' ] ,
20
+ '.scss' : [ 'css' , 'sass' ] ,
21
+ '.less' : [ 'css' , 'less' ] ,
22
+ '.styl' : [ 'css' , 'stylus' ] ,
23
+ } , options . customViewLoaders || { } ) ;
55
24
56
25
this . options = options ;
57
26
}
27
+
28
+ getPath ( resolvedResource ) {
29
+ let input = resolvedResource . source ;
30
+ let lazy = resolvedResource . lazy ;
31
+ let bundle = resolvedResource . bundle ;
32
+
33
+ const extension = path . extname ( input ) ;
34
+ let output = '' ;
35
+
36
+ // for .css files force the request to the appropriate css loader (https://github.com/aurelia/webpack-plugin/issues/11#issuecomment-212578861)
37
+ if ( this . options . customViewLoaders [ extension ] ) {
38
+ output += '!!' + this . options . customViewLoaders [ extension ] . join ( '!' ) + '!' ;
39
+ }
40
+
41
+ if ( lazy || bundle )
42
+ output += `bundle?` ;
43
+ if ( lazy )
44
+ output += `lazy` ;
45
+ if ( lazy && bundle )
46
+ output += `&` ;
47
+ if ( bundle )
48
+ output += `name=${ bundle } ` ;
49
+ if ( lazy || bundle )
50
+ output += `!` ;
51
+
52
+ return `${ output } ${ input } ` ;
53
+ }
58
54
59
55
apply ( compiler ) {
60
56
compiler . plugin ( 'context-module-factory' , cmf => {
0 commit comments