diff --git a/packages/melos/lib/src/command_runner/exec.dart b/packages/melos/lib/src/command_runner/exec.dart index 29401e6f1..5c09edf56 100644 --- a/packages/melos/lib/src/command_runner/exec.dart +++ b/packages/melos/lib/src/command_runner/exec.dart @@ -23,7 +23,11 @@ import 'base.dart'; class ExecCommand extends MelosCommand { ExecCommand(super.config) { setupPackageFilterParser(); - argParser.addOption('concurrency', defaultsTo: '5', abbr: 'c'); + argParser.addOption( + 'concurrency', + defaultsTo: Platform.numberOfProcessors.toString(), + abbr: 'c', + ); argParser.addFlag( 'fail-fast', abbr: 'f', diff --git a/packages/melos/lib/src/commands/exec.dart b/packages/melos/lib/src/commands/exec.dart index 66cd45e0e..1b694c5ca 100644 --- a/packages/melos/lib/src/commands/exec.dart +++ b/packages/melos/lib/src/commands/exec.dart @@ -5,10 +5,11 @@ mixin _ExecMixin on _Melos { List execArgs, { GlobalOptions? global, PackageFilters? packageFilters, - int concurrency = 5, + int? concurrency, bool failFast = false, bool orderDependents = false, }) async { + concurrency ??= Platform.numberOfProcessors; final workspace = await createWorkspace(global: global, packageFilters: packageFilters); final packages = workspace.filteredPackages.values;