@@ -86,9 +86,10 @@ async function fetchWithCache(url, pat) {
8686export const fetchOrg = ( org , pat ) =>
8787 fetchWithCache ( `https://api.github.com/orgs/${ org } ` , pat )
8888
89- export async function fetchRepos ( org , pat ) {
89+ export async function fetchRepos ( org , repoCount , pat ) {
9090 const all = [ ]
91- for ( let page = 1 ; page <= 5 ; page ++ ) {
91+ const maxPages = pat ? Math . ceil ( repoCount / 100 ) : 5
92+ for ( let page = 1 ; page <= maxPages ; page ++ ) {
9293 const url = `https://api.github.com/orgs/${ org } /repos?per_page=100&page=${ page } &sort=updated`
9394 const data = await fetchWithCache ( url , pat )
9495 all . push ( ...data )
@@ -98,19 +99,25 @@ export async function fetchRepos(org, pat) {
9899}
99100
100101export async function fetchContributors ( org , repo , pat ) {
101- try {
102- return await fetchWithCache (
103- `https://api.github.com/repos/${ org } /${ repo } /contributors?per_page=30` , pat
104- )
105- } catch { return [ ] }
102+ const all = [ ]
103+ for ( let page = 1 ; ; page ++ ) {
104+ const url = `https://api.github.com/repos/${ org } /${ repo } /contributors?per_page=100&page=${ page } `
105+ const data = await fetchWithCache ( url , pat )
106+ all . push ( ...data )
107+ if ( data . length < 100 ) break
108+ }
109+ return all
106110}
107111
108112export async function fetchIssues ( org , repo , pat ) {
109- try {
110- return await fetchWithCache (
111- `https://api.github.com/repos/${ org } /${ repo } /issues?state=all&per_page=100` , pat
112- )
113- } catch { return [ ] }
113+ const all = [ ]
114+ for ( let page = 1 ; ; page ++ ) {
115+ const url = `https://api.github.com/repos/${ org } /${ repo } /issues?state=all&per_page=100&page=${ page } `
116+ const data = await fetchWithCache ( url , pat )
117+ all . push ( ...data )
118+ if ( data . length < 100 ) break
119+ }
120+ return all
114121}
115122
116123export async function fetchRateLimit ( pat ) {
0 commit comments