Skip to content

Commit 9d84309

Browse files
authored
Store only visible packages as dependency in the search index. (#8863)
1 parent baef69f commit 9d84309

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
@@ -377,24 +377,35 @@ class SearchBackend {
377377
likeCount: p.likes,
378378
grantedPoints: scoreCard.grantedPubPoints,
379379
maxPoints: scoreCard.maxPubPoints,
380-
dependencies: _buildDependencies(pv.pubspec!, scoreCard),
380+
dependencies: await _buildDependencies(pv.pubspec!, scoreCard),
381381
apiDocPages: apiDocPages,
382382
timestamp: clock.now().toUtc(),
383383
sourceUpdated: sourceUpdated,
384384
);
385385
}
386386

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

0 commit comments

Comments
 (0)