anchor.diff:  const String _kOptionAsset = 'asset-dir';
   const String _kOptionManifest = 'manifest';
   const String _kOptionAssetManifestOut = 'asset-manifest-out';
  +const String _kOptionComponentName = 'component-name';
   const List<String> _kRequiredOptions = <String>[
     _kOptionPackages,
     _kOptionAsset,
  
positive.code:     ..addOption(_kOptionAsset,
          help: 'The directory where to put temporary files')
      ..addOption(_kOptionManifest, help: 'The manifest file')
      ..addOption(_kOptionAssetManifestOut);
    final ArgResults argResults = parser.parse(args);
    if (_kRequiredOptions
        .any((String option) => !argResults.options.contains(option))) {
  
negative.code: 
    for (String path in assets.entries.keys) {
      outFile.write('data/$path=$outputBase/$path\n');
      if (componentName.isNotEmpty) {
        outFile.write('data/$componentName/$path=$outputBase/$path\n');
      }
    }
    await outFile.flush();
    await outFile.close();
  