github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/static/semantic/tasks/admin/register.js (about) 1 /******************************* 2 Register PM 3 *******************************/ 4 5 /* 6 Task to register component repos with Package Managers 7 * Registers component with bower 8 * Registers component with NPM 9 */ 10 11 var 12 // node dependencies 13 process = require('child_process'), 14 15 // config 16 release = require('../config/admin/release'), 17 18 // register components and distributions 19 repos = release.distributions.concat(release.components), 20 total = repos.length, 21 index = -1, 22 23 stream, 24 stepRepo 25 ; 26 27 module.exports = function(callback) { 28 29 console.log('Registering repos with package managers'); 30 31 // Do Git commands synchronously per component, to avoid issues 32 stepRepo = function() { 33 index = index + 1; 34 if(index >= total) { 35 callback(); 36 return; 37 } 38 var 39 repo = repos[index].toLowerCase(), 40 outputDirectory = release.outputRoot + repo + '/', 41 exec = process.exec, 42 execSettings = {cwd: outputDirectory}, 43 updateNPM = 'npm publish' 44 ; 45 46 /* Register with NPM */ 47 exec(updateNPM, execSettings, function(err, stdout, stderr) { 48 console.log(err, stdout, stderr); 49 stepRepo(); 50 }); 51 52 }; 53 stepRepo(); 54 }; 55