Nach der Einführung der Follow 4D Version Rule freuen wir uns, in 4D 20 R10 eine neue Stufe der Automatisierung und Zuverlässigkeit einzuführen: die vollständig rekursive Auflösung von Abhängigkeiten.
Egal, ob Sie eine Komponente hinzufügen, aktualisieren oder entfernen, der Dependency Manager arbeitet jetzt rekursiv und stellt sicher, dass jede Aktion, die Sie durchführen, in Ihrem gesamten Abhängigkeitsbaum korrekt wiedergegeben wird.
Eine Aktion, alle Abhängigkeiten
Wenn Sie eine primäre Abhängigkeit hinzufügen, sei es von GitHub oder einem lokalen Ordner, lädt 4D:
- Lädt rekursiv alle benötigten Abhängigkeiten
- Wendet die Versionseinschränkungen an, die in Ihrer dependencies.json definiert sind.
Sie brauchen sich keine Gedanken über fehlende Teile oder inkompatible Versionen zu machen, denn Ihr vollständiger Abhängigkeitsbaum wird automatisch aufgelöst und geladen.
Rekursive Versionsbehandlung
Wenn mehrere Komponenten unterschiedliche Versionen der gleichen Abhängigkeit erfordern:
- Der Dependency Manager prüft die erforderlichen Bereiche und wählt eine Version aus, die nach Möglichkeit alle Einschränkungen erfüllt
- Wenn eine Version direkt als primäre Abhängigkeit deklariert wird, hat diese Version Vorrang vor indirekt benötigten Versionen.
Mit diesem Ansatz bleibt Ihre Umgebung stabil und konsistent, auch wenn Ihr Projekt wächst.
Eine Benutzeroberfläche, die die gesamte Struktur widerspiegelt
Die Oberfläche der Projektabhängigkeiten wurde aktualisiert, um die rekursive Natur der Abhängigkeiten Ihres Projekts zu verdeutlichen:
- Registerkarte „Alle“: Zeigt eine flache Liste aller Abhängigkeiten (sowohl primäre als auch sekundäre), die in Ihrem Projekt verwendet werden.
- Registerkarte „Deklariert“: Ein neuer Abschnitt zwischen „Alle“ und „Aktiv“, der nur die Abhängigkeiten auflistet, die Sie explizit in dependencies.json deklariert haben.
- Sekundäre Abhängigkeiten sind deutlich gekennzeichnet, und wenn Sie mit dem Mauszeiger über eine Abhängigkeit fahren, zeigt ein Tooltip an, welche Komponente(n) sie benötigen. Alles ist transparent.
Eine Aktion – 4D erledigt den Rest
Jede Änderung, die Sie vornehmen, sei es das Hinzufügen, Entfernen oder Aktualisieren einer Komponente, wird nun rekursiv durch Ihren gesamten Abhängigkeitsgraphen propagiert.
Sie profitieren davon:
- Automatisches Laden der erforderlichen Unterabhängigkeiten
- Intelligente Versionsauflösung mit klaren Vorrangregeln
- Sicheres Entfernen mit Bewusstsein für die Auswirkungen
- Eine Benutzeroberfläche, die die tatsächliche Struktur Ihres Projekts widerspiegelt
FÜR KOMPONENTENENTWICKLER
Wenn Sie Ihre eigenen Komponenten entwickeln, fragen Sie sich vielleicht: Wie deklariere ich meine Abhängigkeiten? Jede Komponente muss ihre eigene dependencies.json-Datei enthalten. Diese Datei spezifiziert die Abhängigkeiten, die für das ordnungsgemäße Funktionieren der Komponente erforderlich sind, zusammen mit ihren Versionsbeschränkungen.
Dieser Mechanismus funktioniert sowohl mit lokalen Abhängigkeiten als auch mit Abhängigkeiten, die auf GitHub gehostet werden. Für eine bessere Portabilität und gemeinsame Nutzung wird jedoch die Verwendung von GitHub als beste Praxis angesehen. Wenn Sie eine Komponente erstellen, stellen Sie sicher, dass die Datei dependencies.json im endgültigen Paket enthalten ist. Die volle Unterstützung für diese Funktion ist ab 4D 20 R10 verfügbar. Wenn Sie mit älteren Komponenten arbeiten, müssen Sie diese neu erstellen, um die Vorteile der automatischen rekursiven Auflösung zu nutzen.
Probieren Sie es jetzt aus und erleben Sie eine intelligentere, zeitsparende Art, Ihre Abhängigkeiten zu verwalten und weniger Zeit mit der Fehlersuche zu verbringen.

