code: function execList(options) {
    const deferred = Q.defer();
  
    const json = options.json !== false;
    const offline = options.offline !== false;
    const cwd = options.cwd || process.cwd();
    const config = {json, offline, cwd};
  
    bower.commands.list(undefined, config)
        .on('end', (conf) => {
          deferred.resolve(flatten(conf));
        })
        .on('error', (error) => {
          deferred.reject(error);
        });
  
    return deferred.promise;
  }
docs: List all dependencies of a bower package.
  
  @param {Object} options Bower options.
  @return {Promise<Object>} The promise of dependency object.