UNPKG

yarn-check

Version:

Check for outdated, incorrect, and unused dependencies.

42 lines (31 loc) 1.34 kB
'use strict'; 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;