@@ -113,7 +113,7 @@ describe("sass-loader", () => {
113113 ]
114114 } ]
115115 }
116- } , ( err ) => err ? reject ( err ) : resolve ( ) ) ;
116+ } , err => err ? reject ( err ) : resolve ( ) ) ;
117117 } )
118118 . then ( ( ) => {
119119 const expectedCss = readCss ( "scss" , "imports" ) ;
@@ -137,6 +137,34 @@ describe("sass-loader", () => {
137137 } )
138138 ) ;
139139 } ) ;
140+ describe ( "source maps" , ( ) => {
141+ it ( "should compile without errors" , ( ) =>
142+ new Promise ( ( resolve , reject ) => {
143+ runWebpack ( {
144+ entry : path . join ( __dirname , "scss" , "imports.scss" ) ,
145+ // We know that setting a custom context can confuse webpack when resolving source maps
146+ context : path . join ( __dirname , "scss" ) ,
147+ output : {
148+ filename : "bundle.source-maps.compile-without-errors.js"
149+ } ,
150+ devtool : "source-map" ,
151+ module : {
152+ rules : [ {
153+ test : / \. s c s s $ / ,
154+ use : [
155+ { loader : "css-loader" , options : {
156+ sourceMap : true
157+ } } ,
158+ { loader : pathToSassLoader , options : {
159+ sourceMap : true
160+ } }
161+ ]
162+ } ]
163+ }
164+ } , err => err ? reject ( err ) : resolve ( ) ) ;
165+ } )
166+ ) ;
167+ } ) ;
140168 describe ( "errors" , ( ) => {
141169 it ( "should throw an error in synchronous loader environments" , ( ) => {
142170 try {
@@ -209,8 +237,8 @@ function runWebpack(baseConfig, done) {
209237
210238 webpack ( webpackConfig , ( webpackErr , stats ) => {
211239 const err = webpackErr ||
212- ( stats . hasErrors && stats . compilation . errors [ 0 ] ) ||
213- ( stats . hasWarnings && stats . compilation . warnings [ 0 ] ) ;
240+ ( stats . hasErrors ( ) && stats . compilation . errors [ 0 ] ) ||
241+ ( stats . hasWarnings ( ) && stats . compilation . warnings [ 0 ] ) ;
214242
215243 done ( err || null ) ;
216244 } ) ;
0 commit comments