import os from "node:os";
import path from "node:path";

/** designpaca 자체 상태 디렉터리 (~/.designpaca) */
export function stateDir(home = os.homedir()): string {
  return path.join(home, ".designpaca");
}

export function manifestPath(home = os.homedir()): string {
  return path.join(stateDir(home), "manifest.json");
}

/** 업데이트 확인 캐시 */
export function updateCachePath(home = os.homedir()): string {
  return path.join(stateDir(home), "update-check.json");
}

/** 홈 경로를 ~ 로 줄여 표시한다 */
export function tildify(p: string, home = os.homedir()): string {
  const rel = path.relative(home, p);
  if (!rel.startsWith("..") && !path.isAbsolute(rel)) {
    return path.posix.join("~", rel.split(path.sep).join("/"));
  }
  return p;
}
