monkeytype/backend/src/version.ts
Bruce Berrios 616e26b5c5
Add version commit hash (#3286)
* Add version commit hash

* Add frontend client hash

* Remove export
2022-07-02 18:49:13 +02:00

38 lines
1,013 B
TypeScript

import { join } from "path";
import { padNumbers } from "./utils/misc";
import { readFileSync, writeFileSync, existsSync } from "fs";
const SERVER_VERSION_FILE_PATH = join(__dirname, "./server.version");
const { COMMIT_HASH = "NO_HASH" } = process.env;
function getDateVersion(): string {
const date = new Date();
const versionPrefix = [
date.getFullYear(),
date.getMonth() + 1,
date.getDate(),
];
const versionSuffix = [date.getHours(), date.getMinutes()];
return [versionPrefix, versionSuffix]
.map((versionPart) => padNumbers(versionPart, 2, "0").join("."))
.join("_");
}
function getVersion(): string {
if (process.env.MODE === "dev") {
return "DEVELOPMENT-VERSION";
}
if (existsSync(SERVER_VERSION_FILE_PATH)) {
return readFileSync(SERVER_VERSION_FILE_PATH, "utf-8");
}
const serverVersion = `${getDateVersion()}.${COMMIT_HASH}`;
writeFileSync(SERVER_VERSION_FILE_PATH, serverVersion);
return serverVersion;
}
export const version = getVersion();