Dopo il lancio della regola della versione Follow 4D, siamo entusiasti di introdurre un nuovo livello di automazione e affidabilità in 4D 20 R10: la risoluzione delle dipendenze completamente ricorsiva.
Sia che stiate aggiungendo, aggiornando o rimuovendo un componente, il Dependency Manager agisce ora in modo ricorsivo, garantendo che ogni azione intrapresa si rifletta accuratamente nell’intero albero delle dipendenze.
Un’azione, tutte le dipendenze
Quando si aggiunge una dipendenza primaria, da GitHub o da una cartella locale, 4D:
- Carica ricorsivamente tutte le dipendenze che richiede
- applica i vincoli di versione definiti nel file dependencies.json.
Non c’è bisogno di preoccuparsi di pezzi mancanti o di versioni incompatibili: l’intero albero delle dipendenze viene risolto e caricato automaticamente.
Gestione ricorsiva delle versioni
Quando più componenti richiedono versioni diverse della stessa dipendenza:
- Il Dependency Manager controlla gli intervalli richiesti e sceglie una versione che soddisfa tutti i vincoli, quando possibile.
- Se una versione è dichiarata direttamente come dipendenza primaria, essa ha la precedenza sulle versioni richieste indirettamente.
Questo approccio mantiene l’ambiente stabile e coerente, anche quando il progetto cresce.
Un’interfaccia utente che riflette l’intera struttura
L’interfaccia delle dipendenze del progetto è stata aggiornata per evidenziare la natura ricorsiva delle dipendenze del progetto:
- Scheda “Tutti”: Mostra un elenco piatto di tutte le dipendenze (primarie e secondarie) utilizzate nel progetto.
- Scheda “Dichiarate”: Una nuova sezione tra “Tutti” e “Attivi” che elenca solo le dipendenze dichiarate esplicitamente in dependencies.json.
- Le dipendenze secondarie sono chiaramente contrassegnate e quando si passa il mouse su una di esse, un tooltip rivela quali componenti la richiedono. Tutto è trasparente.
Fate un’azione – 4D si occupa di tutto il resto
Ogni modifica apportata, che sia l’aggiunta, la rimozione o l’aggiornamento di un componente, viene ora propagata ricorsivamente attraverso l’intero grafico delle dipendenze.
I vantaggi sono:
- Caricamento automatico delle sottodipendenze necessarie
- Risoluzione intelligente delle versioni con chiare regole di precedenza
- Rimozione sicura con consapevolezza dell’impatto
- Un’interfaccia utente che riflette l’effettiva struttura del progetto
PER GLI SVILUPPATORI DI COMPONENTI
Se state sviluppando i vostri componenti, vi starete chiedendo: come faccio a dichiarare le mie dipendenze? Ogni componente deve includere il proprio file dependencies.json. Questo file specifica le dipendenze necessarie al corretto funzionamento del componente, insieme ai vincoli di versione.
Questo meccanismo funziona sia con le dipendenze locali che con quelle ospitate su GitHub. Tuttavia, per una migliore portabilità e condivisione, l’uso di GitHub è considerato la prassi migliore. Quando si costruisce un componente, assicurarsi che il file dependencies.json sia incluso nel pacchetto finale. Il supporto completo di questa funzione è disponibile a partire da 4D 20 R10. Se si lavora con componenti precedenti, è necessario ricostruirli per sfruttare la risoluzione ricorsiva automatica.
Provatelo subito e sperimentate un modo più intelligente e rapido di gestire le dipendenze e di dedicare meno tempo alla risoluzione dei problemi.

