fix: align gh pr option aliases
This commit is contained in:
+16
-16
@@ -6052,7 +6052,7 @@ export async function runGhCommand(args: string[]): Promise<GitHubCommandResult
|
||||
],
|
||||
});
|
||||
}
|
||||
if (optionWasProvided(args, "--stat") && !(top === "pr" && sub === "diff")) {
|
||||
if (optionWasProvided(args, "--stat") && !(top === "pr" && (sub === "diff" || sub === "files"))) {
|
||||
const command = [top, sub].filter((value): value is string => value !== undefined).join(" ") || "gh";
|
||||
return validationError(command, options.repo, "--stat is only supported by gh pr diff <number> --stat.", {
|
||||
supportedCommands: [
|
||||
@@ -6216,29 +6216,29 @@ export async function runGhCommand(args: string[]): Promise<GitHubCommandResult
|
||||
|
||||
if (top === "pr") {
|
||||
if (sub === "diff") {
|
||||
const number = parsePositionalNumberForCommand(options.repo, args, 2, "pr diff");
|
||||
if (typeof number !== "number") return number;
|
||||
const resolved = resolvePositionalPrReference(args, 2, "pr diff", options);
|
||||
if (isGitHubCommandResult(resolved)) return resolved;
|
||||
if (!optionWasProvided(args, "--stat")) {
|
||||
return unsupportedCommand("pr diff", options.repo, "Raw PR diff output is intentionally unsupported by UniDesk CLI; use gh pr diff <number> --stat or gh pr files for a bounded REST file/stat summary.", {
|
||||
rawDiffIncluded: false,
|
||||
supportedCommands: [
|
||||
`bun scripts/cli.ts gh pr files ${number} --repo ${options.repo} --limit 30`,
|
||||
`bun scripts/cli.ts gh pr diff ${number} --stat --repo ${options.repo} --limit 30`,
|
||||
`bun scripts/cli.ts gh pr files ${resolved.number} --repo ${resolved.repo} --limit 30`,
|
||||
`bun scripts/cli.ts gh pr diff ${resolved.number} --stat --repo ${resolved.repo} --limit 30`,
|
||||
],
|
||||
});
|
||||
}
|
||||
const { token, probe } = resolveToken(true);
|
||||
const missing = authRequired(options.repo, "pr diff --stat", probe);
|
||||
if (missing !== null || token === null) return missing ?? authRequired(options.repo, "pr diff --stat", { present: false, source: null, ghFallbackAttempted: true });
|
||||
return prFiles(options.repo, token, number, options.limit, "pr diff --stat");
|
||||
const missing = authRequired(resolved.repo, "pr diff --stat", probe);
|
||||
if (missing !== null || token === null) return missing ?? authRequired(resolved.repo, "pr diff --stat", { present: false, source: null, ghFallbackAttempted: true });
|
||||
return prFiles(resolved.repo, token, resolved.number, options.limit, "pr diff --stat");
|
||||
}
|
||||
if (sub === "files") {
|
||||
const number = parsePositionalNumberForCommand(options.repo, args, 2, "pr files");
|
||||
if (typeof number !== "number") return number;
|
||||
const resolved = resolvePositionalPrReference(args, 2, "pr files", options);
|
||||
if (isGitHubCommandResult(resolved)) return resolved;
|
||||
const { token, probe } = resolveToken(true);
|
||||
const missing = authRequired(options.repo, "pr files", probe);
|
||||
if (missing !== null || token === null) return missing ?? authRequired(options.repo, "pr files", { present: false, source: null, ghFallbackAttempted: true });
|
||||
return prFiles(options.repo, token, number, options.limit, "pr files");
|
||||
const missing = authRequired(resolved.repo, "pr files", probe);
|
||||
if (missing !== null || token === null) return missing ?? authRequired(resolved.repo, "pr files", { present: false, source: null, ghFallbackAttempted: true });
|
||||
return prFiles(resolved.repo, token, resolved.number, options.limit, "pr files");
|
||||
}
|
||||
if (sub === "delete") return unsupportedCommand("pr delete", options.repo, "GitHub REST does not support hard-deleting pull requests; use gh pr close for lifecycle deletion semantics.");
|
||||
if (sub === "preflight" || sub === "closeout") {
|
||||
@@ -6304,12 +6304,12 @@ export async function runGhCommand(args: string[]): Promise<GitHubCommandResult
|
||||
return prState(options.repo, token, number, sub === "close" ? "closed" : "open", false);
|
||||
}
|
||||
if (sub === "merge") {
|
||||
const number = parseNumberForCommand(options.repo, third, "pr merge");
|
||||
if (typeof number !== "number") return number;
|
||||
const resolved = resolvePositionalPrReference(args, 2, "pr merge", options);
|
||||
if (isGitHubCommandResult(resolved)) return resolved;
|
||||
const { token, probe } = resolveToken(true);
|
||||
const missing = authRequired(options.repo, "pr merge", probe);
|
||||
if (missing !== null || token === null) return missing ?? authRequired(options.repo, "pr merge", { present: false, source: null, ghFallbackAttempted: true });
|
||||
return prMerge(options.repo, token, number, options);
|
||||
return prMerge(resolved.repo, token, resolved.number, options);
|
||||
}
|
||||
if (sub !== "list" && !isPrReadCommand(sub)) {
|
||||
return unsupportedCommand(`pr ${sub ?? ""}`.trim(), options.repo, "PR supported commands are list, files, diff --stat, read/view, preflight/closeout, create, update/edit, close, reopen, merge, comment create/delete, and unsupported delete.");
|
||||
|
||||
Reference in New Issue
Block a user