lookup.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var Q = require('q');
  2. var RegistryClient = require('bower-registry-client');
  3. var cli = require('../util/cli');
  4. var defaultConfig = require('../config');
  5. function lookup(logger, name, config) {
  6. var registryClient;
  7. config = defaultConfig(config);
  8. config.cache = config.storage.registry;
  9. registryClient = new RegistryClient(config, logger);
  10. return Q.nfcall(registryClient.lookup.bind(registryClient), name)
  11. .then(function (entry) {
  12. // TODO: Handle entry.type.. for now it's only 'alias'
  13. // When we got published packages, this needs to be adjusted
  14. return !entry ? null : {
  15. name: name,
  16. url: entry && entry.url
  17. };
  18. });
  19. }
  20. // -------------------
  21. lookup.line = function (logger, argv) {
  22. var options = cli.readOptions(argv);
  23. var name = options.argv.remain[1];
  24. if (!name) {
  25. return new Q();
  26. } else {
  27. return lookup(logger, name);
  28. }
  29. };
  30. lookup.completion = function () {
  31. // TODO:
  32. };
  33. module.exports = lookup;