@@ -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