mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-11-11 22:51:35 +08:00
* impr: add authorization header Uid in favour of authorization on with body on dev (fehmer) * refactor dev mode detection
38 lines
1,023 B
TypeScript
38 lines
1,023 B
TypeScript
import { join } from "path";
|
|
import { isDevEnvironment, 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 (isDevEnvironment()) {
|
|
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();
|