summary refs log tree commit diff
path: root/bundle/scripts
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-15 11:13:21 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-15 11:13:21 +0200
commit1a94fb1208bf0e4c669cad16aff5f57dc0bf7a3c (patch)
tree1035116ddbaacc5fcc5ae250a6592eb88f78f75c /bundle/scripts
parentDo the funny thing (make user->invite cascade delet) (diff)
parentchange dev panel path, we missed this one... (diff)
downloadserver-1a94fb1208bf0e4c669cad16aff5f57dc0bf7a3c.tar.xz
Merge branch 'dev/restructure' into staging
Diffstat (limited to '')
-rw-r--r--bundle/scripts/build.js93
-rwxr-xr-xbundle/scripts/db_migrations.sh32
-rw-r--r--bundle/scripts/depclean.js65
-rw-r--r--bundle/scripts/install.js23
-rw-r--r--scripts/benchmark/connections.js (renamed from bundle/scripts/benchmark/connections.js)0
-rw-r--r--scripts/benchmark/index.js (renamed from bundle/scripts/benchmark/index.js)0
-rw-r--r--scripts/benchmark/users.js (renamed from bundle/scripts/benchmark/users.js)0
-rw-r--r--scripts/depcheck.js (renamed from bundle/scripts/depcheck.js)2
-rw-r--r--scripts/rights.js (renamed from bundle/scripts/rights.js)2
-rw-r--r--scripts/utils.js (renamed from bundle/scripts/utils.js)6
10 files changed, 4 insertions, 219 deletions
diff --git a/bundle/scripts/build.js b/bundle/scripts/build.js
deleted file mode 100644

index f53a2223..00000000 --- a/bundle/scripts/build.js +++ /dev/null
@@ -1,93 +0,0 @@ -const { execSync } = require("child_process"); -const path = require("path"); -const fs = require("fs"); -const { getSystemErrorMap } = require("util"); -const { argv, stdout, exit } = require("process"); -const { copyRecursiveSync, execIn, parts } = require('./utils'); - -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 - silent No output to console or files.`); - exit(0); -} - -let steps = 3, i = 0; -if (argv.includes("clean")) steps++; -if (argv.includes("copyonly")) steps--; - -const verbose = argv.includes("verbose") || argv.includes("v"); -const logerr = argv.includes("logerrors"); -const pretty = argv.includes("pretty-errors"); -const silent = argv.includes("silent"); - -if(silent) console.error = console.log = function(){} - -if (argv.includes("clean")) { - console.log(`[${++i}/${steps}] Cleaning...`); - parts.forEach((a) => { - let d = "../" + a + "/dist"; - if (fs.existsSync(d)) { - fs.rmSync(d, { recursive: true }); - if (verbose) console.log(`Deleted ${d}!`); - } - }); -} - -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")); -copyRecursiveSync(path.join(__dirname, "..", "..", "api", "locales"), path.join(__dirname, "..", "dist", "api", "locales")); -parts.forEach((a) => { - copyRecursiveSync("../" + a + "/src", "dist/" + a + "/src"); - if (verbose) console.log(`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`); -}); - -if (!argv.includes("copyonly")) { - console.log(`[${++i}/${steps}] Compiling src files ...`); - - let buildFlags = '' - if(pretty) buildFlags += '--pretty ' - - try { - execSync( - 'node "' + - path.join(__dirname, "..", "node_modules", "typescript", "lib", "tsc.js") + - '" -p "' + - path.join(__dirname, "..") + - '" ' + buildFlags, - { - cwd: path.join(__dirname, ".."), - shell: true, - env: process.env, - encoding: "utf8" - } - ) - } catch (error) { - if(verbose || logerr) { - error.stdout.split(/\r?\n/).forEach((line) => { - let _line = line.replace('dist/','',1); - if(!pretty && _line.includes('.ts(')) { - //reformat file path for easy jumping - _line = _line.replace('(',':',1).replace(',',':',1).replace(')','',1) - } - console.error(_line); - }) - } - console.error(`Build failed! Please check build.log for info!`); - if(!silent){ - if(pretty) fs.writeFileSync("build.log.ansi", error.stdout); - fs.writeFileSync("build.log", error.stdout.replaceAll(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '')); - } - } -} \ No newline at end of file diff --git a/bundle/scripts/db_migrations.sh b/bundle/scripts/db_migrations.sh deleted file mode 100755
index b0e1131c..00000000 --- a/bundle/scripts/db_migrations.sh +++ /dev/null
@@ -1,32 +0,0 @@ -#!/bin/sh -read -p "Enter migration filename: " FILENAME -[ -f ".env" ] && ( - mv .env .env.tmp - source .env.tmp -) - -make_migration() { - echo "Creating migrations for $2" - mkdir "../util/src/migrations/$2" - npm run build clean logerrors pretty-errors - THREADS=1 DATABASE="$1" DB_MIGRATE=a npm run start:bundle - THREADS=1 DATABASE="$1" DB_MIGRATE=a npx typeorm-ts-node-commonjs migration:generate "../util/src/migrations/$2/$FILENAME" -d ../util/src/util/Database.ts -p - npm run build clean logerrors pretty-errors - THREADS=1 DATABASE="$1" DB_MIGRATE=a npm run start:bundle -} - -npm i sqlite3 -make_migration "database.db" "sqlite" - -[ -z "$FC_DB_POSTGRES" ] || ( - npm i pg - make_migration "$FC_DB_POSTGRES" "postgres" -) - -[ -z "$FC_DB_MARIADB" ] || ( - npm i mysql2 - make_migration "$FC_DB_MARIADB" "mariadb" -) - -[ -f ".env.tmp" ] && mv .env.tmp .env - diff --git a/bundle/scripts/depclean.js b/bundle/scripts/depclean.js deleted file mode 100644
index 830081b9..00000000 --- a/bundle/scripts/depclean.js +++ /dev/null
@@ -1,65 +0,0 @@ -const path = require("path"); -const fs = require("fs"); -const { env } = require("process"); -const { execSync } = require("child_process"); -const { argv, stdout, exit } = require("process"); - -const { execIn, getLines, parts } = require('./utils'); - -const bundleRequired = ["@ovos-media/ts-transform-paths"]; -const removeModules = argv.includes("cleanup"); - -parts.forEach((part) => { - console.log(`Installing all packages for ${part}...`); - execIn("npm i", path.join(__dirname, "..", "..", part)); -}); - -parts.forEach((part) => { - let partDir = path.join(__dirname, "..", "..", part); - let distDir = path.join(partDir, "dist"); - let start = 0; - start = getLines( - execIn("npm ls --parseable --package-lock-only -a", partDir) - ); - if (fs.existsSync(distDir)) - fs.rmSync(distDir, { - recursive: true, - force: true, - }); - let x = { - dependencies: [], - devDependencies: [], - invalidDirs: [], - invalidFiles: [], - missing: [], - using: [], - }; - let dcproc = execIn("npx depcheck --json", partDir); - if(dcproc.stdout) x = JSON.parse(dcproc.stdout); - else x = JSON.parse(dcproc); - - fs.writeFileSync( - path.join(__dirname, "..", `depclean.out.${part}.json`), - JSON.stringify(x, null, "\t"), - { encoding: "utf8" } - ); - - let depsToRemove = x.dependencies.join(" "); - if (depsToRemove) execIn(`npm r --save ${depsToRemove}`, partDir); - - depsToRemove = x.devDependencies.join(" "); - if (depsToRemove) execIn(`npm r --save --dev ${depsToRemove}`, partDir); - - if (removeModules && fs.existsSync(path.join(partDir, "node_modules"))) - fs.rmSync(path.join(partDir, "node_modules"), { - recursive: true, - force: true, - }); - let end = getLines( - execIn("npm ls --parseable --package-lock-only -a", partDir) - ); - console.log(`${part}: ${start} -> ${end} (diff: ${start - end})`); -}); -console.log("Installing required packages for bundle..."); - -execIn(`npm i --save ${bundleRequired.join(" ")}`, path.join(__dirname, "..")); diff --git a/bundle/scripts/install.js b/bundle/scripts/install.js deleted file mode 100644
index db9dadbc..00000000 --- a/bundle/scripts/install.js +++ /dev/null
@@ -1,23 +0,0 @@ -const path = require("path"); -const fs = require("fs"); -const parts = ["api", "util", "cdn", "gateway"]; - -const bundle = require("../package.json"); - -for (const part of parts) { - const { devDependencies, dependencies } = require(path.join( - "..", - "..", - part, - "package.json" - )); - bundle.devDependencies = { ...bundle.devDependencies, ...devDependencies }; - bundle.dependencies = { ...bundle.dependencies, ...dependencies }; - delete bundle.dependencies["@fosscord/util"]; -} - -fs.writeFileSync( - path.join(__dirname, "..", "package.json"), - JSON.stringify(bundle, null, "\t"), - { encoding: "utf8" } -); diff --git a/bundle/scripts/benchmark/connections.js b/scripts/benchmark/connections.js
index 661548c3..661548c3 100644 --- a/bundle/scripts/benchmark/connections.js +++ b/scripts/benchmark/connections.js
diff --git a/bundle/scripts/benchmark/index.js b/scripts/benchmark/index.js
index 37ac5633..37ac5633 100644 --- a/bundle/scripts/benchmark/index.js +++ b/scripts/benchmark/index.js
diff --git a/bundle/scripts/benchmark/users.js b/scripts/benchmark/users.js
index bce67bf4..bce67bf4 100644 --- a/bundle/scripts/benchmark/users.js +++ b/scripts/benchmark/users.js
diff --git a/bundle/scripts/depcheck.js b/scripts/depcheck.js
index 1957f794..08df156c 100644 --- a/bundle/scripts/depcheck.js +++ b/scripts/depcheck.js
@@ -4,7 +4,7 @@ const { env } = require("process"); const { execSync } = require("child_process"); const { argv, stdout, exit } = require("process"); -const { execIn, getLines, parts } = require("./utils"); +const { execIn, getLines } = require("./utils"); let npmi_extra_flags = ""; diff --git a/bundle/scripts/rights.js b/scripts/rights.js
index c363b0c5..20fd139c 100644 --- a/bundle/scripts/rights.js +++ b/scripts/rights.js
@@ -6,7 +6,7 @@ const { argv, stdout, exit } = require("process"); const { execIn, getLines, parts } = require("./utils"); -let lines = fs.readFileSync(path.join(__dirname, "..", "..", "util", "src","util","Rights.ts")).toString() +let lines = fs.readFileSync(path.join(__dirname, "..", "src", "util", "util","Rights.ts")).toString() let lines2 = lines.split("\n"); let lines3 = lines2.filter(y=>y.includes(": BitFlag(")); let lines4 = lines3.map(x=>x.split("//")[0].trim()) diff --git a/bundle/scripts/utils.js b/scripts/utils.js
index bf960532..84aaeed6 100644 --- a/bundle/scripts/utils.js +++ b/scripts/utils.js
@@ -4,8 +4,6 @@ const { env } = require("process"); const { execSync } = require("child_process"); const { argv, stdout, exit } = require("process"); -const parts = ["api", "util", "cdn", "gateway", "bundle"]; - function copyRecursiveSync(src, dest) { //if (verbose) console.log(`cpsync: ${src} -> ${dest}`); let exists = fs.existsSync(src); @@ -28,13 +26,14 @@ function copyRecursiveSync(src, dest) { } } -function execIn(cmd, workdir) { +function execIn(cmd, workdir, opts) { try { return execSync(cmd, { cwd: workdir, shell: true, env: process.env, encoding: "utf-8", + ...opts }); } catch (error) { return error.stdout; @@ -47,7 +46,6 @@ function getLines(output) { module.exports = { //consts - parts, //functions copyRecursiveSync, execIn, getLines };