diff --git a/bundle/src/Server.ts b/bundle/src/Server.ts
index 3a56ee2e..1596d54f 100644
--- a/bundle/src/Server.ts
+++ b/bundle/src/Server.ts
@@ -6,6 +6,7 @@ import { FosscordServer as APIServer } from "@fosscord/api";
import { Server as GatewayServer } from "@fosscord/gateway";
import { CDNServer } from "@fosscord/cdn/";
import express from "express";
+import { red, green, bold } from "nanocolors";
import { Config, initDatabase } from "@fosscord/util";
const app = express();
@@ -58,7 +59,7 @@ async function main() {
} as any);
await Promise.all([api.start(), cdn.start(), gateway.start()]);
- console.log(`[Server] listening on port ${port}`);
+ console.log(`[Server] ${green(`listening on port ${bold(port)}`)}`);
}
main().catch(console.error);
diff --git a/bundle/src/start.ts b/bundle/src/start.ts
index be67a122..353ebfc6 100644
--- a/bundle/src/start.ts
+++ b/bundle/src/start.ts
@@ -1,13 +1,52 @@
// process.env.MONGOMS_DEBUG = "true";
import cluster from "cluster";
import os from "os";
+import { red, bold, yellow, cyan } from "nanocolors";
import { initStats } from "./stats";
import { config } from "dotenv";
config();
+import { execSync } from "child_process";
// TODO: add tcp socket event transmission
const cores = 1 || Number(process.env.threads) || os.cpus().length;
+export function getCommitOrFail() {
+ try {
+ return execSync("git rev-parse HEAD").toString().trim();
+ } catch (e) {
+ return null;
+ }
+}
+const commit = getCommitOrFail();
+
+console.log(
+ bold(`
+███████ ██████ ███████ ███████ ██████ ██████ ██████ ██████
+██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+█████ ██ ██ ███████ ███████ ██ ██ ██ ██████ ██ ██
+██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+██ ██████ ███████ ███████ ██████ ██████ ██ ██ ██████
+
+
+ fosscord-server | ${yellow(
+ `Pre-relase (${
+ commit !== null
+ ? commit.slice(0, 7)
+ : "Unknown (Git cannot be found)"
+ })`
+ )}
+
+Current commit: ${
+ commit !== null
+ ? `${cyan(commit)} (${yellow(commit.slice(0, 7))})`
+ : "Unknown (Git cannot be found)"
+ }
+`)
+);
+
+if (commit == null)
+ console.log(yellow(`Warning: Git is not installed or not in PATH.`));
+
if (cluster.isMaster && !process.env.masterStarted) {
process.env.masterStarted = "true";
@@ -26,7 +65,9 @@ if (cluster.isMaster && !process.env.masterStarted) {
cluster.on("exit", (worker: any, code: any, signal: any) => {
console.log(
- `[Worker] died with pid: ${worker.process.pid} , restarting ...`
+ `[Worker] ${red(
+ `died with pid: ${worker.process.pid} , restarting ...`
+ )}`
);
cluster.fork();
});
|