run method

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

Runs this command.

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

Implementation

@override
Future<void> run() async {
  final packages = argResults!.rest;
  if (packages.isEmpty) {
    print('❌ No packages specified');
    printUsage();
    exit(1);
  }

  final isDev = argResults!['dev'] == true;

  print('📦 Adding packages: ${packages.join(', ')}${isDev ? ' (dev dependencies)' : ''}');

  await _addPackages(packages, isDev);
}