@@ -2,25 +2,48 @@ const minify = require("html-minifier").minify;
22const fs = require ( "fs-extra" ) ;
33const path = require ( "path" ) ;
44
5+
56const projectRoot = path . join ( __dirname , ".." )
7+ const resources = path . join ( projectRoot , "resources" ) ;
68const dist = path . join ( projectRoot , "dist" ) ;
79const src = path . join ( projectRoot , "src" ) ;
8- const assets = [
10+
11+ const assets = { }
12+ assets [ dist ] = [
913 "flow-debugger.html" ,
1014 "locales"
11- ] ;
15+ ]
16+ assets [ resources ] = [
17+ "style.css"
18+ ]
1219
13- ( async function ( ) {
20+ async function copyStaticAssets ( dist , assets ) {
1421 await fs . mkdir ( dist , { recursive : true } ) ;
1522 for ( let i = 0 ; i < assets . length ; i ++ ) {
1623 if ( / \. h t m l / . test ( assets [ i ] ) ) {
1724 const content = await fs . readFile ( path . join ( src , assets [ i ] ) , "utf-8" )
1825 await fs . writeFile ( path . join ( dist , assets [ i ] ) , minify ( content , { minifyCSS : true , minifyJS : true } ) )
26+ } else if ( / \. j s / . test ( assets [ i ] ) ) {
27+ await fs . copy ( path . join ( src , assets [ i ] ) , path . join ( dist , assets [ i ] ) )
28+ } else if ( / \. c s s / . test ( assets [ i ] ) ) {
29+ const rawCSS = await fs . readFile ( path . join ( src , assets [ i ] ) , "utf-8" ) ;
30+ const minifiedCSS = minify ( "<style>" + rawCSS + "</style>" , { minifyCSS : true } ) ;
31+ const finalCSS = minifiedCSS . substring ( 7 , minifiedCSS . length - 8 )
32+ await fs . writeFile ( path . join ( dist , assets [ i ] ) , finalCSS )
1933 } else {
2034 await fs . mkdir ( path . join ( dist , assets [ i ] ) , { recursive : true } ) ;
2135 await fs . copy ( path . join ( src , assets [ i ] ) , path . join ( dist , assets [ i ] ) )
2236 }
2337 }
38+ }
39+
40+
41+
42+ ( async function ( ) {
43+ const destinations = Object . keys ( assets ) ;
44+ for ( let i = 0 , l = destinations . length ; i < l ; i ++ ) {
45+ await copyStaticAssets ( destinations [ i ] , assets [ destinations [ i ] ] ) ;
46+ }
2447} ) ( ) . catch ( err => {
2548 console . error ( err ) ;
2649 process . exit ( 1 ) ;
0 commit comments