checkAndInstallCliWebdev function

Future<void> checkAndInstallCliWebdev({
  1. bool? verbose,
})

Check if webdev is installed with dart install, install or update it if needed.

Preferred over checkAndActivateWebdev (dart pub global activate).

Implementation

Future<void> checkAndInstallCliWebdev({bool? verbose}) async {
  var webdev = 'webdev';
  verbose ??= false;
  var installed = await checkAndInstallCliPackage(webdev, verbose: verbose);

  var webdevVersion = await getInstalledCliPackageVersion(
    webdev,
    verbose: verbose,
  );
  var needUpdate =
      !installed &&
      (webdevVersion == null || webdevVersion <= Version(2, 7, 11));
  if (verbose) {
    stdout.writeln(
      'webdev version: $webdevVersion ${needUpdate ? '(need update)' : ''}',
    );
  }
  if (needUpdate) {
    await _dartInstall(webdev, verbose: verbose);
  }
}