File Explorer

/var/lang/lib/node_modules/npm/node_modules/libnpmsearch/lib

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

0 dirs
1 file
index.js1.5 KB · 72 lines
'use strict' const npmFetch = require('npm-registry-fetch') module.exports = searchfunction search (query, opts) {  return search.stream(query, opts).collect()}search.stream = searchStreamfunction searchStream (query, opts = {}) {  opts = {    detailed: false,    limit: 20,    from: 0,    quality: 0.65,    popularity: 0.98,    maintenance: 0.5,    ...opts.opts, // this is to support the cli's --searchopts parameter    ...opts,  }   switch (opts.sortBy) {    case 'optimal': {      opts.quality = 0.65      opts.popularity = 0.98      opts.maintenance = 0.5      break    }    case 'quality': {      opts.quality = 1      opts.popularity = 0      opts.maintenance = 0      break    }    case 'popularity': {      opts.quality = 0      opts.popularity = 1      opts.maintenance = 0      break    }    case 'maintenance': {      opts.quality = 0      opts.popularity = 0      opts.maintenance = 1      break    }  }  return npmFetch.json.stream('/-/v1/search', 'objects.*',    {      ...opts,      query: {        text: Array.isArray(query) ? query.join(' ') : query,        size: opts.limit,        from: opts.from,        quality: opts.quality,        popularity: opts.popularity,        maintenance: opts.maintenance,      },      mapJSON: (obj) => {        if (obj.package.date) {          obj.package.date = new Date(obj.package.date)        }        if (opts.detailed) {          return obj        } else {          return obj.package        }      },    }  )}