anchor.diff:      _onlyDev = value;
     }
   
  -  Version _latestVersion;
  -
  -  Version get latestVersion => _latestVersion;
  +  final Version latestVersion;
   
     VizPackage._(
       this.name,
       this.version,
       Set<Dependency> deps,
       this.sdkConstraint,
  +    this.latestVersion,
     ) : dependencies = UnmodifiableSetView(deps);
   
     static Future<VizPackage> forDirectory(
  
positive.code:   @override
    int get hashCode => name.hashCode;
  
    Future<Version> _updateLatestVersion(
      Service service,
    ) async {
      if (_latestVersion != null) return _latestVersion;
      if (version == null) {
        // Likely not published. Don't try.
        return null;
      }
  
      final versions = await service.queryVersions(name);
  
      if (versions != null) {
        _latestVersion = primaryVersion(
            versions.map((e) => Version.parse(e)).toList(), version.isPreRelease);
      }
  
      if (_latestVersion != null) {
        assert(_latestVersion.compareTo(version) >= 0);
      }
  
      return _latestVersion;
  
negative.code:     final deps = Dependency.getDependencies(pubspec);
      final sdkConstraint = pubspec.environment['sdk'];
  
      Version latestVersion;
  
      if (flagOutdated) {
        latestVersion =
            await _latestVersion(service, pubspec.name, pubspec.version);
      }
  
      final package = VizPackage._(
        pubspec.name,
        pubspec.version,
        deps,
        sdkConstraint,
        latestVersion,
      );
  
      return package;
    }
  