node.js requiere modules en diferentes puntos de tag git

Estoy desarrollando una aplicación express node.js junto con varios node_modules privados.

Me gustaría exponer a mis usuarios a diferentes versiones de estos modules mediante el uso de tags git. ¿Es esta una idea sensata, y existe una forma igualmente sensata de hacer esto detectando automáticamente las tags y requiriendo los modules en cada una de esas references de label git?

Quizás algo como 'git-helpers' podría existir? (el código es coffeescript)

git = require('git-helpers?').dir('./node_modules/module/') tags = git.getGitTags() modules = [] for tag in tags git.requireAtGitTag tag, (err, res) -> modules.push {version: tag, module: res} 

entonces la variable de los modules se vería algo como esto

 [ { version: "0.8", module: requinetworking_module_here_at_tag}, { version: "0.9", module: requinetworking_module_here_at_tag}, { version: "1.0", module: requinetworking_module_here_at_tag} ] 

Editar

Se me ocurrió una idea al usar un contenedor git cli node.js llamado Gift . ¿Es esta una forma sensata de hacerlo?

 gift = require("gift") repo = gift("./node_modules/moduleA") modules = [] repo.tags (err, tags) -> for tag in tags repo.checkout tag.name, (err, a) -> modules.push version: tag.name module: require("./node_modules/moduleA") 

La mejor manera de crear algo como esto es usar npm: las URL de Git como dependencies

ejemplo package.json en su carpeta de aplicaciones:

 { "name": "foobar", "version": "0.0.1", "dependencies": { "library": "git://example.com/user/project.git#tag_name" } } 

usted puede entonces:

 var library = require('library')