Estoy trabajando en un proyecto que consta de varios repositorios de git. Hay múltiples microservicios, una interfaz, algunos paquetes npm y contenedores de puerta de enlace, etc.
Como a menudo me encuentro con el problema de que para las nuevas funciones tengo que cambiar el código en varios repositorios, me pierdo en muchas solicitudes de extracción.
Para simplificar esto, estoy pensando en mover los repositorios a un solo monorepo. De hecho, ya combiné algunos de los paquetes de npm en un solo repositorio.
Hasta ahora usaba standard-version
para crear un registro de cambios basado en las confirmaciones de git. Todavía quiero tener un registro de cambios por módulo. Obviamente, esto no funciona fuera de la caja con standard-version
ya que verifica las confirmaciones por repositorio en lugar de por directorio de módulo.
¿Es posible de alguna manera seguir creando un registro de cambios por módulo, por ejemplo, usando solo los mensajes de confirmación donde los archivos en un directorio se vieron afectados o usando alcances en los mensajes de confirmación? ¿Alguna otra idea?
Normalmente, cada módulo tendrá su propia versión, no todos son JS/Node/npm-projects. También está bien si tengo que gestionar la publicación. a mano por módulo.
No sé cómo ha configurado su repositorio porque no ha proporcionado ningún .versionrc
archivo o package.json
ejemplos de archivo, pero hay un --path
opción para standard-version
.
Desde el comando de ayuda:
npx standard-version --help
Tengo esto:
--path Only populate commits made under this path [string]
Entonces puede usar esa opción en su package.json
scripts como un parámetro para su comando de lanzamiento, o agréguelo en su .versionrc
.
Eso debería ser fácil si tiene archivos separados para cada paquete, si tiene un script global, solo debe tener comandos de liberación separados para cada paquete con cada ruta establecida para cada comando.