Add /_spacebar/api/version - resolves #1222

This commit is contained in:
Rory&
2026-02-25 10:49:05 +01:00
parent 1d0e9c3501
commit 0a1e4e9d6b
4 changed files with 57 additions and 27 deletions
+1 -26
View File
@@ -29,37 +29,12 @@ import { config } from "dotenv";
config({ quiet: true });
import { execSync } from "child_process";
import { centerString, Logo } from "@spacebar/util";
import { centerString, getRevInfoOrFail, Logo } from "@spacebar/util";
import fs from "fs";
import path from "path";
const cores = process.env.THREADS ? parseInt(process.env.THREADS) : 1;
function getRevInfoOrFail(): { rev: string | null; lastModified: number } {
const rootDir = path.join(__dirname, "../../");
// sanity check
if (!fs.existsSync(path.join(rootDir, "package.json"))) {
console.log(red("Error: Cannot find package.json in root directory. Are you running from the correct location?"));
}
// use .rev file if it exists
if (fs.existsSync(path.join(__dirname, "../../.rev"))) {
return JSON.parse(fs.readFileSync(path.join(rootDir, ".rev"), "utf-8"));
}
// fall back to invoking git
try {
const rev = execSync(`git -C "${rootDir}" rev-parse HEAD`).toString().trim();
const lastModified = Number(execSync(`git -C "${rootDir}" log -1 --format=%cd --date=unix`).toString().trim());
return {
rev,
lastModified,
};
} catch (e) {
return { rev: null, lastModified: 0 };
}
}
if (cluster.isPrimary) {
const revInfo = getRevInfoOrFail();
Logo.printLogo().then(() => {