checkCompatibilityOnly method

Future<CompatibilityResult> checkCompatibilityOnly({
  1. required String packageName,
  2. String? version,
})

Implementation

Future<CompatibilityResult> checkCompatibilityOnly({
  required String packageName,
  String? version,
}) async {
  try {
    final testResult = await processRunner.pubAddDryRun(
      packageName,
      version: version,
    );

    if (!testResult.success) {
      return CompatibilityResult(
        isCompatible: false,
        packageName: packageName,
        version: version,
        conflicts: _extractConflicts(testResult.stderr),
        warnings: _extractWarnings(testResult.stdout),
        errorMessage: _extractError(testResult.stderr),
      );
    }

    return CompatibilityResult(
      isCompatible: true,
      packageName: packageName,
      version: version,
      warnings: _extractWarnings(testResult.stdout),
    );
  } catch (e) {
    return CompatibilityResult(
      isCompatible: false,
      packageName: packageName,
      version: version,
      errorMessage: 'Unexpected error: $e',
    );
  }
}