summary refs log tree commit diff
path: root/bundle/scripts/build.js
diff options
context:
space:
mode:
Diffstat (limited to 'bundle/scripts/build.js')
-rw-r--r--bundle/scripts/build.js44
1 files changed, 21 insertions, 23 deletions
diff --git a/bundle/scripts/build.js b/bundle/scripts/build.js

index f73fb11a..8a1b3c83 100644 --- a/bundle/scripts/build.js +++ b/bundle/scripts/build.js
@@ -2,39 +2,32 @@ const { execSync } = require("child_process"); const path = require("path"); const fs = require("fs"); const { getSystemErrorMap } = require("util"); -const { argv } = require("process"); +const { argv, stdout, exit } = require("process"); +const {copyRecursiveSync,execIn} = require('./utils'); -var steps = 2, i = 0; +if(argv.includes("help")) { + console.log(`Fosscord build script help: + +Arguments: + clean Cleans up previous builds + copyonly Only copy source files, don't build (useful for updating assets) + verbose Enable verbose logging + logerrors Log build errors to console + pretty-errors Pretty-print build errors`); + exit(0); +} + +let steps = 3, i = 0; if (argv.includes("clean")) steps++; if (argv.includes("copyonly")) steps--; const dirs = ["api", "util", "cdn", "gateway", "bundle"]; const verbose = argv.includes("verbose") || argv.includes("v"); -var copyRecursiveSync = function(src, dest) { - if(verbose) console.log(`cpsync: ${src} -> ${dest}`); - var exists = fs.existsSync(src); - if(!exists){ - console.log(src + " doesn't exist, not copying!"); - return; - } - var stats = exists && fs.statSync(src); - var isDirectory = exists && stats.isDirectory(); - if (isDirectory) { - fs.mkdirSync(dest, {recursive: true}); - fs.readdirSync(src).forEach(function(childItemName) { - copyRecursiveSync(path.join(src, childItemName), - path.join(dest, childItemName)); - }); - } else { - fs.copyFileSync(src, dest); - } - }; - if (argv.includes("clean")) { console.log(`[${++i}/${steps}] Cleaning...`); dirs.forEach((a) => { - var d = "../" + a + "/dist"; + let d = "../" + a + "/dist"; if (fs.existsSync(d)) { fs.rmSync(d, { recursive: true }); if (verbose) console.log(`Deleted ${d}!`); @@ -42,6 +35,11 @@ if (argv.includes("clean")) { }); } +console.log(`[${++i}/${steps}] Checking if dependencies were installed correctly...`); +//exif-be-gone v1.3.0 doesnt build js, known bug +if(!fs.existsSync(path.join(__dirname, "..", "node_modules", "exif-be-gone", "index.js"))) + execIn("npm run build", path.join(__dirname, "..", "node_modules", "exif-be-gone")); + console.log(`[${++i}/${steps}] Copying src files...`); copyRecursiveSync(path.join(__dirname, "..", "..", "api", "assets"), path.join(__dirname, "..", "dist", "api", "assets")); copyRecursiveSync(path.join(__dirname, "..", "..", "api", "client_test"), path.join(__dirname, "..", "dist", "api", "client_test"));