import { readFileSync } from "node:fs"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; let cachedVersion: string | undefined; export function getPackageVersion(): string { if (cachedVersion) { return cachedVersion; } const packagePath = join(dirname(fileURLToPath(import.meta.url)), "../package.json"); const raw = readFileSync(packagePath, "utf8"); cachedVersion = (JSON.parse(raw) as { version: string }).version; return cachedVersion; }