@@ -136,24 +136,33 @@ export const pluginSass = (
136136 const clonedOptions = deepmerge < Record < string , any > > ( { } , options ) ;
137137
138138 if ( id === CHAIN_ID . USE . CSS ) {
139- // add resolve-url-loader and sass-loader
140- clonedOptions . importLoaders += 2 ;
139+ // add resolve-url-loader
140+ if ( ! pluginOptions . useOriginalUrlResolver )
141+ clonedOptions . importLoaders += 1 ;
142+ // add sass-loader
143+ clonedOptions . importLoaders += 1 ;
141144 }
142145
143146 rule . use ( id ) . loader ( loader . get ( 'loader' ) ) . options ( clonedOptions ) ;
144147 }
145148
149+ // use resolve-url-loader if useOriginalResolver is not set
150+ if ( ! pluginOptions . useOriginalUrlResolver )
151+ rule
152+ . use ( CHAIN_ID . USE . RESOLVE_URL )
153+ . loader (
154+ path . join ( __dirname , '../compiled/resolve-url-loader/index.js' ) ,
155+ )
156+ . options ( {
157+ join : await getResolveUrlJoinFn ( ) ,
158+ // 'resolve-url-loader' relies on 'adjust-sourcemap-loader',
159+ // it has performance regression issues in some scenarios,
160+ // so we need to disable the sourceMap option.
161+ sourceMap : false ,
162+ } )
163+ . end ( ) ;
164+
146165 rule
147- . use ( CHAIN_ID . USE . RESOLVE_URL )
148- . loader ( path . join ( __dirname , '../compiled/resolve-url-loader/index.js' ) )
149- . options ( {
150- join : await getResolveUrlJoinFn ( ) ,
151- // 'resolve-url-loader' relies on 'adjust-sourcemap-loader',
152- // it has performance regression issues in some scenarios,
153- // so we need to disable the sourceMap option.
154- sourceMap : false ,
155- } )
156- . end ( )
157166 . use ( CHAIN_ID . USE . SASS )
158167 . loader ( path . join ( __dirname , '../compiled/sass-loader/index.js' ) )
159168 . options ( options ) ;
0 commit comments