O que é um pacote do Composer do tipo composer-installer?

Sep 15 2020

O Composer permite que os usuários criem pacotes que são plug-ins do compositor . Os plug-ins podem se inscrever em eventos emitidos durante o uso regular de um compositor e fazer coisas .

O Composer também permite que os usuários criem classes e objetos que são instaladores do composer . Um instalador do Composer em uma classe que pode instalar arquivos fora da vendorpasta do composer . A maneira de informar ao Composer sobre um instalador é criar um plug-in do composer e, no activatemétodo do plug-in, você instancia um instalador e o adiciona ao gerenciador de instalação do compositor.

Esses são os dois conceitos que entendi lendo os documentos vinculados acima. O que eu não entendo é o que é um tipo de pacote de compositor composer-installer. Não vejo nenhuma menção a isso nos documentos

Parece haver cerca de 115 desses pacotes no registro packagist. Dei uma olhada em um deles e parece ser um pacote que você pode adicionar como um plugin do compositor, mas que o compositor reconhecerá como um instalador. Não estou familiarizado o suficiente com os instaladores do composer para saber se isso está correto ou se há funcionalidades diferentes nesses composer-installerpacotes.

Quais são esses pacotes? Era algum tipo de recurso alfa dos instaladores do compositor que acabou sendo abandonado? Ou este é um recurso futuro? Independentemente disso - os pacotes do tipo composer-installerterão suporte no futuro, ou isso é algum vestígio estranho que é melhor deixar para trás?

Respostas

1 yivi Sep 15 2020 at 15:22

O tipo composer-installerfoi feito para pacotes que implementaram o instalador personalizado.

Atualmente, é recomendado que o tipo desses instaladores personalizados seja definido como composer-plugin, mas costumava ser composer-installer. Imagino que isso tenha mudado na época em que o pacote composer/installersfoi desenvolvido e lançado (o que torna muitos dos antigos instaladores personalizados obsoletos).

O primeiro lançamento oficial do composer/installersfoi em junho de 2014 , e com um pouco de arqueologia digital podemos ver que as mudanças na documentação https://getcomposer.org/doc/articles/custom-installers.mdaconteceram um pouco antes disso:

19 de agosto de 2013

type:composer-installers ainda é recomendado:

6 de setembro de 2013

As mudanças estavam em andamento e, brevemente, foi recomendado definir o tipo para `composer-installer-plugin´:

27 de setembro de 2013

Já temos a composer-pluginrecomendação atual , que não mudou desde:


tldr;

Esqueça composer-installers, esse tipo não é usado há algum tempo. Uma boa parte desses 115 pacotes provavelmente está abandonada. O tipo deve-se usar para instaladores personalizados é, e tem sido por alguns anos: composer-plugin.