farmcontrol-server/src/serverVersion.js
Tom Butcher 9f927b1ef5
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Enhance build process and server version management
Refactor build-linux-bundle.mjs to include package version and build number from environment variables and package.json. Update headless.js to streamline initialization and improve error handling. Introduce serverVersion.js to centralize version information retrieval, replacing redundant code in localserver.js. Enhance logging in index.js to display build number and version more clearly.
2026-07-26 23:27:08 +01:00

30 lines
757 B
JavaScript

import { readFileSync } from "node:fs";
const readJsonFile = (fileUrl) => {
try {
return JSON.parse(readFileSync(fileUrl, "utf8"));
} catch {
return {};
}
};
const packageJsonUrl = new URL("../package.json", import.meta.url);
const buildInfoUrl = new URL("./buildInfo.json", import.meta.url);
export const getServerVersionInfo = () => {
if (process.env.FC_PACKAGE_VERSION && process.env.FC_BUILD_NUMBER) {
return {
version: process.env.FC_PACKAGE_VERSION,
buildNumber: process.env.FC_BUILD_NUMBER,
};
}
const packageJson = readJsonFile(packageJsonUrl);
const buildInfo = readJsonFile(buildInfoUrl);
return {
version: packageJson.version ?? "dev",
buildNumber: buildInfo.buildNumber ?? "dev",
};
};