Blame view

node_modules/bower/lib/commands/search.js 1.08 KB
2dda2e10   Administrator   generator ignore
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
38
39
  var Q = require('q');
  var PackageRepository = require('../core/PackageRepository');
  var defaultConfig = require('../config');
  var cli = require('../util/cli');
  var createError = require('../util/createError');
  
  function search(logger, name, config) {
      var registryClient;
  
      config = defaultConfig(config);
  
      var repository = new PackageRepository(config, logger);
      var registryClient = repository.getRegistryClient();
  
      if (name) {
          return Q.nfcall(registryClient.search.bind(registryClient), name);
      } else {
          // List all packages when in interactive mode + json enabled, and
          // always when in non-interactive mode
          if (config.interactive && !config.json) {
              throw createError('no parameter to bower search', 'EREADOPTIONS');
          }
  
          return Q.nfcall(registryClient.list.bind(registryClient));
      }
  }
  
  // -------------------
  
  search.readOptions = function (argv) {
      var options = cli.readOptions(argv);
      var terms = options.argv.remain.slice(1);
  
      var name = terms.join(' ');
  
      return [name];
  };
  
  module.exports = search;