git - tag - package json version
¿Cuál es la forma correcta con NPM para empaquetar una versión BUILT de un repositorio de Git bifurcado? (1)
Eso parece similar a karma-runner / karma-jasmine número 38 , no es exactamente la misma biblioteca, sino la misma idea, y problema con adapter.js:
Como
adapter.js
correctamente,adapter.js
generado porgrunt build
.
adpater.js
se coloca solo en el repositorio de npm cuando ejecutamos lagrunt release
.Si desea utilizar su versión de
karma-jasmine
, puede eliminarlib/adapter.js
de.gitignore
.
Así que la opción 2.
Recientemente bifurqué un repositorio de GitHub para solucionar un problema y creé una solicitud de extracción. Mientras espero a que se acepte la solicitud de extracción, he señalado mi package.json
a mi repositorio de bifurcaciones, así:
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}
Sin embargo, resulta que karma-mocha
requiere que se ejecute un paso de compilación para generar lib/adapter.js
, una parte vital del paquete. Este archivo se incluye en .gitignore
, por lo que no existe en el repositorio. El paso de compilación es una tarea que normalmente se ejecuta cuando el paquete se publica en npm, por lo que adapter.js
existe en el módulo npm descargado.
Mi pregunta es la siguiente: ¿cuál es la forma correcta de empaquetar una versión integrada y bifurcada del repositorio para que pueda usarlo como una dependencia? Por lo que sé, tengo las siguientes opciones:
- Cree el repositorio localmente, cree un archivo
.tgz
con los archivos construidos, luego aloje este en algún lugar y apunte mi package.json a ese archivo. - Construye el repositorio localmente, modifica
.gitignore
para permitiradapter.js
, luego presiona a una rama en Github y usa esa rama como mi dependencia.
Cualquiera de estos funcionaría, pero siento que me estoy perdiendo algo. ¿Tiene npm un concepto de paquetes bifurcados? No todos los repositorios de git se pueden usar como una dependencia sin algún tipo de paso de compilación / dist, ¿cuál es la forma aceptada de hacer este tipo de cosas?