Skip to content

Commit c12afe6

Browse files
committed
feat: comprehensive abandoned package detection for all installed packages
- Detect abandoned packages for ALL installed packages (not just outdated) - New section 'All abandoned packages installed:' before dependency analysis - Enhanced detection for outdated packages (checks all, not just with conflicts) - Fixed save-impact-to-file to auto-enable show-impact-analysis - Added translations for new features in all 31 languages Closes: Improved visibility into package maintenance status
1 parent 6f71c77 commit c12afe6

37 files changed

Lines changed: 382 additions & 41 deletions

bin/generate-composer-require.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ fi
196196
[ "$YAML_SHOW_RELEASE_DETAIL" = "true" ] && SHOW_RELEASE_DETAIL=true || SHOW_RELEASE_DETAIL=false
197197
[ "$YAML_SHOW_IMPACT_ANALYSIS" = "true" ] && SHOW_IMPACT_ANALYSIS=true || SHOW_IMPACT_ANALYSIS=false
198198
[ "$YAML_SAVE_IMPACT_TO_FILE" = "true" ] && SAVE_IMPACT_TO_FILE=true || SAVE_IMPACT_TO_FILE=false
199+
# If save-impact-to-file is enabled, automatically enable show-impact-analysis (like --save-impact flag does)
200+
[ "$YAML_SAVE_IMPACT_TO_FILE" = "true" ] && SHOW_IMPACT_ANALYSIS=true
199201
[ "$YAML_VERBOSE" = "true" ] && VERBOSE=true || VERBOSE=false
200202
[ "$YAML_DEBUG" = "true" ] && DEBUG=true || DEBUG=false
201203

bin/i18n/ar.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(لا شيء)',
3333
'conflicts_with' => 'يتعارض مع:',
3434
'package_abandoned' => 'الحزمة مهجورة',
35+
'abandoned_packages_section' => 'تم العثور على حزم مهجورة:',
36+
'all_installed_abandoned_section' => 'جميع الحزم المهجورة المثبتة:',
3537
'replaced_by' => 'استبدلت بـ: %s',
3638
'alternative_solutions' => 'حلول بديلة:',
3739
'compatible_with_conflicts' => 'متوافق مع التبعيات المتعارضة',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ التحقق من تعارضات التبعيات...',
6567
'checking_abandoned_packages' => '⏳ التحقق من الحزم المهجورة...',
68+
'checking_all_abandoned_packages' => '⏳ التحقق من جميع الحزم المثبتة للحالة المهجورة...',
6669
'searching_fallback_versions' => '⏳ البحث عن إصدارات احتياطية...',
6770
'searching_alternative_packages' => '⏳ البحث عن حزم بديلة...',
6871
'checking_maintainer_info' => '⏳ التحقق من معلومات المطور...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'تحليل التأثير: تحديث {package} إلى {version} سيؤثر على:',
75+
'impact_analysis_saved' => '✅ تم حفظ تحليل التأثير في: %s',
7276
'found_outdated_packages' => 'تم العثور على %d حزمة قديمة',
7377
];
7478

bin/i18n/bg.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(няма)',
3333
'conflicts_with' => 'конфликтира с:',
3434
'package_abandoned' => 'Пакетът е изоставен',
35+
'abandoned_packages_section' => 'Намерени изоставени пакети:',
36+
'all_installed_abandoned_section' => 'Всички инсталирани изоставени пакети:',
3537
'replaced_by' => 'заменен с: %s',
3638
'alternative_solutions' => 'Алтернативни решения:',
3739
'compatible_with_conflicts' => 'съвместим с конфликтни зависимости',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Проверка на конфликти на зависимости...',
6567
'checking_abandoned_packages' => '⏳ Проверка на изоставени пакети...',
68+
'checking_all_abandoned_packages' => '⏳ Проверка на всички инсталирани пакети за изоставен статус...',
6669
'searching_fallback_versions' => '⏳ Търсене на резервни версии...',
6770
'searching_alternative_packages' => '⏳ Търсене на алтернативни пакети...',
6871
'checking_maintainer_info' => '⏳ Проверка на информация за поддръжка...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Анализ на въздействието: Актуализирането на {package} до {version} ще засегне:',
75+
'impact_analysis_saved' => '✅ Анализ на въздействието запазен в: %s',
7276
'found_outdated_packages' => 'Намерени %d остарели пакета',
7377
];
7478

bin/i18n/cs.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(žádné)',
3333
'conflicts_with' => 'konfliktuje s:',
3434
'package_abandoned' => 'Balíček je opuštěn',
35+
'abandoned_packages_section' => 'Nalezeny opuštěné balíčky:',
36+
'all_installed_abandoned_section' => 'Všechny nainstalované opuštěné balíčky:',
3537
'replaced_by' => 'nahrazen: %s',
3638
'alternative_solutions' => 'Alternativní řešení:',
3739
'compatible_with_conflicts' => 'kompatibilní s konfliktními závislostmi',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Kontrola konfliktů závislostí...',
6567
'checking_abandoned_packages' => '⏳ Kontrola opuštěných balíčků...',
68+
'checking_all_abandoned_packages' => '⏳ Kontrola všech nainstalovaných balíčků na opuštěný stav...',
6669
'searching_fallback_versions' => '⏳ Vyhledávání záložních verzí...',
6770
'searching_alternative_packages' => '⏳ Vyhledávání alternativních balíčků...',
6871
'checking_maintainer_info' => '⏳ Kontrola informací o správci...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Analýza dopadu: Aktualizace {package} na {version} by ovlivnila:',
75+
'impact_analysis_saved' => '✅ Analýza dopadu uložena do: %s',
7276
'found_outdated_packages' => 'Nalezeno %d zastaralých balíčků',
7377
];
7478

bin/i18n/da.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(ingen)',
3333
'conflicts_with' => 'konflikt med:',
3434
'package_abandoned' => 'Pakken er forladt',
35+
'abandoned_packages_section' => 'Forladte pakker fundet:',
36+
'all_installed_abandoned_section' => 'Alle installerede forladte pakker:',
3537
'replaced_by' => 'erstattet af: %s',
3638
'alternative_solutions' => 'Alternative løsninger:',
3739
'compatible_with_conflicts' => 'kompatibel med konflikterende afhængigheder',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Tjekker afhængighedskonflikter...',
6567
'checking_abandoned_packages' => '⏳ Tjekker forladte pakker...',
68+
'checking_all_abandoned_packages' => '⏳ Tjekker alle installerede pakker for forladt status...',
6669
'searching_fallback_versions' => '⏳ Søger efter fallback-versioner...',
6770
'searching_alternative_packages' => '⏳ Søger efter alternative pakker...',
6871
'checking_maintainer_info' => '⏳ Tjekker maintainer-information...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Påvirkningsanalyse: Opdatering af {package} til {version} ville påvirke:',
75+
'impact_analysis_saved' => '✅ Påvirkningsanalyse gemt i: %s',
7276
'found_outdated_packages' => 'Fundet %d forældede pakker',
7377
];
7478

bin/i18n/de.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(keine)',
3333
'conflicts_with' => 'Konflikt mit:',
3434
'package_abandoned' => 'Paket ist eingestellt',
35+
'abandoned_packages_section' => 'Verlassene Pakete gefunden:',
36+
'all_installed_abandoned_section' => 'Alle installierten verlassenen Pakete:',
3537
'replaced_by' => 'ersetzt durch: %s',
3638
'alternative_solutions' => 'Alternative Lösungen:',
3739
'compatible_with_conflicts' => 'kompatibel mit widersprüchlichen Abhängigkeiten',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Überprüfung von Abhängigkeitskonflikten...',
6567
'checking_abandoned_packages' => '⏳ Überprüfung auf eingestellte Pakete...',
68+
'checking_all_abandoned_packages' => '⏳ Überprüfung aller installierten Pakete auf eingestellten Status...',
6669
'searching_fallback_versions' => '⏳ Suche nach Fallback-Versionen...',
6770
'searching_alternative_packages' => '⏳ Suche nach alternativen Paketen...',
6871
'checking_maintainer_info' => '⏳ Überprüfung der Maintainer-Informationen...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Auswirkungsanalyse: Aktualisierung von {package} auf {version} würde beeinflussen:',
75+
'impact_analysis_saved' => '✅ Auswirkungsanalyse gespeichert in: %s',
7276
'found_outdated_packages' => '%d veraltete Paket(e) gefunden',
7377
];
7478

bin/i18n/el.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(κανένα)',
3333
'conflicts_with' => 'σύγκρουση με:',
3434
'package_abandoned' => 'Το πακέτο έχει εγκαταλειφθεί',
35+
'abandoned_packages_section' => 'Βρέθηκαν εγκαταλελειμμένα πακέτα:',
36+
'all_installed_abandoned_section' => 'Όλα τα εγκατεστημένα εγκαταλελειμμένα πακέτα:',
3537
'replaced_by' => 'αντικαταστάθηκε από: %s',
3638
'alternative_solutions' => 'Εναλλακτικές λύσεις:',
3739
'compatible_with_conflicts' => 'συμβατό με συγκρουόμενες εξαρτήσεις',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Έλεγχος συγκρούσεων εξαρτήσεων...',
6567
'checking_abandoned_packages' => '⏳ Έλεγχος εγκαταλελειμμένων πακέτων...',
68+
'checking_all_abandoned_packages' => '⏳ Έλεγχος όλων των εγκατεστημένων πακέτων για εγκαταλελειμμένη κατάσταση...',
6669
'searching_fallback_versions' => '⏳ Αναζήτηση εφεδρικών εκδόσεων...',
6770
'searching_alternative_packages' => '⏳ Αναζήτηση εναλλακτικών πακέτων...',
6871
'checking_maintainer_info' => '⏳ Έλεγχος πληροφοριών συντηρητή...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Ανάλυση αντίκτυπου: Η ενημέρωση του {package} στην {version} θα επηρέαζε:',
75+
'impact_analysis_saved' => '✅ Ανάλυση αντίκτυπου αποθηκεύτηκε σε: %s',
7276
'found_outdated_packages' => 'Βρέθηκαν %d ξεπερασμένα πακέτα',
7377
];
7478

bin/i18n/en.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/**
33
* English translations (default)
4-
*
4+
*
55
* @package ComposerUpdateHelper
66
* @subpackage i18n
77
*/
@@ -13,13 +13,13 @@
1313
'all_have_conflicts' => 'all outdated packages have dependency conflicts',
1414
'all_ignored' => 'all outdated packages are ignored',
1515
'all_ignored_or_conflicts' => 'all outdated packages are ignored or have dependency conflicts',
16-
16+
1717
// Commands
1818
'suggested_commands' => 'Suggested commands:',
1919
'suggested_commands_conflicts' => 'Suggested commands to resolve dependency conflicts:',
2020
'includes_transitive' => '(Includes transitive dependencies needed to resolve conflicts)',
2121
'update_transitive_first' => '(Update these transitive dependencies first, then retry updating the filtered packages)',
22-
22+
2323
// Framework and packages
2424
'detected_framework' => 'Detected framework constraints:',
2525
'ignored_packages_prod' => 'Ignored packages (prod):',
@@ -32,13 +32,15 @@
3232
'none' => '(none)',
3333
'conflicts_with' => 'conflicts with:',
3434
'package_abandoned' => 'Package is abandoned',
35+
'abandoned_packages_section' => 'Abandoned packages found:',
36+
'all_installed_abandoned_section' => 'All abandoned packages installed:',
3537
'replaced_by' => 'replaced by: %s',
3638
'alternative_solutions' => 'Alternative solutions:',
3739
'compatible_with_conflicts' => 'compatible with conflicting dependencies',
3840
'alternative_packages' => 'Alternative packages:',
3941
'recommended_replacement' => 'recommended replacement',
4042
'similar_functionality' => 'similar functionality',
41-
43+
4244
// Debug messages
4345
'debug_show_release_info' => 'showReleaseInfo = %s',
4446
'debug_check_dependencies' => 'checkDependencies = %s',
@@ -54,22 +56,24 @@
5456
'debug_action_skipped' => 'Action: SKIPPED (no compatible version found due to dependency constraints)',
5557
'debug_action_added' => 'Action: ADDED to %s dependencies: %s',
5658
'debug_no_compatible_version' => 'No compatible version found for %s (proposed: %s)',
57-
59+
5860
// Release info
5961
'release_info' => 'Release Information',
6062
'release_changelog' => 'Changelog',
6163
'release_view_on_github' => 'View on GitHub',
62-
64+
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Checking dependency conflicts...',
6567
'checking_abandoned_packages' => '⏳ Checking for abandoned packages...',
68+
'checking_all_abandoned_packages' => '⏳ Checking all installed packages for abandoned status...',
6669
'searching_fallback_versions' => '⏳ Searching for fallback versions...',
6770
'searching_alternative_packages' => '⏳ Searching for alternative packages...',
6871
'checking_maintainer_info' => '⏳ Checking maintainer information...',
69-
72+
7073
// Impact analysis
7174
'impact_analysis' => 'Impact analysis: Updating {package} to {version} would affect:',
72-
75+
'impact_analysis_saved' => '✅ Impact analysis saved to: %s',
76+
7377
// Package count
7478
'found_outdated_packages' => 'Found %d outdated package(s)',
7579
];

bin/i18n/es.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(ninguno)',
3333
'conflicts_with' => 'conflicta con:',
3434
'package_abandoned' => 'El paquete está abandonado',
35+
'abandoned_packages_section' => 'Paquetes abandonados encontrados:',
36+
'all_installed_abandoned_section' => 'Todos los paquetes abandonados instalados:',
3537
'replaced_by' => 'reemplazado por: %s',
3638
'alternative_solutions' => 'Soluciones alternativas:',
3739
'compatible_with_conflicts' => 'compatible con dependencias en conflicto',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Verificando conflictos de dependencias...',
6567
'checking_abandoned_packages' => '⏳ Verificando paquetes abandonados...',
68+
'checking_all_abandoned_packages' => '⏳ Verificando todos los paquetes instalados para estado de abandono...',
6669
'searching_fallback_versions' => '⏳ Buscando versiones fallback...',
6770
'searching_alternative_packages' => '⏳ Buscando paquetes alternativos...',
6871
'checking_maintainer_info' => '⏳ Verificando información de mantenedores...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Análisis de impacto: Actualizar {package} a {version} afectaría a:',
75+
'impact_analysis_saved' => '✅ Análisis de impacto guardado en: %s',
7276

7377
// Package count
7478
'found_outdated_packages' => 'Se encontraron %d paquete(s) desactualizado(s)',

bin/i18n/fi.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
'none' => '(ei mitään)',
3333
'conflicts_with' => 'konfliktoi:',
3434
'package_abandoned' => 'Paketti on hylätty',
35+
'abandoned_packages_section' => 'Hylätyt paketit löydetty:',
36+
'all_installed_abandoned_section' => 'Kaikki asennetut hylätyt paketit:',
3537
'replaced_by' => 'korvattu: %s',
3638
'alternative_solutions' => 'Vaihtoehtoiset ratkaisut:',
3739
'compatible_with_conflicts' => 'yhteensopiva ristiriitaisten riippuvuuksien kanssa',
@@ -63,12 +65,14 @@
6365
// Progress messages
6466
'checking_dependency_conflicts' => '⏳ Tarkistetaan riippuvuuskonflikteja...',
6567
'checking_abandoned_packages' => '⏳ Tarkistetaan hylättyjä paketteja...',
68+
'checking_all_abandoned_packages' => '⏳ Tarkistetaan kaikki asennetut paketit hylättyä tilaa varten...',
6669
'searching_fallback_versions' => '⏳ Etsitään varaversioita...',
6770
'searching_alternative_packages' => '⏳ Etsitään vaihtoehtoisia paketteja...',
6871
'checking_maintainer_info' => '⏳ Tarkistetaan ylläpitäjätietoja...',
6972

7073
// Impact analysis
7174
'impact_analysis' => 'Vaikutusanalyysi: {package} päivittäminen versioon {version} vaikuttaisi:',
75+
'impact_analysis_saved' => '✅ Vaikutusanalyysi tallennettu: %s',
7276
'found_outdated_packages' => 'Löydettiin %d vanhentunutta pakettia',
7377
];
7478

0 commit comments

Comments
 (0)