Server IP : 51.89.169.208 / Your IP : 18.223.33.204 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/opt/cpanel/ea-nodejs20/lib/node_modules/npm/node_modules/libnpmsearch/lib/ |
Upload File : |
'use strict' const npmFetch = require('npm-registry-fetch') module.exports = search function search (query, opts) { return search.stream(query, opts).collect() } search.stream = searchStream function 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 } }, } ) }