@@ -62,7 +62,12 @@ test('default loaders', () => {
6262 } )
6363 } )
6464 // sass indented syntax
65- expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( { indentedSyntax : true , sourceMap : false } )
65+ expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( {
66+ sassOptions : {
67+ indentedSyntax : true
68+ } ,
69+ sourceMap : false
70+ } )
6671} )
6772
6873test ( 'production defaults' , ( ) => {
@@ -180,21 +185,38 @@ test('css-loader options', () => {
180185} )
181186
182187test ( 'css.loaderOptions' , ( ) => {
183- const data = '$env: production;'
188+ const prependData = '$env: production;'
184189 const config = genConfig ( {
185190 vue : {
186191 css : {
187192 loaderOptions : {
188193 sass : {
189- data
194+ prependData,
195+ sassOptions : {
196+ includePaths : [ './src/styles' ]
197+ }
190198 }
191199 }
192200 }
193201 }
194202 } )
195203
196- expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( { data, sourceMap : false } )
197- expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( { data, indentedSyntax : true , sourceMap : false } )
204+ expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( {
205+ prependData,
206+ sourceMap : false ,
207+ sassOptions : {
208+ includePaths : [ './src/styles' ]
209+ }
210+ } )
211+ expect ( findOptions ( config , 'scss' , 'sass' ) . sassOptions ) . not . toHaveProperty ( 'indentedSyntax' )
212+ expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( {
213+ prependData,
214+ sassOptions : {
215+ indentedSyntax : true ,
216+ includePaths : [ './src/styles' ]
217+ } ,
218+ sourceMap : false
219+ } )
198220} )
199221
200222test ( 'scss loaderOptions' , ( ) => {
@@ -206,24 +228,37 @@ test('scss loaderOptions', () => {
206228 css : {
207229 loaderOptions : {
208230 sass : {
209- sassData
231+ prependData : sassData
210232 } ,
211233 scss : {
212- scssData
234+ prependData : scssData ,
235+ webpackImporter : false
213236 }
214237 }
215238 }
216239 }
217240 } )
218241
219- expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( { scssData, sourceMap : false } )
220- expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( { sassData, indentedSyntax : true , sourceMap : false } )
242+ expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( {
243+ prependData : scssData ,
244+ sourceMap : false
245+ } )
246+ expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( {
247+ prependData : sassData ,
248+ sassOptions : {
249+ indentedSyntax : true
250+ } ,
251+ sourceMap : false
252+ } )
253+
254+ // should not merge scss options into default sass config
255+ expect ( findOptions ( config , 'sass' , 'sass' ) ) . not . toHaveProperty ( 'webpackImporter' )
221256} )
222257
223258test ( 'should use dart sass implementation whenever possible' , ( ) => {
224259 const config = genConfig ( )
225- expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( { fiber : require ( 'fibers' ) , implementation : require ( 'sass' ) } )
226- expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( { fiber : require ( 'fibers' ) , implementation : require ( 'sass' ) } )
260+ expect ( findOptions ( config , 'scss' , 'sass' ) ) . toMatchObject ( { implementation : require ( 'sass' ) } )
261+ expect ( findOptions ( config , 'sass' , 'sass' ) ) . toMatchObject ( { implementation : require ( 'sass' ) } )
227262} )
228263
229264test ( 'skip postcss-loader if no postcss config found' , ( ) => {
0 commit comments