| 
 | 1 | +const fs = require('fs');  | 
 | 2 | +const { exec } = require('child_process');  | 
 | 3 | +const path = require('path');  | 
 | 4 | + | 
 | 5 | +const dbFolderPath = path.join(__dirname, 'db');  | 
 | 6 | +const fileNames = ['account-settings.db']; // Add more file names as needed  | 
 | 7 | + | 
 | 8 | +// Step one: Delete and recreate the files  | 
 | 9 | +function deleteAndRecreateFiles() {  | 
 | 10 | +    return new Promise((resolve, reject) => {  | 
 | 11 | +        const deletePromises = fileNames.map((fileName) => {  | 
 | 12 | +            const filePath = path.join(dbFolderPath, fileName);  | 
 | 13 | + | 
 | 14 | +            return new Promise((resolve, reject) => {  | 
 | 15 | +                fs.unlink(filePath, (err) => {  | 
 | 16 | +                    if (err && !fs.existsSync(filePath)) {  | 
 | 17 | +                        console.error('Error deleting file:', err);  | 
 | 18 | +                        reject(err);  | 
 | 19 | +                        return;  | 
 | 20 | +                    }  | 
 | 21 | +                    fs.writeFile(filePath, '', (err) => {  | 
 | 22 | +                        if (err) {  | 
 | 23 | +                            console.error('Error recreating file:', err);  | 
 | 24 | +                            reject(err);  | 
 | 25 | +                            return;  | 
 | 26 | +                        }  | 
 | 27 | +                        console.log('Recreated file:', filePath);  | 
 | 28 | +                        resolve();  | 
 | 29 | +                    });  | 
 | 30 | +                });  | 
 | 31 | +            });  | 
 | 32 | +        });  | 
 | 33 | + | 
 | 34 | +        Promise.all(deletePromises)  | 
 | 35 | +            .then(() => {  | 
 | 36 | +                resolve();  | 
 | 37 | +            })  | 
 | 38 | +            .catch((error) => {  | 
 | 39 | +                reject(error);  | 
 | 40 | +            });  | 
 | 41 | +    });  | 
 | 42 | +}  | 
 | 43 | + | 
 | 44 | +// Step two: Run 'yarn run build' script  | 
 | 45 | +function runBuildScript() {  | 
 | 46 | +    return new Promise((resolve, reject) => {  | 
 | 47 | +        exec('yarn run build', (error, stdout, stderr) => {  | 
 | 48 | +            if (error) {  | 
 | 49 | +                console.error(`Error executing 'yarn run build' command: ${error.message}`);  | 
 | 50 | +                reject(error);  | 
 | 51 | +                return;  | 
 | 52 | +            }  | 
 | 53 | +            if (stderr) {  | 
 | 54 | +                console.error(`Command error: ${stderr}`);  | 
 | 55 | +                reject(stderr);  | 
 | 56 | +                return;  | 
 | 57 | +            }  | 
 | 58 | +            console.log(`Command output: ${stdout}`);  | 
 | 59 | +            resolve();  | 
 | 60 | +        });  | 
 | 61 | +    });  | 
 | 62 | +}  | 
 | 63 | + | 
 | 64 | +// Execute the steps sequentially  | 
 | 65 | +deleteAndRecreateFiles()  | 
 | 66 | +    .then(() => runBuildScript())  | 
 | 67 | +    .then(() => {  | 
 | 68 | +        console.log('Build script completed successfully.');  | 
 | 69 | +    })  | 
 | 70 | +    .catch((error) => {  | 
 | 71 | +        console.error('Error encountered:', error);  | 
 | 72 | +    });  | 
0 commit comments