Composer 2 vs. Composer 1

Scopriamo tutte le funzionalità e i vantaggi della nuova versione di Composer.

Composer 2 vs. Composer 1

Una nuova versione per Composer

Composer, il noto gestore di dipendenze per PHP, a otto anni dal suo rilascio si mostra nella versione 2.
Nel corso degli anni, Composer ha aggiunto molte nuove funzionalità e si è tenuto al passo con gli standard PHP.
In questo articolo analizziamo le funzionalità ed i vantaggi introdotti dalla nuova versione.

Tutte le novità di Composer 2

La lista dei miglioramenti introdotti in questa versione 2 è disponibile qui in maniera dettagliata e completa.
Primo tra tutti, abbiamo un miglioramento delle performance generali. Possiamo affermare che sia stato revisionato praticamente tutto, dal protocollo utilizzato tra Composer e packagist.org alla risoluzione delle dipendenze, incluso il download di file in parallelo con l'utilizzo di curl, abbandonando di fatto il pacchetto hirak/prestissimo.
Questo porta a enormi miglioramenti sia in termini di velocità che di utilizzo della memoria.
Nel caso in cui si esegua composer2 in un ambiente sul quale non sia presente culr viene effettuato un downgrade perdendo di fatto la possibilità di download parallelo.
Piccola nota a margine, i rispettivi require/remove e aggiornamenti parziali sono ora molto più veloci perché composer2 ora caricherà solo i metadati dei pacchetti che vengono modificati.

Composer 2

Un'altra feature degna di nota è il run-time platform-check, quando viene inizializzato il vendor/autoload.php controlla che la versione corrente di PHP (e opzionalmente le estensioni) corrisponda a quanto ci si aspetta dalle proprie dipendenze riportate nel platform_check.php.
Questo è abilitato di default, può essere invece disabilitato da CLI con composer config platform-check false oppure inserendo nel composer.json.

composer.json

Oltre a prestissimo in questa nuova versione viene rimosso il supporto per i repository PEAR.
composer v1 aveva il supporto per installare i pacchetti PEAR dai canali PEAR aggiungendo un repo personalizzato con tipo pear.
Per provare la versione 2 di Composer semplicemente con il comando composer self-update --snapshot se si dispone di plugin che non funzionano, possono essere temporaneamente disabilitati con composer --no-plugins.

Composer 2 & Drupal 9

Ma per noi drupalisti vale la pena aggiornare oppure l'obsolescenza può avere un valore?
In tabella vengono messe a confronto entrambe le versioni con e senza cache: qui trovate i riferimenti all'articolo.

Composer 2 vs 1

 

Sei pronto a iniziare a utilizzare Composer 2?

Il nostro gruppo di sviluppatori Hinto® si è già messo all'opera! Se hai qualche dubbio o hai bisogno di ricevere delle informazioni non ti resta che contattarci, siamo pronti ad aiutarti!