main function

Future<void> main()

Since {flutter pub upgrade} does not upgrade dependencies inside project {pubspec.yaml} I create this script to do so. This required to add {yaml} package to {pubspec.yaml} before run.

Run script command line:

dart run upgrade_all_dependencies.dart

Feel free to modify as you needed.

Implementation

Future<void> main() async {
  try {
    final content = await File('pubspec.yaml').readAsString();
    final yaml = await loadYaml(content);
    final dependencies = yaml['dependencies'];
    final devDependencies = yaml['dev_dependencies'];
    final dependenciesToUpgrade = _getDependencies(dependencies);
    final devDependenciesToUpgrade = _getDependencies(devDependencies);
    await _runUpgrade(dependenciesToUpgrade);
    await _runUpgrade(devDependenciesToUpgrade, true);
  } catch (exception) {
    stderr.write(exception);
  }
}