* 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("+");
 | 
						|
}
 |