anchor.diff:  
   import 'dart:async';
   
  -import 'package:async/async.dart';
   import 'package:build/build.dart';
   import 'package:pub_semver/pub_semver.dart';
   import 'package:pubspec_parse/pubspec_parse.dart';
  
positive.code:   final segments = buildStep.inputId.pathSegments;
    final productionDependency =
        segments.length > 1 && _productionDirectories.contains(segments.first);
    final resource = await buildStep.fetchResource(
      productionDependency
          ? _productionDependencyCheckResource
          : _developmentDependencyCheckResource,
    );
  
    final errorMessage = await resource.run(buildStep);
  
    if (errorMessage == null) return;
  
    throw BadPackageDependencyError(errorMessage);
  }
  
  final _productionDependencyCheckResource =
      _OncePerBuild.resource<bool, String?>(true, _validatePubspec);
  
  final _developmentDependencyCheckResource =
      _OncePerBuild.resource<bool, String?>(false, _validatePubspec);
  
  Future<String?> _validatePubspec(bool production, BuildStep buildStep) async {
    final pubspecAssetId = AssetId(buildStep.inputId.package, 'pubspec.yaml');
  
    if (!await buildStep.canRead(pubspecAssetId)) {
  
negative.code:       'Could not read the "pubspec.yaml` file associated with this package. '
        'Usage of package:$_annotationPkgName could not be verified.',
      );
      return;
    }
  
    Future<Pubspec> readPubspec(AssetId asset) async {
  