Skip to content

Instantly share code, notes, and snippets.

@GiladShoham
Created December 15, 2019 10:43
Show Gist options
  • Save GiladShoham/6955339034fad045b988eeaefb869b8c to your computer and use it in GitHub Desktop.
Save GiladShoham/6955339034fad045b988eeaefb869b8c to your computer and use it in GitHub Desktop.
//IMPORTANT - install this before: npm i child-process-promise --save-dev
/*
put this in your package.json script:
"install-collection": "node install-collection.js"
npm run install-collection <user>.<collection>
*/
const exec = require('child-process-promise').exec;
const args = process.argv;
const remote = args[2];
console.log('remote', remote);
exec(`bit list ${remote} -j`, {}).then(function (result) {
if(!amount) amount = 1;
const list = JSON.parse(result.stdout);
const components = list.map(compToNpmId);
const command = `npm install ${components.join(' ')}`;
installComponents(command);
});
function installComponents(command) {
exec(command)
.then(function (result) {
var stdout = result.stdout;
var stderr = result.stderr;
console.log('stdout: ', stdout);
console.log('stderr: ', stderr);
})
.catch(function (err) {
console.error('ERROR: ', err);
});
}
function compToNpmId(component) {
return bitIdtoNpmId(component.id);
}
function bitIdtoNpmId(bitId) {
const doted = bitId.replace(/\//g, '.');
return `@bit/${doted}`;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment