@@ -3,6 +3,7 @@ import browserslist from "browserslist";
33import { Buffer } from "node:buffer" ;
44import crypto from "node:crypto" ;
55import fs from "node:fs" ;
6+ import fsp from "node:fs/promises" ;
67import fse from "fs-extra" ;
78import * as htmlmin from "html-minifier-terser" ;
89import * as sass from "sass" ;
@@ -231,7 +232,7 @@ const setSport = () => {
231232 } ) ;
232233} ;
233234
234- const copyFiles = ( watch : boolean = false ) => {
235+ const copyFiles = async ( watch : boolean = false ) => {
235236 const foldersToIgnore = [
236237 "baseball" ,
237238 "basketball" ,
@@ -240,7 +241,7 @@ const copyFiles = (watch: boolean = false) => {
240241 "hockey" ,
241242 ] ;
242243
243- fse . copySync ( "public" , "build" , {
244+ await fse . copy ( "public" , "build" , {
244245 filter : filename => {
245246 // Loop through folders to ignore.
246247 for ( const folder of foldersToIgnore ) {
@@ -263,31 +264,31 @@ const copyFiles = (watch: boolean = false) => {
263264 sport = "basketball" ;
264265 }
265266
266- fse . copySync ( path . join ( "public" , sport ) , "build" , {
267+ await fse . copy ( path . join ( "public" , sport ) , "build" , {
267268 filter : filename => ! filename . includes ( ".gitignore" ) ,
268269 } ) ;
269270
270271 // Remove the empty folders created by the "filter" function.
271272 for ( const folder of foldersToIgnore ) {
272- fs . rmSync ( `build/${ folder } ` , { recursive : true , force : true } ) ;
273+ await fsp . rm ( `build/${ folder } ` , { recursive : true , force : true } ) ;
273274 }
274275
275276 const realPlayerFilenames = [ "real-player-data" , "real-player-stats" ] ;
276277 for ( const filename of realPlayerFilenames ) {
277278 const sourcePath = path . join ( "data" , `${ filename } .${ sport } .json` ) ;
278279 if ( fs . existsSync ( sourcePath ) ) {
279- fse . copySync ( sourcePath , `build/gen/${ filename } .json` ) ;
280+ await fse . copy ( sourcePath , `build/gen/${ filename } .json` ) ;
280281 }
281282 }
282283
283- fse . copySync ( "data/names.json" , "build/gen/names.json" ) ;
284- fse . copySync ( "data/names-female.json" , "build/gen/names-female.json" ) ;
284+ await fse . copy ( "data/names.json" , "build/gen/names.json" ) ;
285+ await fse . copy ( "data/names-female.json" , "build/gen/names-female.json" ) ;
285286
286- fse . copySync ( "node_modules/flag-icons/flags/4x3" , "build/img/flags" ) ;
287+ await fse . copy ( "node_modules/flag-icons/flags/4x3" , "build/img/flags" ) ;
287288 const flagHtaccess = `<IfModule mod_headers.c>
288289 Header set Cache-Control "public,max-age=31536000"
289290</IfModule>` ;
290- fs . writeFileSync ( "build/img/flags/.htaccess" , flagHtaccess ) ;
291+ await fsp . writeFile ( "build/img/flags/.htaccess" , flagHtaccess ) ;
291292
292293 setSport ( ) ;
293294} ;
@@ -305,9 +306,9 @@ const genRev = () => {
305306 return `${ year } .${ month } .${ day } .${ minutes } ` ;
306307} ;
307308
308- const reset = ( ) => {
309- fs . rmSync ( "build" , { recursive : true , force : true } ) ;
310- fs . mkdirSync ( "build/gen" , { recursive : true } ) ;
309+ const reset = async ( ) => {
310+ await fsp . rm ( "build" , { recursive : true , force : true } ) ;
311+ await fsp . mkdir ( "build/gen" , { recursive : true } ) ;
311312} ;
312313
313314const setTimestamps = ( rev : string , watch : boolean = false ) => {
0 commit comments