¿Cuál es la mejor manera de instalar una biblioteca de terceros en Drupal 8 que no está en packagist?
Por ejemplo, tengo el module Color Field , que puede usar la biblioteca jQuery Simple Color Picker para proporcionar una mejor experiencia de usuario.
La solución más obvia es simplemente agregar la biblioteca manualmente, pero eso no es realmente sostenible.
Mi segunda idea fue agregar el repository de git a mi composer.json, como se muestra a continuación, pero no funciona porque el repository de destino no tiene un file composer.json.
"repositories": [ { "name": "jquery-simple-color", "type": "git", "url": "https://github.com/recurser/jquery-simple-color.git" } ], "require": { "jquery-simple-color/": "1.2.1" }
¿Debo simplemente bifurcar el repository git y agregar un file composer.json allí?
Ha estado en el path correcto, en su composer.json puede crear sus propios "packages", por ejemplo:
"repositories": [ { "type": "package", "package": { "name": "jquery/simplecolor", "version": "1.2.1", "dist": { "url": "https://github.com/recurser/jquery-simple-color/archive/v1.2.1.zip", "type": "zip" }, "type": "drupal-library" } } ]
Y luego includelo a través
"jquery/simplecolor": "1.2.1,
Este es un parche bastante simple, pero requiere algunos processs fuera del repository para que esto funcione.
Creé un ejemplo de recorrido, que consiste en utilizar la biblioteca de solárium de solárium.
Estos son los pasos que seguí:
Ejecuté una installation de Drupal 8 y ejecuté algunas testings sin problema.
He publicado un parche que no debería probarse, pero da una idea de lo que estoy hablando.