@@ -45,44 +45,53 @@ const buildsConfig = [
45
45
} ,
46
46
]
47
47
48
- const builds = buildsConfig . map ( ( { format, outfile, minify } ) =>
49
- esbuild . build ( {
50
- entryPoints : [ './src/index.tsx' ] ,
51
- bundle : true ,
52
- outfile,
53
- format,
54
- treeShaking : true ,
55
- minify,
56
- sourcemap : true ,
57
- external : [ 'react' , 'react-dom' , 'prop-types' ] ,
58
- plugins : [
59
- cssModulesPlugin ( {
60
- // inject: true,
61
- v2 : true ,
62
- v2CssModulesOption : {
63
- pattern : `react-tooltip__[local]_[hash]` ,
64
- } ,
65
- } ) ,
66
- ] ,
67
- } ) ,
48
+ const builds = await Promise . all (
49
+ buildsConfig . map ( ( { format, outfile, minify } ) =>
50
+ esbuild . build ( {
51
+ entryPoints : [ './src/index.tsx' ] ,
52
+ bundle : true ,
53
+ outfile,
54
+ format,
55
+ treeShaking : true ,
56
+ minify,
57
+ sourcemap : true ,
58
+ external : [ 'react' , 'react-dom' , 'prop-types' ] ,
59
+ plugins : [
60
+ cssModulesPlugin ( {
61
+ // inject: true,
62
+ v2 : true ,
63
+ v2CssModulesOption : {
64
+ pattern : `react-tooltip__[local]_[hash]` ,
65
+ } ,
66
+ } ) ,
67
+ ] ,
68
+ } ) ,
69
+ ) ,
68
70
)
69
71
70
- await Promise . all ( builds )
72
+ const toDelete = new Set ( )
73
+ builds . forEach ( ( build ) => {
74
+ const outputs = Object . keys ( build . metafile . outputs )
75
+ outputs . forEach ( ( output ) => {
76
+ /**
77
+ * delete all redundant `.css` and `.css.map` files
78
+ * except the ones we actually want to keep
79
+ */
80
+ if ( / r e a c t - t o o l t i p \. c s s ( \. m a p ) ? $ / . test ( output ) ) {
81
+ return
82
+ }
83
+ if ( / \. c s s ( \. m a p ) ? $ / . test ( output ) ) {
84
+ toDelete . add ( output )
85
+ }
86
+ } )
87
+ } )
71
88
72
- // Remove all unecessary or duplicated files from `dist` folder after build
73
- fs . unlink ( './dist/react-tooltip.cjs.css' , ( ) => null ) // generated by cjs build
74
- fs . unlink ( './dist/react-tooltip.esm.css' , ( ) => null ) // generated by esm build
75
- fs . unlink ( './dist/react-tooltip.iife.css' , ( ) => null ) // generated by iife build
76
- fs . unlink ( './dist/react-tooltip.cjs.min.css' , ( ) => null ) // generated by minified cjs build
77
- fs . unlink ( './dist/react-tooltip.esm.min.css' , ( ) => null ) // generated by minified esm build
78
- fs . unlink ( './dist/react-tooltip.iife.min.css' , ( ) => null ) // generated by minified iife build
79
- fs . unlink ( './dist/react-tooltip.js' , ( ) => null ) // generated by css build
80
- fs . unlink ( './dist/react-tooltip.min.js' , ( ) => null ) // generated by minified css build
81
- fs . unlink ( './dist/react-tooltip.cjs.css.map' , ( ) => null ) // generated by cjs build
82
- fs . unlink ( './dist/react-tooltip.esm.css.map' , ( ) => null ) // generated by esm build
83
- fs . unlink ( './dist/react-tooltip.iife.css.map' , ( ) => null ) // generated by iife build
84
- fs . unlink ( './dist/react-tooltip.cjs.min.css.map' , ( ) => null ) // generated by minified cjs build
85
- fs . unlink ( './dist/react-tooltip.esm.min.css.map' , ( ) => null ) // generated by minified esm build
86
- fs . unlink ( './dist/react-tooltip.iife.min.css.map' , ( ) => null ) // generated by minified iife build
87
- fs . unlink ( './dist/react-tooltip.js.map' , ( ) => null ) // generated by css build
88
- fs . unlink ( './dist/react-tooltip.min.js.map' , ( ) => null ) // generated by minified css build
89
+ /**
90
+ * delete the extra build files from the CSS build
91
+ */
92
+ toDelete . add ( 'dist/react-tooltip.js' )
93
+ toDelete . add ( 'dist/react-tooltip.js.map' )
94
+
95
+ toDelete . forEach ( ( file ) => {
96
+ fs . unlink ( file , ( ) => null )
97
+ } )
0 commit comments