quackscore 0.2.4 → 0.2.5
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/github/client.d.ts.map +1 -1
- package/dist/github/client.js +25 -148
- package/dist/github/client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E,CAKA;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmE7C;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E,CAKA;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmE7C;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB"}
|
package/dist/github/client.js
CHANGED
|
@@ -92,56 +92,32 @@ export async function fetchUserPRs(username, token, options = {}) {
|
|
|
92
92
|
});
|
|
93
93
|
const octokit = new Octokit({ auth: token });
|
|
94
94
|
const prs = [];
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
diagLog('Received organization search results', { resultCount: results.length });
|
|
120
|
-
if (results.length >= 1000) {
|
|
121
|
-
diagLog('WARNING: Search results may be truncated at 1000. Consider using --repository to narrow scope or providing a --since date.');
|
|
122
|
-
}
|
|
123
|
-
const items = await hydrateSearchResults(octokit, results);
|
|
124
|
-
prs.push(...items);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
const searchQuery = `type:pr author:${username} is:merged${options.since ? ` merged:>=${options.since}` : ''}`;
|
|
128
|
-
diagLog('Fetching PRs through GitHub search', {
|
|
129
|
-
username,
|
|
130
|
-
searchQuery,
|
|
131
|
-
});
|
|
132
|
-
const results = await octokit.paginate(octokit.search.issuesAndPullRequests, {
|
|
133
|
-
q: searchQuery,
|
|
134
|
-
per_page: 100,
|
|
135
|
-
sort: 'created',
|
|
136
|
-
order: 'desc',
|
|
137
|
-
});
|
|
138
|
-
diagLog('Received GitHub search results', { resultCount: results.length });
|
|
139
|
-
if (results.length >= 1000) {
|
|
140
|
-
diagLog('WARNING: Search results may be truncated at 1000.');
|
|
141
|
-
}
|
|
142
|
-
const items = await hydrateSearchResults(octokit, results);
|
|
143
|
-
prs.push(...items);
|
|
95
|
+
// Always use the GitHub Search API — it filters by author, merge status, and
|
|
96
|
+
// date server-side, avoiding the need to download all closed PRs and filter
|
|
97
|
+
// client-side (which was extremely slow for large repos like 1300+ PRs).
|
|
98
|
+
const scopeFilter = options.org && options.repo
|
|
99
|
+
? `repo:${options.org}/${options.repo}`
|
|
100
|
+
: options.org
|
|
101
|
+
? `org:${options.org}`
|
|
102
|
+
: '';
|
|
103
|
+
const searchQuery = `type:pr author:${username} is:merged${scopeFilter ? ` ${scopeFilter}` : ''}${options.since ? ` merged:>=${options.since}` : ''}`;
|
|
104
|
+
diagLog('Searching for PRs via GitHub Search API', {
|
|
105
|
+
username,
|
|
106
|
+
searchQuery,
|
|
107
|
+
scope: scopeFilter || 'global',
|
|
108
|
+
});
|
|
109
|
+
const results = await octokit.paginate(octokit.search.issuesAndPullRequests, {
|
|
110
|
+
q: searchQuery,
|
|
111
|
+
per_page: 100,
|
|
112
|
+
sort: 'created',
|
|
113
|
+
order: 'desc',
|
|
114
|
+
});
|
|
115
|
+
diagLog('Received search results', { resultCount: results.length });
|
|
116
|
+
if (results.length >= 1000) {
|
|
117
|
+
diagLog('WARNING: Search results may be truncated at 1000. Consider narrowing scope with --repository or --since.');
|
|
144
118
|
}
|
|
119
|
+
const items = await hydrateSearchResults(octokit, results);
|
|
120
|
+
prs.push(...items);
|
|
145
121
|
diagLog('Completed GitHub PR fetch', {
|
|
146
122
|
username,
|
|
147
123
|
totalPRs: prs.length,
|
|
@@ -223,103 +199,4 @@ async function hydrateSearchResults(octokit, results) {
|
|
|
223
199
|
}
|
|
224
200
|
return prs;
|
|
225
201
|
}
|
|
226
|
-
async function fetchPRsFromRepo(octokit, username, owner, repo, since) {
|
|
227
|
-
const prs = [];
|
|
228
|
-
diagLog('Listing closed PRs for repository', {
|
|
229
|
-
owner,
|
|
230
|
-
repo,
|
|
231
|
-
username,
|
|
232
|
-
since,
|
|
233
|
-
});
|
|
234
|
-
const items = await octokit.paginate(octokit.pulls.list, {
|
|
235
|
-
owner,
|
|
236
|
-
repo,
|
|
237
|
-
state: 'closed',
|
|
238
|
-
per_page: 100,
|
|
239
|
-
});
|
|
240
|
-
diagLog('Received repository PR list', {
|
|
241
|
-
owner,
|
|
242
|
-
repo,
|
|
243
|
-
totalClosedPRs: items.length,
|
|
244
|
-
});
|
|
245
|
-
for (const pr of items) {
|
|
246
|
-
if (!pr.merged_at) {
|
|
247
|
-
diagLog('Skipping PR because it was not merged', { owner, repo, prNumber: pr.number });
|
|
248
|
-
continue;
|
|
249
|
-
}
|
|
250
|
-
if (!pr.user || pr.user.login !== username) {
|
|
251
|
-
diagLog('Skipping PR because author does not match requested user', {
|
|
252
|
-
owner,
|
|
253
|
-
repo,
|
|
254
|
-
prNumber: pr.number,
|
|
255
|
-
author: pr.user?.login,
|
|
256
|
-
expectedAuthor: username,
|
|
257
|
-
});
|
|
258
|
-
continue;
|
|
259
|
-
}
|
|
260
|
-
if (since && pr.merged_at <= since) {
|
|
261
|
-
diagLog('Skipping PR because it predates the requested since filter', {
|
|
262
|
-
owner,
|
|
263
|
-
repo,
|
|
264
|
-
prNumber: pr.number,
|
|
265
|
-
mergedAt: pr.merged_at,
|
|
266
|
-
since,
|
|
267
|
-
});
|
|
268
|
-
continue;
|
|
269
|
-
}
|
|
270
|
-
let diff;
|
|
271
|
-
let rawFileStats;
|
|
272
|
-
try {
|
|
273
|
-
const { data: diffData } = await octokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', {
|
|
274
|
-
owner,
|
|
275
|
-
repo,
|
|
276
|
-
pull_number: pr.number,
|
|
277
|
-
mediaType: { format: 'diff' },
|
|
278
|
-
});
|
|
279
|
-
const prepared = prepareDiff(String(diffData));
|
|
280
|
-
diff = prepared.trimmed;
|
|
281
|
-
rawFileStats = prepared.rawFileStats;
|
|
282
|
-
diagLog('Fetched diff for repository PR', {
|
|
283
|
-
owner,
|
|
284
|
-
repo,
|
|
285
|
-
prNumber: pr.number,
|
|
286
|
-
diffLength: diff.length,
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
catch (err) {
|
|
290
|
-
// diff unavailable
|
|
291
|
-
diagError('Diff unavailable for repository PR', err, {
|
|
292
|
-
owner,
|
|
293
|
-
repo,
|
|
294
|
-
prNumber: pr.number,
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
const { data: detail } = await octokit.pulls.get({ owner, repo, pull_number: pr.number });
|
|
298
|
-
diagLog('Fetched PR detail for repository PR', {
|
|
299
|
-
owner,
|
|
300
|
-
repo,
|
|
301
|
-
prNumber: pr.number,
|
|
302
|
-
additions: detail.additions,
|
|
303
|
-
deletions: detail.deletions,
|
|
304
|
-
});
|
|
305
|
-
prs.push({
|
|
306
|
-
id: pr.id,
|
|
307
|
-
number: pr.number,
|
|
308
|
-
title: pr.title,
|
|
309
|
-
url: pr.html_url,
|
|
310
|
-
repo: `${owner}/${repo}`,
|
|
311
|
-
mergedAt: pr.merged_at,
|
|
312
|
-
additions: detail.additions,
|
|
313
|
-
deletions: detail.deletions,
|
|
314
|
-
diff,
|
|
315
|
-
rawFileStats,
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
diagLog('Completed repository PR fetch', {
|
|
319
|
-
owner,
|
|
320
|
-
repo,
|
|
321
|
-
matchedPRs: prs.length,
|
|
322
|
-
});
|
|
323
|
-
return prs;
|
|
324
|
-
}
|
|
325
202
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
|