@bensandee/forgejo-cli 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.mjs +19 -6
- package/package.json +1 -1
package/dist/bin.mjs
CHANGED
|
@@ -162,7 +162,7 @@ function loadEnvFileForBin(rawArgs, bin, io = processIo) {
|
|
|
162
162
|
//#region src/version.ts
|
|
163
163
|
const parsed = z.object({ version: z.string() }).safeParse({
|
|
164
164
|
name: "@bensandee/forgejo-cli",
|
|
165
|
-
version: "0.5.
|
|
165
|
+
version: "0.5.2",
|
|
166
166
|
description: "bst-fj: Forgejo API commands without the rest of bst",
|
|
167
167
|
license: "MIT",
|
|
168
168
|
repository: {
|
|
@@ -6438,8 +6438,21 @@ const PrFileEntrySchema = z.object({
|
|
|
6438
6438
|
additions: z.number().default(0),
|
|
6439
6439
|
deletions: z.number().default(0)
|
|
6440
6440
|
});
|
|
6441
|
-
|
|
6442
|
-
|
|
6441
|
+
const ALL_FILES_MAX_PAGES = 20;
|
|
6442
|
+
async function listAllPrFiles(executor, conn, prNumber) {
|
|
6443
|
+
const files = [];
|
|
6444
|
+
for (let page = 1; page <= ALL_FILES_MAX_PAGES; page++) {
|
|
6445
|
+
const listing = await readPrFilesPage(executor, conn, prNumber, page, DEFAULT_LIMIT);
|
|
6446
|
+
files.push(...listing.files);
|
|
6447
|
+
if (!listing.truncated) return {
|
|
6448
|
+
files,
|
|
6449
|
+
truncated: false
|
|
6450
|
+
};
|
|
6451
|
+
}
|
|
6452
|
+
return {
|
|
6453
|
+
files,
|
|
6454
|
+
truncated: true
|
|
6455
|
+
};
|
|
6443
6456
|
}
|
|
6444
6457
|
async function readPrFilesPage(executor, conn, prNumber, page, limit) {
|
|
6445
6458
|
const url = `${conn.serverUrl}/api/v1/repos/${conn.repository}/pulls/${String(prNumber)}/files?page=${String(page)}&limit=${String(limit)}`;
|
|
@@ -6464,7 +6477,7 @@ async function readPrFilesPage(executor, conn, prNumber, page, limit) {
|
|
|
6464
6477
|
//#region src/pr-files.ts
|
|
6465
6478
|
function runPrFiles(fetcher, options) {
|
|
6466
6479
|
const number = parsePrNumber(options.number);
|
|
6467
|
-
return
|
|
6480
|
+
return listAllPrFiles(fetcher, requireForgejoTarget(options.cwd, parseRepoTarget(options.repo), "pr:files is Forgejo-only -- gh pr diff --name-only already serves GitHub."), number);
|
|
6468
6481
|
}
|
|
6469
6482
|
function renderPrFiles(listing) {
|
|
6470
6483
|
const lines = listing.files.map((file) => `${file.status ?? "unknown"} ${file.filename}`);
|
|
@@ -6477,7 +6490,7 @@ function renderPrFiles(listing) {
|
|
|
6477
6490
|
const prFilesCommand = defineCommand({
|
|
6478
6491
|
meta: {
|
|
6479
6492
|
name: "pr:files",
|
|
6480
|
-
description: "List
|
|
6493
|
+
description: "List every file a pull request changes, reading every page (Forgejo-only)"
|
|
6481
6494
|
},
|
|
6482
6495
|
args: {
|
|
6483
6496
|
number: {
|
|
@@ -6491,7 +6504,7 @@ const prFilesCommand = defineCommand({
|
|
|
6491
6504
|
},
|
|
6492
6505
|
json: {
|
|
6493
6506
|
type: "boolean",
|
|
6494
|
-
description: "Emit one JSON document: files ([{filename, status (or null), additions, deletions}]), truncated."
|
|
6507
|
+
description: "Emit one JSON document: files ([{filename, status (or null), additions, deletions}]), truncated (true only when the pull request changes more files than the command reads, at least 1000)."
|
|
6495
6508
|
},
|
|
6496
6509
|
verbose: {
|
|
6497
6510
|
type: "boolean",
|