summary refs log tree commit diff
path: root/scripts/build_new.js
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-19 18:53:25 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-19 19:07:10 +0200
commit9071cbdc25e97153086ac48bd389b04c43e56458 (patch)
tree8b6685ad362f9906fbc7fafcea5d2157c4d8d998 /scripts/build_new.js
parentMerge remote-tracking branch 'Puyodead1/patch/prettier-config' into staging (diff)
downloadserver-9071cbdc25e97153086ac48bd389b04c43e56458.tar.xz
Updates scripts and tests from dev/plugins
Diffstat (limited to 'scripts/build_new.js')
-rw-r--r--scripts/build_new.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/build_new.js b/scripts/build_new.js
new file mode 100644

index 00000000..6a56e7f7 --- /dev/null +++ b/scripts/build_new.js
@@ -0,0 +1,31 @@ +const { execSync } = require("child_process"); +const path = require("path"); +const fs = require("fs"); +const { argv, stdout, exit } = require("process"); +const { execIn, parts, getDirs, walk, sanitizeVarName } = require("./utils"); + +//file paths +const rootDir = path.join(__dirname, ".."); +const srcDir = path.join(rootDir, "src"); +const distDir = path.join(rootDir, "dist"); +const scriptsDir = path.join(rootDir, "scripts"); +const configPath = path.join(rootDir, "build.json"); +const buildLog = path.join(rootDir, "build.log"); +const buildLogAnsi = path.join(rootDir, "build.log.ansi"); +const pluginDir = path.join(srcDir, "plugins"); + +//more, dont export +const buildStepDir = path.join(scriptsDir, "build"); + +if (!fs.existsSync(configPath)) { + if (!fs.existsSync(path.join(configPath + ".default"))) { + console.log("build.json.default not found! Exiting!"); + exit(1); + } + fs.copyFileSync(configPath + ".default", configPath); +} +let config = { rootDir, srcDir, distDir, configPath, buildLog, buildLogAnsi, pluginDir, ...require(configPath) }; + +config.steps.pre.forEach((step) => require(path.join(buildStepDir, step))(config)); +require(path.join(buildStepDir, "compile_" + config.compiler))(config); +config.steps.post.forEach((step) => require(path.join(buildStepDir, step))(config));