johnny-cli
Version:
CLI for Johnny Deps
41 lines (32 loc) • 930 B
JavaScript
// @flow
import _ from 'lodash';
import API from '../API';
import Dll from '../Dll';
import {logError, rebuildAndSync, spawnNpm} from 'helpers';
import JohnnyFile from '../JohnnyFile';
import R from 'ramda';
require('babel-polyfill');
export default async (options: Object) => {
if(options.saveDev) {
process.stdout.write('\x1b[1mUpdating dev dependencies with npm...\x1b[0m');
try {
await spawnNpm(['up', '--save-dev', '--save-exact']);
} catch(error) {
console.log('\n\n' + error);
return;
}
process.stdout.write('\x1b[1m\x1b[32mDone\x1b[0m\n');
return;
}
process.stdout.write('\x1b[1mUpdating dependencies with npm...\x1b[0m');
try {
await spawnNpm(R.filter(Boolean, ['up', '--save-exact']));
} catch(error) {
console.log('\n\n' + error);
return;
}
process.stdout.write('\x1b[1m\x1b[32mDone\x1b[0m\n');
if(!options.save)
return;
await rebuildAndSync({johnnyFile: JohnnyFile()});
}