¿Cómo factorizo ​​un module de nodo (usando git)?

Digamos que tengo un proyecto de nodo simple como este:

/ index.js | package.json | -- mymodules/my-awesome-module.js | -- node_modules 

Digamos también que mientras desarrollaba esta aplicación, noté que mymodules / my-awesome-module.js también sería útil para otros proyectos.

Así que me gustaría restarle importancia, pero también me gustaría continuar mejorando mi module dentro de este proyecto actual de la misma manera que lo he hecho hasta ahora.

Lo que estoy atrapado aquí son dos preguntas:

Primero, ¿cómo logro colocar mi module en un module npm, que todavía es parte de mi tree de proyectos?

En segundo lugar, si lograría lograr eso, ¿cómo lograría convertir ese module en un repository de git separado, también bajo la premisa de mantenerlo en mi tree de proyectos?

Espero que este post sea algo comprensible.

Método 1 (forma fácil): si quiere su file en varios lugares en su sistema de files actual, puede usar enlaces suaves, por ejemplo:

 $> ln -s mymodules/my-awesome-module.js /path-to-my-other-project/my-awesome-module.js 

Si desea utilizar un sistema de control de versiones en ambos proyectos, incluso podría usar enlaces duros (deje la opción -s ).

Atención : si lo haces así, siempre tendrás que considerar que un cambio (tal vez realizado por git) también afectará a todos los demás proyectos que usen este file.

Método 2 (less fácil, pero mejor): podría desarrollar este file en su propio repository git y luego usarlo como un submodule git en todos sus otros repositorys.