import { app } from 'electron';

/**
 * Семантическая версия приложения: из упакованного приложения — `app.getVersion()` (= `version` из package.json),
 * в dev при запуске через npm — обычно то же; иначе fallback на `npm_package_version` / `0.0.0`.
 */
export function getAppSemanticVersion(): string {
  try {
    const v = app.getVersion();
    if (typeof v === 'string' && v.trim().length > 0) {
      return v.trim();
    }
  } catch {
    /* вне процесса Electron */
  }
  const fromEnv = process.env.npm_package_version?.trim();
  return fromEnv !== undefined && fromEnv.length > 0 ? fromEnv : '0.0.0';
}

/** Необязательный номер сборки из CI (`DND_BUILD_NUMBER`). */
export function getOptionalBuildNumber(): string | null {
  const b = process.env.DND_BUILD_NUMBER?.trim();
  return b && b.length > 0 ? b : null;
}
