getLatestVersion method

Future<String?> getLatestVersion(
  1. ReleaseChannel channel
)

Get the latest version from npm registry for a given channel.

Implementation

Future<String?> getLatestVersion(ReleaseChannel channel) async {
  final npmTag = channel == ReleaseChannel.stable ? 'stable' : 'latest';

  try {
    final result = await _runCommand('npm', [
      'view',
      '$packageUrl@$npmTag',
      'version',
      '--prefer-online',
    ]);
    if (result.exitCode != 0) return null;
    return (result.stdout as String).trim();
  } catch (_) {
    return null;
  }
}