lib/actions.js
function (app, callback) {
    var cozyLight = require('./cozy-light');
    var config = configHelpers.getConfig();
    logger.info('Uninstalling ' + app + '...');
    if (config.apps[app] === undefined) {
      logger.error(app + ' is not installed.');
      nodeHelpers.invoke(callback, true);
    } else {
      var module = config.apps[app].name;
      npmHelpers.uninstall(module, function removeAppFromConfig (err) {
        if (err) {
          logger.raw(err);
          logger.error('npm did not uninstall ' + app + ' correctly.');
          nodeHelpers.invoke(callback, err);
        } else {
          logger.info(app + ' successfully uninstalled.');
          configHelpers.watcher.one(callback);
          configHelpers.removeApp(app);
        }
      });
    }
  }
function (app, callback) {
    var cozyLight = require('./cozy-light');
    var config = configHelpers.getConfig();
    logger.info('Uninstalling ' + app + '...');
    if (config.apps[app] === undefined) {
      logger.error(app + ' is not installed.');
      nodeHelpers.invoke(callback, true);
    } else {
      var module = config.apps[app].name;
      npmHelpers.uninstall(module, function removeAppFromConfig (err) {
        if (err) {
          logger.raw(err);
          logger.error('npm did not uninstall ' + app + ' correctly.');
          nodeHelpers.invoke(callback, err);
        } else {
          logger.info(app + ' successfully uninstalled.');
          configHelpers.watcher.one(callback);
          configHelpers.removeApp(app);
        }
      });
    }
  }
Remove app from config and its source from node module folder.

@param {String} app App to uninstall.
@param {Function} callback Termination.