{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/util/utils.ts"],"sourcesContent":["import type { AnyPadroneCommand } from '../types/index.ts';\n\nexport function getRootCommand(cmd: AnyPadroneCommand): AnyPadroneCommand {\n  let current = cmd;\n  while (current.parent) current = current.parent;\n  return current;\n}\n\nasync function readVersionFromPackageJson(): Promise<string> {\n  try {\n    const fs = await import('node:fs');\n    const path = await import('node:path');\n    let dir = process.cwd();\n\n    // Walk up the directory tree looking for package.json\n    for (let i = 0; i < 10; i++) {\n      const pkgPath = path.join(dir, 'package.json');\n      if (fs.existsSync(pkgPath)) {\n        const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));\n        if (pkg.version) return pkg.version;\n      }\n      const parentDir = path.dirname(dir);\n      if (parentDir === dir) break; // Reached root\n      dir = parentDir;\n    }\n  } catch {\n    // Ignore errors (e.g., fs not available in browser)\n  }\n  return '0.0.0';\n}\n\n/**\n * Attempts to get the version from various sources:\n * 1. Explicit version set on the command\n * 2. npm_package_version environment variable (set by npm/yarn/pnpm when running scripts)\n * 3. package.json in current or parent directories\n *\n * Returns synchronously when an explicit version or env var is available.\n * Falls back to async package.json discovery otherwise.\n */\nexport function getVersion(explicitVersion?: string): string | Promise<string> {\n  if (explicitVersion) return explicitVersion;\n\n  if (typeof process !== 'undefined' && process.env?.npm_package_version) {\n    return process.env.npm_package_version;\n  }\n\n  if (typeof process !== 'undefined') return readVersionFromPackageJson();\n\n  return '0.0.0';\n}\n"],"mappings":";AAEA,SAAgB,eAAe,KAA2C;CACxE,IAAI,UAAU;CACd,OAAO,QAAQ,QAAQ,UAAU,QAAQ;CACzC,OAAO;AACT;AAEA,eAAe,6BAA8C;CAC3D,IAAI;EACF,MAAM,KAAK,MAAM,OAAO;EACxB,MAAM,OAAO,MAAM,OAAO;EAC1B,IAAI,MAAM,QAAQ,IAAI;EAGtB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;GAC3B,MAAM,UAAU,KAAK,KAAK,KAAK,cAAc;GAC7C,IAAI,GAAG,WAAW,OAAO,GAAG;IAC1B,MAAM,MAAM,KAAK,MAAM,GAAG,aAAa,SAAS,OAAO,CAAC;IACxD,IAAI,IAAI,SAAS,OAAO,IAAI;GAC9B;GACA,MAAM,YAAY,KAAK,QAAQ,GAAG;GAClC,IAAI,cAAc,KAAK;GACvB,MAAM;EACR;CACF,QAAQ,CAER;CACA,OAAO;AACT;;;;;;;;;;AAWA,SAAgB,WAAW,iBAAoD;CAC7E,IAAI,iBAAiB,OAAO;CAE5B,IAAI,OAAO,YAAY,eAAe,QAAQ,KAAK,qBACjD,OAAO,QAAQ,IAAI;CAGrB,IAAI,OAAO,YAAY,aAAa,OAAO,2BAA2B;CAEtE,OAAO;AACT"}