@@ -3,14 +3,19 @@ import path from 'node:path'
33import yaml from 'yaml'
44import { parseJSON as parseDate } from 'date-fns/parseJSON'
55import { formatISO as formatDate } from 'date-fns/formatISO'
6- import { GitHubProjectSchema , GitHubRepositoryAPIResponse , InternalLoaderOptions } from './types.js'
6+ import {
7+ GitHubProjectSchema ,
8+ GitHubProjectType ,
9+ GitHubRepositoryAPIResponse ,
10+ InternalLoaderOptionsType ,
11+ } from './types.js'
712import { fileExists , parseMarkdown } from './utils.js'
813import { logger } from './logger.js'
914import { fetchRepos , getAuthorization , projectIgnore , projectKeep } from './github.js'
1015
1116export async function getProjectsList (
12- options : InternalLoaderOptions ,
13- ) : Promise < GitHubProjectSchema [ ] > {
17+ options : InternalLoaderOptionsType ,
18+ ) : Promise < GitHubProjectType [ ] > {
1419 logger . log ( `Fetching projects list from GitHub (since: ${ formatDate ( options . lastUpdated ) } )` )
1520
1621 const repos = await fetchRepos (
@@ -24,7 +29,7 @@ export async function getProjectsList(
2429 }
2530
2631 logger . log ( `Fetched ${ repos . length } projects from GitHub` )
27- const projects : GitHubProjectSchema [ ] = [ ]
32+ const projects : GitHubProjectType [ ] = [ ]
2833
2934 for ( const repo of repos ) {
3035 logger . log ( `Processing ${ repo . name } ` )
@@ -42,6 +47,7 @@ export async function getProjectsList(
4247 order : - repo . stargazers_count ,
4348 links : [ { href : repo . html_url , icon : 'logo-github' , title : 'GitHub' } ] ,
4449 raw : repo ,
50+ featured : false ,
4551 } )
4652
4753 const overridesFile = path . join ( options . overridesDir , `${ project . name } .md` )
@@ -52,7 +58,7 @@ export async function getProjectsList(
5258 const lines = allLines . slice ( 0 , allLines . lastIndexOf ( '---' ) ) . join ( '\n' ) . trim ( )
5359 try {
5460 // TODO use GitHubProjectSchema.parse
55- const obj = yaml . parse ( lines ) as GitHubProjectSchema
61+ const obj = yaml . parse ( lines ) as GitHubProjectType
5662 for ( const link of obj . links ?? [ ] ) {
5763 const found = project . links . findIndex ( ( i ) => i . href === link . href )
5864 if ( found >= 0 ) {
@@ -97,7 +103,7 @@ export async function getProjectsList(
97103
98104function projectFilter (
99105 project : GitHubRepositoryAPIResponse ,
100- { lastUpdated, filter } : InternalLoaderOptions ,
106+ { lastUpdated, filter } : InternalLoaderOptionsType ,
101107) : boolean {
102108 if ( projectKeep . includes ( project . name ) ) {
103109 return true
0 commit comments