diff --git a/bundle/scripts/benchmark/connections.js b/bundle/scripts/benchmark/connections.js
deleted file mode 100644
index 661548c3..00000000
--- a/bundle/scripts/benchmark/connections.js
+++ /dev/null
@@ -1,64 +0,0 @@
-require("dotenv").config();
-const cluster = require("cluster");
-const WebSocket = require("ws");
-const endpoint = process.env.GATEWAY || "ws://localhost:3001";
-const connections = Number(process.env.CONNECTIONS) || 50;
-const token = process.env.TOKEN;
-let cores = 1;
-try {
- cores = Number(process.env.THREADS) || os.cpus().length;
-} catch {
- console.log("[Bundle] Failed to get thread count! Using 1...")
-}
-
-if (!token) {
- console.error("TOKEN env var missing");
- process.exit();
-}
-
-if (cluster.isMaster) {
- for (let i = 0; i < threads; i++) {
- cluster.fork();
- }
-
- cluster.on("exit", (worker, code, signal) => {
- console.log(`worker ${worker.process.pid} died`);
- });
-} else {
- for (let i = 0; i < connections; i++) {
- connect();
- }
-}
-
-function connect() {
- const client = new WebSocket(endpoint);
- client.on("message", (data) => {
- data = JSON.parse(data);
-
- switch (data.op) {
- case 10:
- client.interval = setInterval(() => {
- client.send(JSON.stringify({ op: 1 }));
- }, data.d.heartbeat_interval);
-
- client.send(
- JSON.stringify({
- op: 2,
- d: {
- token,
- properties: {},
- },
- })
- );
-
- break;
- }
- });
- client.once("close", (code, reason) => {
- clearInterval(client.interval);
- connect();
- });
- client.on("error", (err) => {
- // console.log(err);
- });
-}
diff --git a/bundle/scripts/benchmark/index.js b/bundle/scripts/benchmark/index.js
deleted file mode 100644
index 37ac5633..00000000
--- a/bundle/scripts/benchmark/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-require("dotenv").config();
-
-require("./connections");
-require("./messages");
diff --git a/bundle/scripts/benchmark/users.js b/bundle/scripts/benchmark/users.js
deleted file mode 100644
index bce67bf4..00000000
--- a/bundle/scripts/benchmark/users.js
+++ /dev/null
@@ -1,25 +0,0 @@
-require("dotenv").config();
-const fetch = require("node-fetch");
-const count = Number(process.env.COUNT) || 50;
-const endpoint = process.env.API || "http://localhost:3001";
-
-async function main() {
- for (let i = 0; i < count; i++) {
- fetch(`${endpoint}/api/auth/register`, {
- method: "POST",
- body: JSON.stringify({
- fingerprint: `${i}.wR8vi8lGlFBJerErO9LG5NViJFw`,
- username: `test${i}`,
- invite: null,
- consent: true,
- date_of_birth: "2000-01-01",
- gift_code_sku_id: null,
- captcha_key: null,
- }),
- headers: { "content-type": "application/json" },
- });
- console.log(i);
- }
-}
-
-main();
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/depcheck.js b/bundle/scripts/depcheck.js
deleted file mode 100644
index 1957f794..00000000
--- a/bundle/scripts/depcheck.js
+++ /dev/null
@@ -1,56 +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");
-
-let npmi_extra_flags = "";
-
-const resolveminor = argv.includes("resolveminor");
-if(argv.includes("nobuild")) npmi_extra_flags += "--ignore-scripts ";
-
-parts.forEach((part) => {
- let partDir = path.join(__dirname, "..", "..", part);
- let distDir = path.join(partDir, "dist");
- console.log(`Checking updates for ${part} (${partDir})`);
- if(part == "bundle") {
- execIn(`npm run syncdeps`, partDir)
- }
- if(resolveminor) {
- fs.rmSync(path.join(partDir, "node_modules"), {
- recursive: true,
- force: true,
- });
- execIn(`npm i --save --no-fund --no-audit --no-package-lock ${npmi_extra_flags}`, partDir)
- }
- let x = [
- [
- "pkg",
- {
- current: "1.0",
- wanted: "2.0",
- latest: "2.0",
- dependent: "cdn",
- location: "/usr/src/fosscord/bundle/node_packages/pkg",
- },
- ],
- ];
- x = Object.entries(
- JSON.parse(execIn("npm outdated --json", partDir))
- );
- x.forEach((a) => {
- let pkgname = a[0];
- let pkginfo = a[1];
- if(!pkginfo.current)
- console.log(`MISSING ${pkgname}: ${pkginfo.current} -> ${pkginfo.wanted} (latest: ${pkginfo.latest})`);
- else if(pkginfo.latest != pkginfo.wanted){
- if(pkginfo.current != pkginfo.wanted)
- console.log(`MINOR ${pkgname}: ${pkginfo.current} -> ${pkginfo.wanted}`);
- console.log(`MAJOR ${pkgname}: ${pkginfo.current} -> ${pkginfo.latest}`);
- }
- else
- console.log(`MINOR ${pkgname}: ${pkginfo.current} -> ${pkginfo.wanted}`);
- });
-});
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/rights.js b/bundle/scripts/rights.js
deleted file mode 100644
index c363b0c5..00000000
--- a/bundle/scripts/rights.js
+++ /dev/null
@@ -1,34 +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");
-
-let lines = fs.readFileSync(path.join(__dirname, "..", "..", "util", "src","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())
-
-function BitFlag(int) {
- return 1n << eval(`${int}n`);
-}
-
-let rights = []
-let maxRights = 0n;
-lines4.forEach(x=>{
- maxRights += eval(`rights.${x.replace(':'," = ").replace(",",";")}`)
-})
-//max rights...
-console.log(`Maximum rights: ${maxRights}`);
-//discord rights...
-discordRights = maxRights;
-discordRights -= rights.SEND_BACKDATED_EVENTS;
-discordRights -= rights.MANAGE_GUILD_DIRECTORY;
-discordRights -= rights.CREDITABLE;
-discordRights -= rights.BYPASS_RATE_LIMITS;
-discordRights -= rights.ADD_MEMBERS;
-discordRights -= rights.MANAGE_RATE_LIMITS;
-discordRights -= rights.OPERATOR;
-console.log(`Discord-like rights: ${discordRights}`);
\ No newline at end of file
diff --git a/bundle/scripts/utils.js b/bundle/scripts/utils.js
deleted file mode 100644
index bf960532..00000000
--- a/bundle/scripts/utils.js
+++ /dev/null
@@ -1,53 +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 parts = ["api", "util", "cdn", "gateway", "bundle"];
-
-function copyRecursiveSync(src, dest) {
- //if (verbose) console.log(`cpsync: ${src} -> ${dest}`);
- let exists = fs.existsSync(src);
- if (!exists) {
- console.log(src + " doesn't exist, not copying!");
- return;
- }
- let stats = exists && fs.statSync(src);
- let 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);
- }
-}
-
-function execIn(cmd, workdir) {
- try {
- return execSync(cmd, {
- cwd: workdir,
- shell: true,
- env: process.env,
- encoding: "utf-8",
- });
- } catch (error) {
- return error.stdout;
- }
-}
-
-function getLines(output) {
- return output.split("\n").length;
-}
-
-module.exports = {
- //consts
- parts,
- //functions
- copyRecursiveSync, execIn, getLines
-};
|