run method

  1. @override
Future<bool> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<bool> run() async {
  String? reason;
  bool result = true;
  final dirPath = targetDir;
  final ind = args['indent'] ?? inRs;
  final baseName = path.basename(dirPath);
  final closer = logger.printFixed('🧼 Cleaning $baseName', ind);

  try {
    final targets = [
      '.dist', /* '.dart_tool', '.packages', 'pubspec.lock' */
    ];
    for (var target in targets) {
      Utils.deleteIfExists(path.join(dirPath, target));
    }
  } on FileSystemException catch (e) {
    result = false;
    reason = e.message;
  }

  return closer(result, reason);
}