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