formatReport method

String formatReport()

Implementation

String formatReport() {
  final buffer = StringBuffer();

  buffer.writeln('📦 Package Compatibility Report for: $packageName');
  buffer.writeln('═' * 60);

  if (isCompatible) {
    buffer.writeln('✅ Status: COMPATIBLE');
    buffer.writeln('📌 Version: ${version ?? "latest"}');

    if (warnings.isNotEmpty) {
      buffer.writeln('\n⚠️  Warnings:');
      for (final warning in warnings) {
        buffer.writeln('   • $warning');
      }
    }

    buffer.writeln('\n✨ This package can be safely added to your project');
  } else {
    buffer.writeln('❌ Status: INCOMPATIBLE');

    if (errorMessage != null) {
      buffer.writeln('\n🚫 Error: $errorMessage');
    }

    if (conflicts.isNotEmpty) {
      buffer.writeln('\n⚠️  Conflicts Detected:');
      for (final conflict in conflicts) {
        buffer.writeln('   • $conflict');
      }
    }

    if (warnings.isNotEmpty) {
      buffer.writeln('\n⚠️  Additional Issues:');
      for (final warning in warnings) {
        buffer.writeln('   • $warning');
      }
    }

    buffer.writeln('\n💡 Suggestions:');
    buffer.writeln('   • Try a different version of the package');
    buffer.writeln('   • Check if any existing dependencies need updating');
    buffer.writeln('   • Review the package\'s compatibility requirements');
  }

  return buffer.toString();
}