@@ -62,7 +62,12 @@ test('default loaders', () => {
62
62
} )
63
63
} )
64
64
// 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
+ } )
66
71
} )
67
72
68
73
test ( 'production defaults' , ( ) => {
@@ -180,21 +185,38 @@ test('css-loader options', () => {
180
185
} )
181
186
182
187
test ( 'css.loaderOptions' , ( ) => {
183
- const data = '$env: production;'
188
+ const prependData = '$env: production;'
184
189
const config = genConfig ( {
185
190
vue : {
186
191
css : {
187
192
loaderOptions : {
188
193
sass : {
189
- data
194
+ prependData,
195
+ sassOptions : {
196
+ includePaths : [ './src/styles' ]
197
+ }
190
198
}
191
199
}
192
200
}
193
201
}
194
202
} )
195
203
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
+ } )
198
220
} )
199
221
200
222
test ( 'scss loaderOptions' , ( ) => {
@@ -206,24 +228,37 @@ test('scss loaderOptions', () => {
206
228
css : {
207
229
loaderOptions : {
208
230
sass : {
209
- sassData
231
+ prependData : sassData
210
232
} ,
211
233
scss : {
212
- scssData
234
+ prependData : scssData ,
235
+ webpackImporter : false
213
236
}
214
237
}
215
238
}
216
239
}
217
240
} )
218
241
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' )
221
256
} )
222
257
223
258
test ( 'should use dart sass implementation whenever possible' , ( ) => {
224
259
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' ) } )
227
262
} )
228
263
229
264
test ( 'skip postcss-loader if no postcss config found' , ( ) => {
0 commit comments