printDryRunResults method
Print analysis results in dry-run format
Implementation
void printDryRunResults(AnalysisResult result) {
_printSectionHeader('Analysis Results (Dry Run)');
if (!result.hasIssues) {
_printSuccess(
'No issues found! All dependencies are properly organized.');
return;
}
// Print used dependencies
if (result.usedDependencies.isNotEmpty) {
_printSubHeader('${OutputConfig.usedIndicator} Used Dependencies');
for (final dep in result.usedDependencies) {
_printDependency(dep, OutputConfig.usedIndicator);
}
print('');
}
// Print test-only dependencies that need moving
final testOnlyInWrongSection = result.testOnlyDependencies
.where((DependencyInfo dep) =>
dep.section == DependencySection.dependencies)
.toList();
if (testOnlyInWrongSection.isNotEmpty) {
_printSubHeader(
'${OutputConfig.testOnlyIndicator} Move to dev_dependencies');
for (final dep in testOnlyInWrongSection) {
_printDependency(dep, OutputConfig.testOnlyIndicator);
}
print('');
}
// Print unused dependencies
if (result.unusedDependencies.isNotEmpty) {
_printSubHeader('${OutputConfig.unusedIndicator} Unused Dependencies');
for (final dep in result.unusedDependencies) {
_printDependency(dep, OutputConfig.unusedIndicator);
}
print('');
}
// Print duplicates
if (result.duplicates.isNotEmpty) {
_printSubHeader('${OutputConfig.warningEmoji} Duplicate Dependencies');
for (final duplicate in result.duplicates) {
final versionInfo = duplicate.hasVersionConflict
? ' (${duplicate.dependenciesVersion} vs ${duplicate.devDependenciesVersion})'
: '';
_printWarning(
'${duplicate.name}$versionInfo - ${duplicate.recommendationMessage}');
}
print('');
}
// Print summary
_printSummary(result);
}