Bower es un gestor de dependencias creado por Twitter que se utiliza mucho en aplicaciones web modernas. Hoy voy a hacer un pequeño tutorial sobre cómo publicar una librería Javascript en el registro de Bower. Si has estado hibernando últimamente, o vienes del mundo Java y no sabes lo que es Bower, puede que te interese leer esto: ¿En qué se parecen Yeoman y Maven?

Supongamos que estamos desarrollando una librería Javascript y queremos consumirla en nuestro proyecto a través del gestor de paquetes Bower. Lo que tenemos que hacer es convertir nuestra librería en un paquete y publicarla de la siguiente manera.

bower

¿Cómo crear el archivo bower.json?

El archivo bower.json o manifiesto, es el que se usa para definir un paquete. Para crearlo basta con ir a la raíz de nuestra librería Javascript y ejecutar:


bower init

Esto nos creará un archivo bower.json y a partir de ese momento nuestra librería se ha convertido en un paquete.

Aquí tienes la especificación completa de bower.json para saber qué significa cada atributo y cómo rellenarlo.

¿Y si mi librería Javascript depende de otros paquetes de Bower?

Antes de registrar tu librería Javascript, deberás instalar todas sus dependencias, utilizando alguno de estos dos comandos


bower install package-name --save


bower install package-name --save-dev

El primer comando lo instala como dependencia y el otro como dependencia de desarrollo. Lo que hacen esos comandos es rellenar los objetos dependencies y devDependencies del archivo de manifiesto que define nuestro paquete.

Ojo, si no incluyes –save o –save-dev, las dependencias se instalarán en local, pero no se incluirán en el archivo bower.json

Precauciones antes de comprar un Gremlin publicar una librería Javascript con Bower

Hay 4 requisitos que tu librería Javascript debe cumplir para poder publicarla

  1. El name del paquete debe cumplir con esto
  2. Tiene que existir el archivo de manifiesto
  3. Tu paquete debe usar tags semver de Git. Te puede interesar leer esto si usas Github o la documentación de Git para crear tags
  4. Tu paquete debe estar en un repositorio Git público

¿Cómo publicar una librería Javascript con Bower?

Último paso, si ya cumplimos con los 4 requisitos hay que ejecutar esto:


bower register my-package-name git-endpoint

Por ejemplo

bower register example git://github.com/user/example.git

A partir de ese momento, tu librería Javascript estará disponible como paquete Bower y cualquier lo podrá instalar

¿Cómo instalar un paquete Bower que no está en el registro?

Hay un truco que no todo el mundo sabe y es que puedes instalar un paquete que no aparece en el registro.

Para instalar un paquete que no está en el registro, éste debe cumplir con los 4 requisitos

En este caso, habría que que incluir en el comando install, la URL de un repositorio Git público, por ejemplo:


bower install git://github.com/Leaflet/Leaflet --save

De esta manera, nos incluye en el archivo de manifiesto lo siguiente:


"dependencies": {
"leaflet": "git://github.com/Leaflet/Leaflet#~0.7.3"
}

Y eso es todo. Esta entrada es una adaptación de la documentación oficial para crear paquetes de Bower en inglés. Cualquier duda o sugerencia en los comentarios 🙂