anchor.diff:                package,
                 options: new InspectOptions(verbosity: Verbosity.compact),
               );
  -            final outputFile = new File('${outputDir.path}/${package}.json');
               await outputFile
                   .writeAsString(_jsonEncoder.convert(summary.toJson()));
             } catch (e, st) {
  
positive.code:       ..addOption('packages-list',
            help: 'The input file with the list of packages.')
        ..addOption('output',
            help: 'The output directory to store the per-package results.');
    }
  
    @override
    Future run() async {
      final concurrency = int.parse(argResults['concurrency'] as String ?? '1');
      final pool = new Pool(concurrency);
  
      final packages = new Set<String>();
      packages.addAll(argResults.rest);
  
negative.code:       final analyzer = new PackageAnalyzer(toolEnv);
        final futures = <Future>[];
        for (final package in packages) {
          final outputFile = new File('${outputDir.path}/${package}.json');
          if (!force && outputFile.existsSync() && outputFile.lengthSync() > 0) {
            continue;
          }
  
          final f = pool.withResource(() async {
            print('Analyzing $package...');
            try {
  