Skip to content

Commit d7bac04

Browse files
committed
Store only visible packages as dependency in the search index.
1 parent ee285d4 commit d7bac04

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

app/lib/search/backend.dart

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -375,24 +375,35 @@ class SearchBackend {
375375
likeCount: p.likes,
376376
grantedPoints: scoreCard.grantedPubPoints,
377377
maxPoints: scoreCard.maxPubPoints,
378-
dependencies: _buildDependencies(pv.pubspec!, scoreCard),
378+
dependencies: await _buildDependencies(pv.pubspec!, scoreCard),
379379
apiDocPages: apiDocPages,
380380
timestamp: clock.now().toUtc(),
381381
sourceUpdated: sourceUpdated,
382382
);
383383
}
384384

385-
Map<String, String> _buildDependencies(Pubspec pubspec, ScoreCardData? view) {
386-
final Map<String, String> dependencies = <String, String>{};
387-
view?.panaReport?.allDependencies?.forEach((p) {
388-
dependencies[p] = DependencyTypes.transitive;
389-
});
390-
pubspec.devDependencies.forEach((package) {
391-
dependencies[package] = DependencyTypes.dev;
392-
});
393-
pubspec.dependencyNames.forEach((package) {
394-
dependencies[package] = DependencyTypes.direct;
395-
});
385+
Future<Map<String, String>> _buildDependencies(
386+
Pubspec pubspec, ScoreCardData? view) async {
387+
final dependencies = <String, String>{};
388+
for (final p in view?.panaReport?.allDependencies ?? <String>[]) {
389+
if (await packageBackend.isPackageVisible(p)) {
390+
dependencies[p] = DependencyTypes.transitive;
391+
}
392+
}
393+
for (final p in pubspec.devDependencies) {
394+
// Note: at this point the visibility may have been checked.
395+
if (dependencies.containsKey(p) ||
396+
await packageBackend.isPackageVisible(p)) {
397+
dependencies[p] = DependencyTypes.dev;
398+
}
399+
}
400+
for (final p in pubspec.dependencyNames) {
401+
// Note: at this point the visibility may have been checked.
402+
if (dependencies.containsKey(p) ||
403+
await packageBackend.isPackageVisible(p)) {
404+
dependencies[p] = DependencyTypes.direct;
405+
}
406+
}
396407
return dependencies;
397408
}
398409

0 commit comments

Comments
 (0)