@@ -49,17 +49,19 @@ export default async function({login, q, imports, data, account}, {enabled = fal
4949 for ( let i = 1 ; i <= ( languages ? 100 : 1 ) ; i ++ ) {
5050 console . debug ( `metrics/compute/${ login } /plugins > starlists > fetching page ${ i } ` )
5151 await page . goto ( `${ list . link } ?page=${ i } ` )
52- repositories . push ( ...await page . evaluate ( ( ) => [ ...document . querySelectorAll ( "#user-list-repositories > div:not(.paginate-container)" ) ] . map ( element => ( {
53- name :element . querySelector ( "div:first-child" ) ?. innerText . replace ( " / " , "/" ) ?? "" ,
54- description :element . querySelector ( ".py-1" ) ?. innerText ?? "" ,
55- language :{
56- name :element . querySelector ( "[itemprop='programmingLanguage']" ) ?. innerText ?? "" ,
57- color :element . querySelector ( ".repo-language-color" ) ?. style ?. backgroundColor ?. match ( / \d + / g) ?. map ( x => Number ( x ) . toString ( 16 ) . padStart ( 2 , "0" ) ) . join ( "" ) ?? null ,
58- } ,
59- stargazers :Number ( element . querySelector ( "[href$='/stargazers']" ) ?. innerText . trim ( ) . replace ( / [ ^ \d ] / g, "" ) ?? NaN ) ,
60- forks :Number ( element . querySelector ( "[href$='/network/members']" ) ?. innerText . trim ( ) . replace ( / [ ^ \d ] / g, "" ) ?? NaN ) ,
61- } ) )
62- ) )
52+ repositories . push (
53+ ...await page . evaluate ( ( ) => [ ...document . querySelectorAll ( "#user-list-repositories > div:not(.paginate-container)" ) ] . map ( element => ( {
54+ name :element . querySelector ( "div:first-child" ) ?. innerText . replace ( " / " , "/" ) ?? "" ,
55+ description :element . querySelector ( ".py-1" ) ?. innerText ?? "" ,
56+ language :{
57+ name :element . querySelector ( "[itemprop='programmingLanguage']" ) ?. innerText ?? "" ,
58+ color :element . querySelector ( ".repo-language-color" ) ?. style ?. backgroundColor ?. match ( / \d + / g) ?. map ( x => Number ( x ) . toString ( 16 ) . padStart ( 2 , "0" ) ) . join ( "" ) ?? null ,
59+ } ,
60+ stargazers :Number ( element . querySelector ( "[href$='/stargazers']" ) ?. innerText . trim ( ) . replace ( / [ ^ \d ] / g, "" ) ?? NaN ) ,
61+ forks :Number ( element . querySelector ( "[href$='/network/members']" ) ?. innerText . trim ( ) . replace ( / [ ^ \d ] / g, "" ) ?? NaN ) ,
62+ } ) )
63+ ) ,
64+ )
6365 if ( await page . evaluate ( ( ) => document . querySelector ( ".next_page.disabled" ) ) ) {
6466 console . debug ( `metrics/compute/${ login } /plugins > starlists > reached last page` )
6567 break
@@ -80,9 +82,9 @@ export default async function({login, q, imports, data, account}, {enabled = fal
8082 }
8183 list . languages = Object . entries ( list . languages ) . sort ( ( a , b ) => b [ 1 ] - a [ 1 ] ) . slice ( 0 , _limit_languages || Infinity )
8284 const visible = list . languages . map ( ( [ _ , value ] ) => value ) . reduce ( ( a , b ) => a + b , 0 )
83- list . languages = list . languages . map ( ( [ name , value ] ) => ( { name, value, color :name in colors ? `#${ colors [ name ] } ` : null , x :0 , p :value / visible } ) )
85+ list . languages = list . languages . map ( ( [ name , value ] ) => ( { name, value, color :name in colors ? `#${ colors [ name ] } ` : null , x :0 , p :value / visible } ) )
8486 for ( let i = 1 ; i < list . languages . length ; i ++ )
85- list . languages [ i ] . x = ( list . languages [ i - 1 ] ?. x ?? 0 ) + ( list . languages [ i - 1 ] ?. value ?? 0 ) / visible
87+ list . languages [ i ] . x = ( list . languages [ i - 1 ] ?. x ?? 0 ) + ( list . languages [ i - 1 ] ?. value ?? 0 ) / visible
8688 }
8789
8890 //Limit repositories
0 commit comments