{"version":3,"file":"maintainers.mjs","names":[],"sources":["../../src/commands/maintainers.ts"],"sourcesContent":["import type { Maintainer } from \"../core/types.ts\";\nimport { defineCommand } from \"citty\";\nimport consola from \"consola\";\nimport { sharedArgs, resolvePURL, withErrorHandling } from \"./shared.ts\";\n\nexport default defineCommand({\n  meta: {\n    name: \"maintainers\",\n    description: \"List package maintainers\",\n  },\n  args: {\n    ...sharedArgs,\n    purl: {\n      type: \"positional\",\n      description: \"Package PURL (e.g. pkg:npm/lodash, gem/rails)\",\n      required: true,\n    },\n  },\n  async run({ args }) {\n    await withErrorHandling(async () => {\n      const [reg, name] = await resolvePURL(args.purl, !args[\"no-cache\"]);\n      const maintainers = await reg.fetchMaintainers(name);\n\n      if (args.json) {\n        console.log(JSON.stringify(maintainers, null, 2));\n        return;\n      }\n\n      outputMaintainers(name, maintainers);\n    });\n  },\n});\n\nfunction outputMaintainers(name: string, maintainers: readonly Maintainer[]): void {\n  consola.log(\"\");\n  consola.log(\n    `  \\x1B[1m${name}\\x1B[0m — ${maintainers.length} maintainer${maintainers.length === 1 ? \"\" : \"s\"}`,\n  );\n  consola.log(\"\");\n\n  for (const maintainer of maintainers) {\n    consola.log(`  ${formatMaintainer(maintainer).join(\" \")}`);\n    if (maintainer.url) consola.log(`    \\x1B[90m${maintainer.url}\\x1B[0m`);\n  }\n  consola.log(\"\");\n}\n\nfunction formatMaintainer(maintainer: Readonly<Maintainer>): string[] {\n  const displayName = maintainer.name || maintainer.login || \"unknown\";\n  const parts = [displayName];\n\n  if (maintainer.login && maintainer.login !== displayName) {\n    parts.push(`\\x1B[90m(${maintainer.login})\\x1B[0m`);\n  }\n  if (maintainer.email) parts.push(`\\x1B[90m<${maintainer.email}>\\x1B[0m`);\n  if (maintainer.role) parts.push(`\\x1B[36m[${maintainer.role}]\\x1B[0m`);\n\n  return parts;\n}\n"],"mappings":";;;;;;;;AAKA,IAAA,sBAAe,cAAc;CAC3B,MAAM;EACJ,MAAM;EACN,aAAa;EACd;CACD,MAAM;EACJ,GAAG;EACH,MAAM;GACJ,MAAM;GACN,aAAa;GACb,UAAU;;EAEb;CACD,MAAM,IAAI,EAAE,QAAQ;AAClB,QAAM,kBAAkB,YAAY;GAClC,MAAM,CAAC,KAAK,QAAQ,MAAM,YAAY,KAAK,MAAM,CAAC,KAAK,YAAY;GACnE,MAAM,cAAc,MAAM,IAAI,iBAAiB,KAAK;AAEpD,OAAI,KAAK,MAAM;AACb,YAAQ,IAAI,KAAK,UAAU,aAAa,MAAM,EAAE,CAAC;AACjD;;AAGF,qBAAkB,MAAM,YAAY;IACpC;;CAEL,CAAC;AAEF,SAAS,kBAAkB,MAAc,aAA0C;AACjF,SAAQ,IAAI,GAAG;AACf,SAAQ,IACN,YAAY,KAAK,YAAY,YAAY,OAAO,aAAa,YAAY,WAAW,IAAI,KAAK,MAC9F;AACD,SAAQ,IAAI,GAAG;AAEf,MAAK,MAAM,cAAc,aAAa;AACpC,UAAQ,IAAI,KAAK,iBAAiB,WAAW,CAAC,KAAK,IAAI,GAAG;AAC1D,MAAI,WAAW,IAAK,SAAQ,IAAI,eAAe,WAAW,IAAI,SAAS;;AAEzE,SAAQ,IAAI,GAAG;;AAGjB,SAAS,iBAAiB,YAA4C;CACpE,MAAM,cAAc,WAAW,QAAQ,WAAW,SAAS;CAC3D,MAAM,QAAQ,CAAC,YAAY;AAE3B,KAAI,WAAW,SAAS,WAAW,UAAU,YAC3C,OAAM,KAAK,YAAY,WAAW,MAAM,UAAU;AAEpD,KAAI,WAAW,MAAO,OAAM,KAAK,YAAY,WAAW,MAAM,UAAU;AACxE,KAAI,WAAW,KAAM,OAAM,KAAK,YAAY,WAAW,KAAK,UAAU;AAEtE,QAAO"}