Skip to content

Commit b9c5705

Browse files
author
pseudocode88
committed
Add build file to clean up db before compiling
1 parent 9887240 commit b9c5705

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed

build.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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+
});

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
],
1010
"scripts": {
1111
"start": "electron .",
12-
"build": "electron-forge package"
12+
"build": "electron-forge package",
13+
"ship": "node build.js"
1314
},
1415
"author": "pseudocode88",
1516
"license": "ISC",

0 commit comments

Comments
 (0)