@@ -9,7 +9,12 @@ import zlib from 'node:zlib';
99import { CSS_REGEX , HTML_REGEX , JS_REGEX } from '../constants' ;
1010import { color } from '../helpers' ;
1111import { logger } from '../logger' ;
12- import type { PrintFileSizeOptions , RsbuildPlugin , Rspack } from '../types' ;
12+ import type {
13+ PrintFileSizeAsset ,
14+ PrintFileSizeOptions ,
15+ RsbuildPlugin ,
16+ Rspack ,
17+ } from '../types' ;
1318
1419const gzip = promisify ( zlib . gzip ) ;
1520
@@ -18,9 +23,9 @@ async function gzipSize(input: Buffer) {
1823 return data . length ;
1924}
2025
21- /** Filter source map and license files */
22- export const filterAsset = ( asset : string ) : boolean =>
23- ! / \. m a p $ / . test ( asset ) && ! / \. L I C E N S E \. t x t $ / . test ( asset ) ;
26+ /** Exclude source map and license files by default */
27+ export const excludeAsset = ( asset : PrintFileSizeAsset ) : boolean =>
28+ / \. (?: m a p | L I C E N S E \. t x t ) $ / . test ( asset . name ) ;
2429
2530const getAssetColor = ( size : number ) => {
2631 if ( size > 300 * 1000 ) {
@@ -128,15 +133,17 @@ async function printFileSizes(
128133 groupAssetsByEmitStatus : false ,
129134 } ) ;
130135
136+ const exclude = options . exclude ?? excludeAsset ;
131137 const filteredAssets = origin . assets ! . filter ( ( asset ) => {
132- if ( ! filterAsset ( asset . name ) ) {
138+ const assetInfo : PrintFileSizeAsset = {
139+ name : asset . name ,
140+ size : asset . size ,
141+ } ;
142+ if ( exclude ( assetInfo ) ) {
133143 return false ;
134144 }
135145 if ( options . include ) {
136- return options . include ( {
137- name : asset . name ,
138- size : asset . size ,
139- } ) ;
146+ return options . include ( assetInfo ) ;
140147 }
141148 return true ;
142149 } ) ;
0 commit comments