yarn-check
Version:
Check for outdated, incorrect, and unused dependencies.
42 lines (31 loc) • 1.34 kB
JavaScript
;
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var chalk = require('chalk');
var execa = require('execa');
var ora = require('ora');
function install(packages, currentState) {
if (!packages.length) {
return _promise2.default.resolve(currentState);
}
var installer = currentState.get('installer');
var installGlobal = currentState.get('global') ? ['global'] : [];
var saveExact = currentState.get('saveExact') ? '--exact' : null;
var yarnArgs = installGlobal.concat('add').concat(saveExact).concat(packages).filter(Boolean);
console.log('');
console.log('$ ' + chalk.green(installer) + ' ' + chalk.green(yarnArgs.join(' ')));
var spinner = ora('Installing using ' + chalk.green(installer) + '...');
spinner.enabled = spinner.enabled && currentState.get('spinner');
spinner.start();
return execa(installer, yarnArgs, { cwd: currentState.get('cwd') }).then(function (output) {
spinner.stop();
console.log(output.stdout);
console.log(output.stderr);
return currentState;
}).catch(function (err) {
spinner.stop();
throw err;
});
}
module.exports = install;