
* web: Check JS files. Add types. * web: Fix issues surrounding Vite/ESBuild types. * web: Clean up version constants. Tidy types * web: Clean up docs, types. * web: Clean up package paths. * web: (ESLint) no-lonely-if * web: Render slot before navbar. * web: Fix line-height alignment. * web: Truncate long headers. * web: Clean up page header declarations. Add story. Update paths. * web: Ignore out directory. * web: Lint Lit. * web: Use private alias. * web: Fix implicit CJS mode. * web: Update deps. * web: await all imports.
55 lines
1.3 KiB
JavaScript
55 lines
1.3 KiB
JavaScript
/**
|
|
* @file Utility functions for working with semantic versions.
|
|
*
|
|
* @runtime node
|
|
*/
|
|
import { MonoRepoRoot } from "#paths/node";
|
|
import { execSync } from "node:child_process";
|
|
|
|
import PackageJSON from "../../../../package.json" with { type: "json" };
|
|
|
|
/**
|
|
* The current version of authentik in SemVer format.
|
|
*
|
|
* @runtime node
|
|
*/
|
|
export const AuthentikVersion = /**@type {`${number}.${number}.${number}`} */ (PackageJSON.version);
|
|
|
|
/**
|
|
* Reads the last commit hash from the current git repository.
|
|
*
|
|
* @runtime node
|
|
*/
|
|
export function readGitBuildHash() {
|
|
try {
|
|
const commit = execSync("git rev-parse HEAD", {
|
|
encoding: "utf8",
|
|
cwd: MonoRepoRoot,
|
|
})
|
|
.toString()
|
|
.trim();
|
|
|
|
return commit;
|
|
} catch (_error) {
|
|
console.debug("Git commit could not be read.");
|
|
}
|
|
|
|
return process.env.GIT_BUILD_HASH || "";
|
|
}
|
|
|
|
/**
|
|
* Reads the build identifier for the current environment.
|
|
*
|
|
* This must match the behavior defined in authentik's server-side `get_full_version` function.
|
|
*
|
|
* @runtime node
|
|
* @see {@link "authentik\_\_init\_\_.py"}
|
|
*/
|
|
export function readBuildIdentifier() {
|
|
const { GIT_BUILD_HASH } = process.env;
|
|
|
|
if (!GIT_BUILD_HASH) return AuthentikVersion;
|
|
|
|
return [AuthentikVersion, GIT_BUILD_HASH].join("+");
|
|
}
|