¿Cómo puedo mejorar los modules npm de terceros para enviar PR en github mientras trabajo en mi aplicación?

Yo diría que todavía soy un principiante con el uso de git y el desarrollo de aplicaciones web. Me he topado con este tema un par de veces y quería preguntarle a la comunidad cuál es la forma preferida de resolverlo. El problema es que digamos que estoy trabajando en una aplicación web MyWebApp que importa algunos modules npm. Digamos que está utilizando un module npm de terceros Module1 . Ahora, necesito un par de funciones en Module1 que no están disponibles ahora mismo, así que quiero agregar esas funciones y enviar un post de correo electrónico una vez que haya terminado. Ahora, generalmente el directory node_modules se incluye en el file .gitignore , por lo que git no realiza un seguimiento de los cambios que realicé directamente en el directory node_modules. Además, tengo que bifurcar un repo del repository Module1 original para poder enviar un PR. Entonces, hago eso y actualizo mi package.json para decir Module1: "username/Module1 y clono el repository ahorquillado en un directory por separado y comienzo a agregar funciones que obtendré cuando lo haga npm update Module1 Aquí es donde el El problema radica en que agregar una nueva característica es un process iterativo, es bastante grande el time de ida y vuelta para agregar algo en el repository clonado, presionar los cambios y luego ejecutar la npm update Module1 solo para descubrir que se perdió una pequeña cosa y el todo la cosa comienza de nuevo.

¿Cómo se las arregla la gente con este problema? ¿Clonan el repository para el Module1 bifurcado en el directory node_modules dentro de la aplicación web? No estoy seguro si eso funcionará. Por favor comparta sus soluciones. ¡Gracias!

Me gusta esta pregunta porque es una inversión a un problema normal en el que las personas intentan usar subtreees de git como una dependencia de proyecto y nunca transfieren confirmaciones al subtree. En su caso, deberían usar un administrador de packages como npm. Tienes el escenario opuesto. En lugar de include estos packages como una dependencia, debe injertarlos en el repository principal del proyecto como un subtree. Luego, puede search fácilmente en Google los pasos para respaldar confirmaciones en el repository de subtreees de su clon de package, y finalmente abrir una request de extracción al proveedor.