@@ -230,44 +230,15 @@ class CompressionPlugin {
230230 await cacheItem . storePromise ( output ) ;
231231 }
232232
233- const match = / ^ ( [ ^ ? # ] * ) ( \? [ ^ # ] * ) ? ( # .* ) ? $ / . exec ( name ) ;
234- const [ , replacerFile ] = match ;
235- const replacerQuery = match [ 2 ] || "" ;
236- const replacerFragment = match [ 3 ] || "" ;
237- const replacerExt = path . extname ( replacerFile ) ;
238- const replacerBase = path . basename ( replacerFile ) ;
239- const replacerName = replacerBase . slice (
240- 0 ,
241- replacerBase . length - replacerExt . length
242- ) ;
243- const replacerPath = replacerFile . slice (
244- 0 ,
245- replacerFile . length - replacerBase . length
246- ) ;
247- const pathData = {
248- file : replacerFile ,
249- query : replacerQuery ,
250- fragment : replacerFragment ,
251- path : replacerPath ,
252- base : replacerBase ,
253- name : replacerName ,
254- ext : replacerExt || "" ,
255- } ;
256-
257- let newFilename = this . options . filename ;
258-
259- if ( typeof newFilename === "function" ) {
260- newFilename = newFilename ( pathData ) ;
261- }
262-
263- const newName = newFilename . replace (
264- / \[ ( f i l e | q u e r y | f r a g m e n t | p a t h | b a s e | n a m e | e x t ) ] / g,
265- ( p0 , p1 ) => pathData [ p1 ]
266- ) ;
267-
233+ const newFilename = compilation . getPath ( this . options . filename , {
234+ filename : name ,
235+ } ) ;
268236 const newInfo = { compressed : true } ;
269237
270- if ( info . immutable && / ( \[ n a m e ] | \[ b a s e ] | \[ f i l e ] ) / . test ( newFilename ) ) {
238+ if (
239+ info . immutable &&
240+ / ( \[ n a m e ] | \[ b a s e ] | \[ f i l e ] ) / . test ( this . options . filename )
241+ ) {
271242 newInfo . immutable = true ;
272243 }
273244
@@ -281,11 +252,11 @@ class CompressionPlugin {
281252 compilation . deleteAsset ( name ) ;
282253 } else {
283254 compilation . updateAsset ( name , source , {
284- related : { [ relatedName ] : newName } ,
255+ related : { [ relatedName ] : newFilename } ,
285256 } ) ;
286257 }
287258
288- compilation . emitAsset ( newName , output . source , newInfo ) ;
259+ compilation . emitAsset ( newFilename , output . source , newInfo ) ;
289260 } ) ( )
290261 ) ;
291262 }
0 commit comments