@@ -9,59 +9,61 @@ const SourceMapDevToolPlugin = webpack.SourceMapDevToolPlugin;
9
9
10
10
const rootDir = process . cwd ( ) ;
11
11
12
- module . exports = {
13
- devtool : 'inline-source-map' ,
14
- module : {
15
- loaders : [
16
- {
17
- exclude : / n o d e _ m o d u l e s / ,
18
- test : / \. t s $ / ,
19
- loaders : [
20
- 'awesome-typescript-loader?configFileName=' + path . resolve ( rootDir , 'tsconfig.test.json' ) ,
21
- 'angular2-template-loader?keepUrl=true'
22
- ] ,
23
- } ,
24
- {
25
- loaders : [ 'raw-loader' , 'css-loader' , 'sass-loader' ] ,
26
- test : / \. s ? c s s $ /
27
- } ,
28
- { loader : 'raw-loader' , test : / \. h t m l $ / } ,
29
- {
30
- enforce : 'pre' ,
31
- exclude : / n o d e _ m o d u l e s / ,
32
- loader : 'tslint-loader' ,
12
+ module . exports = ( watch ) => {
13
+ return {
14
+ devtool : watch ? 'inline-source-map' : 'cheap-module-eval-source-map' ,
15
+ module : {
16
+ loaders : [
17
+ {
18
+ exclude : / n o d e _ m o d u l e s / ,
19
+ test : / \. t s $ / ,
20
+ loaders : [
21
+ 'awesome-typescript-loader?configFileName=' + path . resolve ( rootDir , 'tsconfig.test.json' ) ,
22
+ 'angular2-template-loader?keepUrl=true'
23
+ ] ,
24
+ } ,
25
+ {
26
+ loaders : [ 'raw-loader' , 'css-loader' , 'sass-loader' ] ,
27
+ test : / \. s ? c s s $ /
28
+ } ,
29
+ { loader : 'raw-loader' , test : / \. h t m l $ / } ,
30
+ {
31
+ enforce : 'pre' ,
32
+ exclude : / n o d e _ m o d u l e s / ,
33
+ loader : 'tslint-loader' ,
34
+ test : / \. t s $ /
35
+ } ,
36
+ {
37
+ enforce : 'post' ,
38
+ exclude : [
39
+ / n o d e _ m o d u l e s / ,
40
+ / \. ( e 2 e | s p e c \. ) t s $ /
41
+ ] ,
42
+ loader : 'istanbul-instrumenter-loader?esModules=true' ,
43
+ test : / \. t s $ /
44
+ }
45
+ ]
46
+ } ,
47
+ performance : { hints : false } ,
48
+ plugins : [
49
+ new ContextReplacementPlugin (
50
+ / a n g u l a r ( \\ | \/ ) c o r e ( \\ | \/ ) ( ( e s m ( \\ | \/ ) s r c | s r c ) ( \\ | \/ ) l i n k e r | @ a n g u l a r ) / ,
51
+ __dirname
52
+ ) ,
53
+ new LoaderOptionsPlugin ( {
54
+ options : {
55
+ emitErrors : true
56
+ }
57
+ } ) ,
58
+ new SourceMapDevToolPlugin ( {
59
+ filename : null ,
33
60
test : / \. t s $ /
34
- } ,
35
- {
36
- enforce : 'post' ,
37
- exclude : [
38
- / n o d e _ m o d u l e s / ,
39
- / \. ( e 2 e | s p e c \. ) t s $ /
40
- ] ,
41
- loader : 'istanbul-instrumenter-loader?esModules=true' ,
42
- test : / \. t s $ /
43
- }
44
- ]
45
- } ,
46
- performance : { hints : false } ,
47
- plugins : [
48
- new ContextReplacementPlugin (
49
- / a n g u l a r ( \\ | \/ ) c o r e ( \\ | \/ ) ( ( e s m ( \\ | \/ ) s r c | s r c ) ( \\ | \/ ) l i n k e r | @ a n g u l a r ) / ,
50
- __dirname
51
- ) ,
52
- new LoaderOptionsPlugin ( {
53
- options : {
54
- emitErrors : true
55
- }
56
- } ) ,
57
- new SourceMapDevToolPlugin ( {
58
- filename : null ,
59
- test : / \. t s $ /
60
- } )
61
- ] ,
62
- resolve : {
63
- extensions : [ '.js' , '.ts' ] ,
64
- modules : [ path . resolve ( '.' , 'src' ) , path . resolve ( rootDir , 'node_modules' ) ] ,
65
- moduleExtensions : [ '-loader' ]
61
+ } )
62
+ ] ,
63
+ resolve : {
64
+ extensions : [ '.js' , '.ts' ] ,
65
+ modules : [ path . resolve ( '.' , 'src' ) , path . resolve ( rootDir , 'node_modules' ) ] ,
66
+ moduleExtensions : [ '-loader' ]
67
+ }
66
68
}
67
- } ;
69
+ } ;
0 commit comments