Incluyendo una biblioteca de terceros para su proyecto GitHub

¿Es apropiado include una biblioteca Javascript de terceros en su repository GitHub del proyecto que usa esa biblioteca? ¿O es una mejor práctica definir la dependencia y un enlace a ella en los files README? ¿O existen otras mejores prácticas para tratar con las bibliotecas de terceros utilizadas en su proyecto?

¿Es apropiado include una biblioteca de Javascript de terceros?

Puede o no serlo, dependiendo de la licencia de la biblioteca. Por ejemplo, si la biblioteca tiene licencia bajo cualquiera de las licencias MIT, Apache o BSD, generalmente está bien. Si se trata de una licencia GPL, esto generalmente significa que todo su proyecto debe estar bajo GPL. (Descargo de responsabilidad: IANAL)

¿O es una mejor práctica para definir la dependencia

Sí, por las razones anteriores así como por la capacidad de mantenimiento. Si incluye la biblioteca en su repository, no includeá automáticamente correcciones de errores o una versión más nueva.

¿Hay alguna otra mejor práctica para tratar con bibliotecas de terceros?

Sí, para eso están diseñados los gerentes de packages. Los gerentes de packages típicos son npm y bower .

Como ejemplo de uso de bower, su repository github necesita include el file bower.json , así:

{ "name": "mylib", "version": "1.0.0", "main": "path/to/mylib.js", "dependencies": { "<third-party-library>": "<version>", }, } 

Hay más opciones disponibles para administrar dependencies de solo desarrollo, ignorar files al crear una compilation de distribución, etc. Consulte los tutoriales en el enlace anterior.

Una vez que haya hecho esto, puede registrar el package para que otros lo puedan instalar fácilmente, por ejemplo, mediante este command:

 bower install mylib 

Esto instalará automáticamente su código junto con todas las dependencies, como la biblioteca / bibliotecas de terceros que mencionó.

Tenga en count que no estoy abogando por Bower específicamente, es solo un ejemplo que funciona bien con repositorys git.