File tree Expand file tree Collapse file tree 1 file changed +24
-2
lines changed
Expand file tree Collapse file tree 1 file changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,10 @@ interface Compilation {
1313 assets : { [ key : string ] : Asset }
1414}
1515
16+ interface Config {
17+ filter ?( fileName : string ) : boolean
18+ }
19+
1620export default class Plugin
1721{
1822 static addStyle ( html : string , style : string ) {
@@ -26,17 +30,35 @@ export default class Plugin
2630 ) ;
2731 }
2832
33+ private config : Config ;
34+
2935 private css : File = { } ;
36+
3037 private html : File = { } ;
3138
39+ constructor ( config : Config ) {
40+ this . config = config ;
41+ }
42+
43+ private filter ( fileName : string ) : boolean {
44+ if ( typeof this . config . filter === 'function' ) {
45+ return this . config . filter ( fileName ) ;
46+ } else {
47+ return true ;
48+ }
49+ }
50+
3251 private prepare ( { assets } : Compilation ) {
3352 const isCSS = is ( 'css' ) ;
3453 const isHTML = is ( 'html' ) ;
3554
3655 Object . keys ( assets ) . forEach ( ( fileName ) => {
3756 if ( isCSS ( fileName ) ) {
38- this . css [ fileName ] = assets [ fileName ] . source ( ) ;
39- delete assets [ fileName ] ;
57+ const isCurrentFileNeedsToBeInlined = this . filter ( fileName ) ;
58+ if ( isCurrentFileNeedsToBeInlined ) {
59+ this . css [ fileName ] = assets [ fileName ] . source ( ) ;
60+ delete assets [ fileName ] ;
61+ }
4062 } else if ( isHTML ( fileName ) ) {
4163 this . html [ fileName ] = assets [ fileName ] . source ( ) ;
4264 }
You can’t perform that action at this time.
0 commit comments