File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,6 +24,8 @@ export function rankSuggestionsByQuery(
2424 suggestion . package . name . toLowerCase ( ) . includes ( normalizedQuery )
2525 )
2626 . sort ( ( a , b ) => {
27+ // A direct match is more useful than a package that merely contains the
28+ // typed name, regardless of its score.
2729 const aStartsWithQuery = a . package . name
2830 . toLowerCase ( )
2931 . startsWith ( normalizedQuery )
@@ -43,13 +45,16 @@ export async function loadRelatedPackageSuggestions(
4345 query : string ,
4446 relatedPackageNames : string [ ]
4547) {
48+ // Related packages expand discovery, but keep the request fan-out bounded
49+ // while a user is typing.
4650 const queries = [ query , ...relatedPackageNames ]
4751 . filter ( Boolean )
4852 . slice ( 0 , MAX_RELATED_PACKAGES + 1 )
4953 const results = await Promise . allSettled (
5054 queries . map ( packageName => API . getSuggestions ( packageName ) )
5155 )
5256
57+ // A failed related lookup should not hide suggestions from successful ones.
5358 return rankSuggestionsByQuery (
5459 results . flatMap ( result =>
5560 result . status === 'fulfilled' ? result . value : [ ]
You can’t perform that action at this time.
0 commit comments