refreshDependencies function

Future<void> refreshDependencies({
  1. bool isDev = false,
})

Remove then re-add dependencies

Implementation

Future<void> refreshDependencies({bool isDev = false}) async {
  Map<String, String> pluginsToUpdate = isDev
      ? PluginList.devPluginsToUpdate
      : PluginList.pluginsToUpdate;
  for (final pkg in pluginsToUpdate.keys) {
    // Remove package
    final removeArgs = ['pub', 'remove'];
    if (isDev) removeArgs.add('--dev');
    removeArgs.add(pkg);

    print('🗑 Removing $pkg...');
    var removeResult = await Process.run(
      'flutter',
      removeArgs,
      runInShell: true,
    );
    stdout.write(removeResult.stdout);
    stderr.write(removeResult.stderr);

    // Add package again (latest)
    final addArgs = ['pub', 'add'];
    if (isDev) addArgs.add('--dev');
    addArgs.add(pkg);

    print('⬆️ Adding $pkg (latest)...');
    var addResult = await Process.run('flutter', addArgs, runInShell: true);
    stdout.write(addResult.stdout);
    stderr.write(addResult.stderr);
  }
}