all files / mlpm/lib/commands/ uninstall.js

100% Statements 24/24
100% Branches 10/10
100% Functions 5/5
100% Lines 20/20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                                 
'use strict'
 
var log = require('winston')
var project = require('../project.js')
var pkgLib = require('../package.js')
 
function deleteDependency(name) {
  project.getConfig(function (err, pkgConfig) {
    if (err) return log.error(err)
 
    project.deleteDependency(pkgConfig, function(err) {
      if (err) return log.error(err)
      log.info('removed ' + name + ' from mlpm.json')
    })
  })
}
 
function uninstall(args) {
  if ( !args.package ) {
    log.error( 'missing required parameter: package name' )
    log.info( uninstall.usage )
    return
  }
 
  pkgLib.uninstall(args.package, function(err) {
    if (err) return log.error(err)
 
    log.info('uninstalled ' + args.package)
 
    if (args.save) deleteDependency(args.package)
  })
}
 
uninstall.usage = 'mlpm uninstall <package> [--save]'
 
module.exports.command = uninstall